Given a (scroll) curve which is made up, piecewise, of approximately semi-circular arcs:
Find the points on the curve which have horizontal (y), and vertical (z) tangents.
For the example curve, these 11 points are Apex and Nadir points, as well as Left-most and Right-most points.
Is there a script to do this? Or a suggestion for devising a script?
(Some sort of script would be helpful, but is not very important:-)
The midpoint of a chord of the arc, extended to intersect the curve at a point, can approximate the tangent point, and can be a candidate point.
The Tan snaps and the y-axis and z-axis snaps can be used to find the 11 points, by trial and error, by drawing a line segment from an estimated tangent point,
and observing the MoI snap flags near the candidate point, as the line segment is rotated slightly during formation, and the corresponding angle(s) of the line segment when it Snap Flags as Tan.
For example, to find the Apex point at the top of an arch shaped section of the scroll curve, find an estimated candidate point, and draw a line segment from that point, to the left.
When the Tan snap flag appears near the point, if the left end of the line segment is below the horizontal flag indicator (y), the the actual apex tangent point lies Clockwise.
Repeat with new candidate point. The actual apex point can be bracketed on each side, by Clockwise or Counterclockwise corrections. By numerous trial and error, the point which simultaneously displays Tan and y flag, is the Apex point.
The procedure to find Nadir points (horizontal tangent) and Left and Right points with vertical tangents, is similar.
In the attached scroll curve, 4 apex points have already been locate by trial and error, within the tolerance of the MoI Tan and Y flags.
- Brian
I think that two bracket points could be found manually, and entered into a script.
The script would find a point on the curve, midway, arc-length-wise, between the two points.
Perform tangent slope value using existing properties of points on the curve, (MoI version 4 methods), and zero in on the "apex" point. (tangent slope value zero...)
Repeat with the "mid-point", determine CW or CCW, and repeat using the appropriate one of the two bracket points. Such algorithms exist...
|