arcLoop_MP.js is a Multi Process node which produces a planar closed curve made up of arcs and a line for a flat side. It can display circle, ellipse, two sided "lens", and 4 sided "lens" (diamond) shape. It can also have one flat side.
Credits:
Moment of Inspiration 3d cad program (MoI).
This extension node is for nodeeditor v1_rc3 by - Max Smirnov
litegraph.js library (c) Javi Agenjo
http://tamats.com
Translated from mathematica.
Notes:
For trigonometry, the basic unscaled circle is of radius 1.
The closed curve loop is adjusted by a combination of 6 parameters.
radiusAdj adjusts the loop to the desired initial (intermediate) scale.
radius scales the intermediate scaled loop, as desired.
aspect scales the loop along x-axis, (+/-), stretch or shrink.
aspect > 1 causes an increase in ellipticity with a stretch along x-axis.
aspect < 1 also causes an increase in ellipticity with a shrink along x.
aspect = 1 results in 1, 2, or 4 circular arcs, which can include a circle.
radial varies from 0 to 0.99.
radial> 0 tends to make (+/- x) pointy. (Horizontal Lens)
(1-radial), varies from (1 to 0.01).
transverse varies from 0 to 0.99.
transverse > 0 tends to make (+/- y) pointy. (Vertical Lens).
(1-transverse), varies from (1 to 0.01).
flat tends to cause one x vertex side to become flat.
The 2 or 4 "pointy" end "corners" are rounded a little by the curve factory.
-Brian
Added FlatSide property, to move flat to the "Left", rather than to the "Right", by negating "x", if "Left" is chosen in Info window.
To see the change, a flat must be visible.
The value of numpoints, even or odd or magnitude, will have a small effect on the roundness of "corners".