M_SPHERE(3)

NAME
M_Sphere - Agar-Math sphere structure

SYNOPSIS

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

DESCRIPTION
The M_Sphere structure describes a sphere in terms of an origin point p and a radius r:

    typedef struct m_sphere {
    	M_Vector3 p;
    	M_Real r;
    } M_Sphere;

INITIALIZATION
M_Sphere M_SphereFromPt(M_Vector p, M_Real r)

M_Sphere M_SphereRead(AG_DataSource *ds)

void M_SphereWrite(AG_DataSource *ds, M_Sphere *S)

M_Sphere M_SPHERE_INITIALIZER(M_Real x, M_Real y, M_Real z, M_Real r)

The M_SphereFromPt() function returns a M_Sphere describing a sphere of radius r centered at point p.

The M_SphereRead() and M_SphereWrite() functions read or write a sphere structure from/to an AG_DataSource(3).

The M_SPHERE_INITIALIZER() macro expands to a static initializer for M_Sphere.

COMPUTATIONS
M_Real M_SpherePointDistance(M_Sphere S, M_Vector3 p)

M_Real M_SphereSurfaceArea(M_Sphere S)

M_Real M_SphereVolume(M_Sphere S)

The M_SpherePointDistance() routine computes the minimal distance between a sphere S and a point p.

M_SphereSurfaceArea() returns the surface area of the sphere. M_SphereVolume() returns the volume of the interior of the sphere.

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