VS:PtPerpCircle
.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix
Description
Returns a point on the circle which is closest to the input point.
FUNCTION PtPerpCircle(
ptX, ptY, ptZ :REAL;
cenPtX, cenPtY, cenPtZ :REAL;
radius :REAL) X, Y, Z :REAL;
def vs.PtPerpCircle(pt, cenPt, radius): return VECTOR
Parameters
ptX, ptY, ptZ REAL cenPtX, cenPtY, cenPtZ REAL radius REAL
Example
PROCEDURE Example; VAR cen_pt, pt, r :VECTOR; startAng, sweepAng, Radius :REAL; PROCEDURE ArcInfo(h :HANDLE; VAR cen_pt :vector; VAR startAng, sweepAng, Radius :REAL); BEGIN Hcenter(h, cen_pt.x, cen_pt.y); GetArc (h, startAng, sweepAng); IF GetType(h) = 6 THEN Radius := Hperim(h) / Deg2Rad(sweepAng) ELSE IF GetType(h) = 89 THEN Radius := 5729.28 / ((100 * Hangle(h)) / Hlength(h)); END; BEGIN CallTool(-205); ArcInfo(FSActLayer, cen_pt, startAng, sweepAng, Radius); CallTool(-221); GetLocPt(FSActLayer, pt.x, pt.y); r := PtPerpCircle(pt, cen_pt, radius); Locus(r.x, r.y); END; RUN(Example);
Version
Availability: from All Versions
This is drop-in function.