Skip to content

Need to Update geometry_en.pdf for point extouch (side to side) & Clarify Type Cast #7

@absinthez

Description

@absinthez

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.

Image

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:

Image

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions