GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
M_TRIANGLE(3) FreeBSD Library Functions Manual M_TRIANGLE(3)

M_TriangleAgar-Math triangle structure

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

The M_Triangle2 structure describes a triangle in R^2 in terms of three lines:

typedef struct m_triangle2 {
	M_Line2 a, b, c;
} M_Triangle2;

Similarly, M_Triangle3 describes a triangle in R^3:

typedef struct m_triangle3 {
	M_Line3 a, b, c;
} M_Triangle3;

M_Triangle2
(M_Line2 L1, M_Line2 L2, M_Line2 L3);


M_Triangle3
(M_Line3 L1, M_Line3 L2, M_Line3 L3);


M_Triangle2
(M_Vector2 a, M_Vector2 b, M_Vector2 c);


M_Triangle3
(M_Vector3 a, M_Vector3 b, M_Vector3 c);


M_Triangle2
(AG_DataSource *ds);


M_Triangle3
(AG_DataSource *ds);


void
(AG_DataSource *ds, M_Triangle2 *T);


void
(AG_DataSource *ds, M_Triangle3 *T);


M_Triangle2
(M_Vector2 a, M_Vector2 b, M_Vector2 c);


M_Triangle3
(M_Vector3 a, M_Vector3 b, M_Vector3 c);

The functions () and M_TriangleFromLines3() return an M_Triangle2 or M_Triangle3 describing a triangle in terms of three lines L1, L2 and L3. The three lines must be non-colinear and their endpoints must coincide.

() and M_TriangleFromPts3() return a triangle in terms of three (non-colinear) points a, b, c.

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

The macros () and M_TRIANGLE3_INITIALIZER() expand to static initializers for M_Triangle2 and M_Triangle3, respectively.

int
M_PointInTriangle2(M_Triangle2 T, M_Vector2 p);

The () routine tests (using barycentric coordinates) whether point p lies within the triangle T and returns 1 if it does, otherwise 0.

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)

The M_Triangle structure first appeared in Agar 1.3.4.

December 21, 2022 Agar 1.7

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.