FreeBSD Manual Pages
M_CIRCLE(3) BSD Library Functions Manual M_CIRCLE(3) NAME M_Circle -- Agar-Math circle structure SYNOPSIS #include <agar/math.h> DESCRIPTION The M_Circle2 structure describes a circle in R^2 in terms of an origin point p and radius r: typedef struct m_circle2 { M_Vector2 p; M_Real r; } M_Circle2; Similarly, M_Circle3 describes a circle in R^3: typedef struct m_circle3 { M_Vector3 p; M_Real r; } M_Circle3; INITIALIZATION M_Circle2 M_CircleFromPt(M_Vector2 p, M_Real r) M_Circle2 M_CircleRead2(AG_DataSource *ds) M_Circle3 M_CircleRead3(AG_DataSource *ds) void M_CircleWrite2(AG_DataSource *ds, M_Circle2 *C) void M_CircleWrite3(AG_DataSource *ds, M_Circle3 *C) M_Circle2 M_CIRCLE2_INITIALIZER(M_Real x, M_Real y, M_Real r) M_Circle3 M_CIRCLE3_INITIALIZER(M_Real x, M_Real y, M_Real z, M_Real r) The M_CircleFromPt() function returns a M_Circle2 describing a circle of radius r centered at point p. The M_CircleRead[23]() and M_CircleWrite[23]() functions read or write a circle structure from/to an AG_DataSource(3). The macros M_CIRCLE2_INITIALIZER() and M_CIRCLE3_INITIALIZER() expand to static initializers for M_Circle2 and M_Circle3, respectively. COMPUTATIONS M_Real M_CirclePointDistance2(M_Circle2 C, M_Vector2 p) M_GeomSet2 M_IntersectCircleCircle2(M_Circle2 C1, M_Circle2 C2) M_GeomSet2 M_IntersectCircleLine2(M_Circle2 C, M_Line2 L) The M_CirclePointDistance2() routine computes the minimal distance be- tween a circle C and a point p. M_IntersectCircleCircle2() computes the intersection of two circles in R^2 and returns an M_GeomSet2(3) describing the intersection. The re- turned set may be: +o Two points. +o One point (circles are tangent up to machine precision). +o A circle (circles are equivalent). +o The empty set. The M_IntersectCircleCircle2() function computes the intersection of a circle and a line in R^2. The returned set may be: +o Two points. +o One point (line is tangent up to machine precision). +o The empty set. SEE ALSO AG_DataSource(3), AG_Intro(3), M_Circle(3), M_Geometry(3), M_Plane(3), M_Polygon(3), M_Rectangle(3), M_Sphere(3), M_Triangle(3), M_Vector(3) HISTORY The M_Circle structure first appeared in Agar 1.3.4. BSD July 13, 2009 BSD
NAME | SYNOPSIS | DESCRIPTION | INITIALIZATION | COMPUTATIONS | SEE ALSO | HISTORY
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=M_Circle&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>