瀏覽代碼

Lesson 12.7

Godzil 3 年之前
父節點
當前提交
6d50e27427
共有 2 個文件被更改,包括 13 次插入0 次删除
  1. 2 0
      source/include/vector.h
  2. 11 0
      source/vector.c

+ 2 - 0
source/include/vector.h

@@ -45,6 +45,8 @@ vec3_t vec3AddVectors(vec3_t a, vec3_t b);
 vec3_t vec3SubVectors(vec3_t a, vec3_t b);
 vec3_t vec3ScalarMult(vec3_t a, double s);
 vec3_t vec3ScalarDiv(vec3_t a, double s);
+vec3_t vec3Cross(vec3_t a, vec3_t b);
+
 
 vec3_t vec3RotateX(vec3_t original, double angle);
 vec3_t vec3RotateY(vec3_t original, double angle);

+ 11 - 0
source/vector.c

@@ -70,6 +70,17 @@ vec3_t vec3ScalarDiv(vec3_t a, double s)
     return ret;
 }
 
+vec3_t vec3Cross(vec3_t a, vec3_t b)
+{
+    vec3_t ret =
+    {
+        .x = a.y * b.z - a.z * b.y,
+        .y = a.z * b.x - a.x * b.z,
+        .z = a.x * b.y - a.y * b.x,
+    }
+    return ret;
+}
+
 vec3_t vec3RotateX(vec3_t original, double angle)
 {
     vec3_t ret = {