aboutsummaryrefslogtreecommitdiff
path: root/geometry.h
diff options
context:
space:
mode:
Diffstat (limited to 'geometry.h')
-rw-r--r--geometry.h110
1 files changed, 0 insertions, 110 deletions
diff --git a/geometry.h b/geometry.h
deleted file mode 100644
index 0e4f748..0000000
--- a/geometry.h
+++ /dev/null
@@ -1,110 +0,0 @@
-#define DEG 0.01745329251994330 /* π/180 */
-
-typedef struct Point2 Point2;
-typedef struct Point3 Point3;
-typedef double Matrix[3][3];
-typedef double Matrix3[4][4];
-typedef struct Quaternion Quaternion;
-typedef struct RFrame RFrame;
-typedef struct RFrame3 RFrame3;
-typedef struct Triangle3 Triangle3;
-
-struct Point2 {
- double x, y, w;
-};
-
-struct Point3 {
- double x, y, z, w;
-};
-
-struct Quaternion {
- double r, i, j, k;
-};
-
-struct RFrame {
- Point2 p;
- Point2 bx, by;
-};
-
-struct RFrame3 {
- Point3 p;
- Point3 bx, by, bz;
-};
-
-struct Triangle3 {
- Point3 p0, p1, p2;
-};
-
-/* Point2 */
-Point2 Pt2(double, double, double);
-Point2 Vec2(double, double);
-Point2 addpt2(Point2, Point2);
-Point2 subpt2(Point2, Point2);
-Point2 mulpt2(Point2, double);
-Point2 divpt2(Point2, double);
-Point2 lerp2(Point2, Point2, double);
-double dotvec2(Point2, Point2);
-double vec2len(Point2);
-Point2 normvec2(Point2);
-
-/* Point3 */
-Point3 Pt3(double, double, double, double);
-Point3 Vec3(double, double, double);
-Point3 addpt3(Point3, Point3);
-Point3 subpt3(Point3, Point3);
-Point3 mulpt3(Point3, double);
-Point3 divpt3(Point3, double);
-Point3 lerp3(Point3, Point3, double);
-double dotvec3(Point3, Point3);
-Point3 crossvec3(Point3, Point3);
-double vec3len(Point3);
-Point3 normvec3(Point3);
-
-/* Matrix */
-void identity(Matrix);
-void addm(Matrix, Matrix);
-void subm(Matrix, Matrix);
-void mulm(Matrix, Matrix);
-void smulm(Matrix, double);
-void transposem(Matrix);
-double detm(Matrix);
-double tracem(Matrix);
-void adjm(Matrix);
-void invm(Matrix);
-Point2 xform(Point2, Matrix);
-
-/* Matrix3 */
-void identity3(Matrix3);
-void addm3(Matrix3, Matrix3);
-void subm3(Matrix3, Matrix3);
-void mulm3(Matrix3, Matrix3);
-void smulm3(Matrix3, double);
-void transposem3(Matrix3);
-double detm3(Matrix3);
-double tracem3(Matrix3);
-void adjm3(Matrix3);
-void invm3(Matrix3);
-Point3 xform3(Point3, Matrix3);
-
-/* Quaternion */
-Quaternion Quat(double, double, double, double);
-Quaternion Quatvec(double, Point3);
-Quaternion addq(Quaternion, Quaternion);
-Quaternion subq(Quaternion, Quaternion);
-Quaternion mulq(Quaternion, Quaternion);
-Quaternion smulq(Quaternion, double);
-Quaternion sdivq(Quaternion, double);
-double dotq(Quaternion, Quaternion);
-Quaternion invq(Quaternion);
-double qlen(Quaternion);
-Quaternion normq(Quaternion);
-Point3 qrotate(Point3, Point3, double);
-
-/* RFrame */
-Point2 rframexform(Point2, RFrame);
-Point3 rframexform3(Point3, RFrame3);
-Point2 invrframexform(Point2, RFrame);
-Point3 invrframexform3(Point3, RFrame3);
-
-/* Triangle3 */
-Point3 centroid(Triangle3);