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

FreeBSD Manual Pages

  
 
  

home | help
M_PLANE(3)		    Library Functions Manual		    M_PLANE(3)

NAME
       M_Line -- Agar-Math plane structure

SYNOPSIS
       #include	<agar/core.h>
       #include	<agar/gui.h>
       #include	<agar/math/m.h>

DESCRIPTION
       The M_Plane structure describes a plane in R^3 (Ax+By+Cz+D=0):

       typedef struct m_plane {
	       M_Vector3 n;	       /* Normal vector	*/
	       M_Real d;	       /* Distance to origin */
       } M_Plane;

       The plane satisfies the equation	A(n.x) + B(n.y)	+ C(n.z) = d.

INITIALIZATION
       M_Plane M_PlaneFromPts(M_Vector3	p1, M_Vector p2, M_Vector p3)

       M_Plane M_PlaneFromParallel(M_Plane P, M_Real d)

       M_Plane M_PlaneRead(AG_DataSource *ds)

       void M_PlaneWrite(AG_DataSource *ds, M_Plane *P)

       M_Plane M_PLANE_INITIALIZER(M_Real a, M_Real b, M_Real c, M_Real	d)

       The M_PlaneFromPts() function returns a plane from three	(non-colinear)
       points p1, p2 and p3.  M_PlaneFromParallel() returns the	parallel plane
       at distance d from the specified	plane P.

       The  M_PlaneRead()  and	M_PlaneWrite() functions read or write a plane
       structure from/to an AG_DataSource(3).

       The macro M_PLANE_INITIALIZER() expands to a static initializer	for  a
       M_Plane from the	coefficients of	the plane equation a, b, c, d.

TESTS
       M_Real M_PlaneVectorAngle(M_Plane P, M_Vector3 v)

       The  M_PlaneVectorAngle() function computes the angle between the plane
       and specified vector, in	radians.

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_Line structure first appeared in Agar 1.3.4.

Agar 1.7		       December	21, 2022		    M_PLANE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=M_Plane&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help