frommainland / circle-morphing

Interpolations from a circle to a triangle in p5.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Circle Morphing

Computational interpolations from a circle-to-a-square, and circle-to-a-triangle, using p5.js

Morph #06 from Circle to Triangle

References / See Also:

--

Some Ways of Transforming a Circle into a Square

  1. (code) by progressively deleting all points except for the square's corners
  2. (code) by approximating a circle with four Bezier cubic splines and modulating the spline control points
  3. (code) by approximating a circle with four circular arcs whose radii lengthen to infinity
  4. (code) by linearly interpolating points on the circle towards points on the square, along radii of the circle
  5. (code) by progressively moving points evenly sampled along the circle, towards points on the square, resampled at equal intervals, by small random amounts
  6. (code) by treating it as a rounded rect, whose (rounded) corners have a dynamic radius
  7. (code) by treating it as a multisided polygon whose number of sides gradually decreases to four
  8. (code) by gradually flattening the circle on four sides
  9. (code) by gradually shrinking the circle's radius, revealing square corners within
  10. (code) by treating points along the perimeter as a series of springy particles
  11. (code) by considering it as a set of alternating straight lines and arcs in which the arcs shrink while the lines grow
  12. (code) by using a 'superellipse' formula
  13. (code) by progressively subdividing it into a 4-gon, 8-gon, 16-gon, 32-gon, etc., with smooth interpolations.
  14. (code) by abruptly moving points evenly sampled along the circle, towards corresponding points on the square

--

Some Ways of Transforming a Circle into a Triangle

  1. (code) // by sampling a circle into many vertices, and then locally averaging each point with its neighbors, except for the three special corner vertices.
  2. (code) by progressively deleting all points except for the triangle's corners
  3. (code) by approximating a circle with three Bezier cubic splines and modulating the spline control points
  4. (code) by approximating a circle with three circular arcs whose radii lengthen to infinity
  5. (code) by linearly interpolating points on the circle towards points on the triangle, along radii of the circle
  6. (code) by progressively moving points evenly sampled along the circle, towards points on the triangle, resampled at equal intervals, by small random amounts
  7. (code) by treating it as a rounded triangle, whose (rounded) corners have a dynamic radius
  8. (code) by treating it as a multisided polygon whose number of sides gradually decreases to three
  9. (code) by gradually flattening the circle on three sides
  10. (code) by gradually shrinking the circle's radius, revealing triangular corners within
  11. (code) by treating points along the perimeter as a series of springy particles
  12. (code) by considering it as a set of alternating straight lines and arcs in which the arcs shrink while the lines grow
  13. (code) by treating the form as a series of 6 circular arcs, alternatingly with small and large radii
  14. (code) by progressively subdividing it into a 3-gon, 6-gon, 12-gon, 24-gon, etc., with smooth interpolations.

About

Interpolations from a circle to a triangle in p5.js


Languages

Language:JavaScript 100.0%Language:HTML 0.0%