[Closed] Tangent Snap – how it works
Tangent line to circle using Snap to Tangent.
Wikipedia says that:
tangent line to a circle is a line that touches the circle at exactly one point
and
the tangent line to a circle at a point P is perpendicular to the radius to that point
In 3dsMax I’ve created:
- a circle with radius 100 units and a center point at [0,0,0]
- a line with two points at [250,0,0] and [200,0,0]
Using Snap to Tangent:
-
circle Steps interpolation = 6. The point that Tangent Snap shows me forms an angle of 86 deg. Yellow lines in the image below.
-
circle Steps Interpolation = 100. The point that Tangent Snap shows me forms an angle of 91 deg. Red lines in the image below.
-
using Autocad with the same scene setup(circle with R=100). The point that Autocad’s Tangent Snap shows forms an angle of 89.998 deg. Yellow lines in the image below.
When the Interpolation Steps is set to 6 the tangent point touches the circle:
When the Interpolation Steps is set to 100 the tangent point touches the circle:
When I use the tangent point calculated by Autocad it not touches the circle:
3dsMax
Autocad
I think that Snap to Tangent in 3dsMax uses the closest to 90 deg angle.
I can’t find the SDK code for tangent snapping. Did someone knows how exactly the Snap To Tangent in 3dsMax works?
Me too, but I am curious why the 3dsMax tangent snap is so inacurate.
Also, I am curious how the tangent snap works for curved splines that are not circles.
you have to find someone who uses this snap and ask him how it works. (and please tell us :))
because nobody asked to make it more accurate. because no one has used it probably.
I haven’t worked either with this snap (in fact, I have never worked with MAX), but I think their solution is the better one as a circle in Max is not a circle but a polygon.
The tangent must touch the polygon in ONLY one point, so the only way is to pass trough a vertex.
Any other solution will mean the tangent not touching the polygon or the tangent cutting the polygon in two points.
But the tangent must be perpendicular to the radius in the tangent point.
If you draw a circle in 3dsmax then print it on paper, then draw a circle over the printed circle the tangent point will touch the drawed by you circle.
If you increase the steps interpolation of the circle, the tangent, calculated when the steps value is 6 may intersect the circle when steps value is 100.
The tangent in Autocad do not cross the circle, its just not touching it, but it is a real tangent. Since Autocad is software used by architects I prefere to use the Autocad’s way, but most propably I will allows the user to pick which way they want to use.