Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
M_CIRCLE(3)	       FreeBSD 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.

FreeBSD	13.0			 July 13, 2009			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | INITIALIZATION | COMPUTATIONS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=M_Circle&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help