-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Issue: Missing Documentation for point extouch (side to side) Routine in geometry_en.pdf
Hi there, I noticed an inconsistency between the Asymptote source code geometry.asy and the official documentation geometry_en.pdf , and wanted to report it.
In the documentation file geometry_en.pdf (section: Triangle/Another routines, Page 78), there is mention of the point extouch (side to side) routine.
However, in the source file geometry.asy, there is a mismatch with the documentation: the point extouch (side to side) routine (mentioned in the PDF) is not defined here. Instead, the source code only defines a triangle extouch(side side) routine (note the difference in return type and parameter formatting). Here’s the code snippet for reference:
/*<asyxml><function type="triangle" signature="extouch(side)"><code></asyxml>*/
triangle extouch(side side)
{/*<asyxml></code><documentation>Return the triangle formed by the points of tangency of the triangle referenced by 'side' with its excircles.
One vertex of the returned triangle is on the segment 'side'.</documentation></function></asyxml>*/
triangle t = side.t;
transform p1 = projection((line)t.AB);
transform p2 = projection((line)t.AC);
transform p3 = projection((line)t.BC);
point EP = excenter(side);
return triangle(p3 * EP, p2 * EP, p1 * EP);
}Additionally, I tested with a sample program and found it works as expected. When using dot(extouch(t.BC)), the command successfully marks three tangent points (screenshot attached). I suspect Asymptote might be performing an automatic type cast on the path to enable this functionality, but this behavior isn’t documented either.
Sample working code:
import geometry; size(6cm,0);
triangle t=triangle((-1,0), (2,0), (0,2));
draw(extouch(t.BC),blue); dot(extouch(t.BC));
draw(t); dot(t);Screenshot of the result:
Could the documentation be updated to include details about point extouch (side to side)? It would also help to clarify the automatic type cast behavior (if applicable) for better usability. Thanks for your work on this project!