mirror of
https://github.com/HandmadeMath/HandmadeMath.git
synced 2025-12-28 23:54:32 +00:00
Commit all this horrible rotation stuff for posterity before I delete it
This commit is contained in:
BIN
example/Axes.blend
Normal file
BIN
example/Axes.blend
Normal file
Binary file not shown.
10
example/Axes.mtl
Normal file
10
example/Axes.mtl
Normal file
@@ -0,0 +1,10 @@
|
||||
# Blender MTL File: 'Axes.blend'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
||||
481
example/Axes.obj
Normal file
481
example/Axes.obj
Normal file
@@ -0,0 +1,481 @@
|
||||
# Blender v2.78 (sub 0) OBJ File: 'Axes.blend'
|
||||
# www.blender.org
|
||||
mtllib Axes.mtl
|
||||
o Cylinder.002_Cylinder
|
||||
v 0.000000 0.080000 -0.000000
|
||||
v 0.000000 0.080000 2.000000
|
||||
v 0.056569 0.056569 -0.000000
|
||||
v 0.056569 0.056569 2.000000
|
||||
v 0.080000 -0.000000 0.000000
|
||||
v 0.080000 0.000000 2.000000
|
||||
v 0.056569 -0.056569 0.000000
|
||||
v 0.056569 -0.056568 2.000000
|
||||
v -0.000000 -0.080000 0.000000
|
||||
v -0.000000 -0.080000 2.000000
|
||||
v -0.056569 -0.056569 0.000000
|
||||
v -0.056569 -0.056568 2.000000
|
||||
v -0.080000 0.000000 -0.000000
|
||||
v -0.080000 0.000000 2.000000
|
||||
v -0.056569 0.056569 -0.000000
|
||||
v -0.056569 0.056569 2.000000
|
||||
v 0.000000 0.233061 1.965651
|
||||
v 0.089189 0.215320 1.965651
|
||||
v 0.164799 0.164799 1.965651
|
||||
v 0.215320 0.089189 1.965651
|
||||
v 0.233061 0.000000 1.965651
|
||||
v 0.000000 0.000000 2.431772
|
||||
v 0.215320 -0.089188 1.965651
|
||||
v 0.164799 -0.164799 1.965651
|
||||
v 0.089189 -0.215320 1.965651
|
||||
v 0.000000 -0.233061 1.965651
|
||||
v -0.089188 -0.215320 1.965651
|
||||
v -0.164799 -0.164799 1.965651
|
||||
v -0.215320 -0.089188 1.965651
|
||||
v -0.233060 0.000000 1.965651
|
||||
v -0.215320 0.089189 1.965651
|
||||
v -0.164799 0.164799 1.965651
|
||||
v -0.089188 0.215320 1.965651
|
||||
vn 0.3827 0.9239 -0.0000
|
||||
vn 0.9239 0.3827 -0.0000
|
||||
vn 0.9239 -0.3827 0.0000
|
||||
vn 0.3827 -0.9239 0.0000
|
||||
vn -0.3827 -0.9239 0.0000
|
||||
vn -0.9239 -0.3827 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn -0.9239 0.3827 -0.0000
|
||||
vn -0.3827 0.9239 -0.0000
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn 0.1752 0.8806 0.4403
|
||||
vn 0.4988 0.7465 0.4403
|
||||
vn 0.7465 0.4988 0.4403
|
||||
vn 0.8806 0.1752 0.4403
|
||||
vn 0.8806 -0.1752 0.4403
|
||||
vn 0.7465 -0.4988 0.4403
|
||||
vn 0.4988 -0.7465 0.4403
|
||||
vn 0.1752 -0.8806 0.4403
|
||||
vn -0.1752 -0.8806 0.4403
|
||||
vn -0.4988 -0.7465 0.4403
|
||||
vn -0.7465 -0.4988 0.4403
|
||||
vn -0.8806 -0.1752 0.4403
|
||||
vn -0.8806 0.1752 0.4403
|
||||
vn -0.7465 0.4988 0.4403
|
||||
vn -0.4988 0.7465 0.4403
|
||||
vn -0.1752 0.8806 0.4403
|
||||
usemtl None
|
||||
s off
|
||||
f 1//1 2//1 4//1 3//1
|
||||
f 3//2 4//2 6//2 5//2
|
||||
f 5//3 6//3 8//3 7//3
|
||||
f 7//4 8//4 10//4 9//4
|
||||
f 9//5 10//5 12//5 11//5
|
||||
f 11//6 12//6 14//6 13//6
|
||||
f 4//7 2//7 16//7 14//7 12//7 10//7 8//7 6//7
|
||||
f 13//8 14//8 16//8 15//8
|
||||
f 15//9 16//9 2//9 1//9
|
||||
f 1//10 3//10 5//10 7//10 9//10 11//10 13//10 15//10
|
||||
f 17//11 22//11 18//11
|
||||
f 18//12 22//12 19//12
|
||||
f 19//13 22//13 20//13
|
||||
f 20//14 22//14 21//14
|
||||
f 21//15 22//15 23//15
|
||||
f 23//16 22//16 24//16
|
||||
f 24//17 22//17 25//17
|
||||
f 25//18 22//18 26//18
|
||||
f 26//19 22//19 27//19
|
||||
f 27//20 22//20 28//20
|
||||
f 28//21 22//21 29//21
|
||||
f 29//22 22//22 30//22
|
||||
f 30//23 22//23 31//23
|
||||
f 31//24 22//24 32//24
|
||||
f 32//25 22//25 33//25
|
||||
f 33//26 22//26 17//26
|
||||
f 17//10 18//10 19//10 20//10 21//10 23//10 24//10 25//10 26//10 27//10 28//10 29//10 30//10 31//10 32//10 33//10
|
||||
o Cylinder.001_Cylinder
|
||||
v 0.000000 0.000000 -0.080000
|
||||
v 0.000000 2.000000 -0.080000
|
||||
v 0.056569 0.000000 -0.056569
|
||||
v 0.056569 2.000000 -0.056569
|
||||
v 0.080000 0.000000 0.000000
|
||||
v 0.080000 2.000000 0.000000
|
||||
v 0.056569 0.000000 0.056569
|
||||
v 0.056569 2.000000 0.056569
|
||||
v -0.000000 0.000000 0.080000
|
||||
v -0.000000 2.000000 0.080000
|
||||
v -0.056569 0.000000 0.056569
|
||||
v -0.056569 2.000000 0.056569
|
||||
v -0.080000 0.000000 -0.000000
|
||||
v -0.080000 2.000000 -0.000000
|
||||
v -0.056569 0.000000 -0.056569
|
||||
v -0.056569 2.000000 -0.056569
|
||||
v 0.000000 1.965651 -0.233061
|
||||
v 0.089189 1.965651 -0.215320
|
||||
v 0.164799 1.965651 -0.164799
|
||||
v 0.215320 1.965651 -0.089188
|
||||
v 0.233061 1.965651 0.000000
|
||||
v 0.000000 2.431772 0.000000
|
||||
v 0.215320 1.965651 0.089188
|
||||
v 0.164799 1.965651 0.164799
|
||||
v 0.089189 1.965651 0.215320
|
||||
v 0.000000 1.965651 0.233061
|
||||
v -0.089188 1.965651 0.215320
|
||||
v -0.164799 1.965651 0.164799
|
||||
v -0.215320 1.965651 0.089188
|
||||
v -0.233060 1.965651 -0.000000
|
||||
v -0.215320 1.965651 -0.089188
|
||||
v -0.164799 1.965651 -0.164799
|
||||
v -0.089188 1.965651 -0.215320
|
||||
vn 0.3827 0.0000 -0.9239
|
||||
vn 0.9239 0.0000 -0.3827
|
||||
vn 0.9239 0.0000 0.3827
|
||||
vn 0.3827 0.0000 0.9239
|
||||
vn -0.3827 0.0000 0.9239
|
||||
vn -0.9239 0.0000 0.3827
|
||||
vn 0.0000 1.0000 -0.0000
|
||||
vn -0.9239 0.0000 -0.3827
|
||||
vn -0.3827 0.0000 -0.9239
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.1752 0.4403 -0.8806
|
||||
vn 0.4988 0.4403 -0.7465
|
||||
vn 0.7465 0.4403 -0.4988
|
||||
vn 0.8806 0.4403 -0.1752
|
||||
vn 0.8806 0.4403 0.1752
|
||||
vn 0.7465 0.4403 0.4988
|
||||
vn 0.4988 0.4403 0.7465
|
||||
vn 0.1752 0.4403 0.8806
|
||||
vn -0.1752 0.4403 0.8806
|
||||
vn -0.4988 0.4403 0.7465
|
||||
vn -0.7465 0.4403 0.4988
|
||||
vn -0.8806 0.4403 0.1752
|
||||
vn -0.8806 0.4403 -0.1752
|
||||
vn -0.7465 0.4403 -0.4988
|
||||
vn -0.4988 0.4403 -0.7465
|
||||
vn -0.1752 0.4403 -0.8806
|
||||
usemtl None
|
||||
s off
|
||||
f 34//27 35//27 37//27 36//27
|
||||
f 36//28 37//28 39//28 38//28
|
||||
f 38//29 39//29 41//29 40//29
|
||||
f 40//30 41//30 43//30 42//30
|
||||
f 42//31 43//31 45//31 44//31
|
||||
f 44//32 45//32 47//32 46//32
|
||||
f 37//33 35//33 49//33 47//33 45//33 43//33 41//33 39//33
|
||||
f 46//34 47//34 49//34 48//34
|
||||
f 48//35 49//35 35//35 34//35
|
||||
f 34//36 36//36 38//36 40//36 42//36 44//36 46//36 48//36
|
||||
f 50//37 55//37 51//37
|
||||
f 51//38 55//38 52//38
|
||||
f 52//39 55//39 53//39
|
||||
f 53//40 55//40 54//40
|
||||
f 54//41 55//41 56//41
|
||||
f 56//42 55//42 57//42
|
||||
f 57//43 55//43 58//43
|
||||
f 58//44 55//44 59//44
|
||||
f 59//45 55//45 60//45
|
||||
f 60//46 55//46 61//46
|
||||
f 61//47 55//47 62//47
|
||||
f 62//48 55//48 63//48
|
||||
f 63//49 55//49 64//49
|
||||
f 64//50 55//50 65//50
|
||||
f 65//51 55//51 66//51
|
||||
f 66//52 55//52 50//52
|
||||
f 50//36 51//36 52//36 53//36 54//36 56//36 57//36 58//36 59//36 60//36 61//36 62//36 63//36 64//36 65//36 66//36
|
||||
o Cylinder
|
||||
v 0.000000 0.000000 -0.080000
|
||||
v 2.000000 0.000000 -0.080000
|
||||
v 0.000000 -0.056569 -0.056569
|
||||
v 2.000000 -0.056568 -0.056569
|
||||
v 0.000000 -0.080000 0.000000
|
||||
v 2.000000 -0.080000 0.000000
|
||||
v 0.000000 -0.056569 0.056569
|
||||
v 2.000000 -0.056568 0.056569
|
||||
v -0.000000 0.000000 0.080000
|
||||
v 2.000000 0.000000 0.080000
|
||||
v -0.000000 0.056569 0.056569
|
||||
v 2.000000 0.056569 0.056569
|
||||
v -0.000000 0.080000 -0.000000
|
||||
v 2.000000 0.080000 -0.000000
|
||||
v -0.000000 0.056569 -0.056569
|
||||
v 2.000000 0.056569 -0.056569
|
||||
v 1.965651 -0.000000 -0.233061
|
||||
v 1.965651 -0.089188 -0.215320
|
||||
v 1.965651 -0.164799 -0.164799
|
||||
v 1.965651 -0.215320 -0.089188
|
||||
v 1.965651 -0.233061 0.000000
|
||||
v 2.431772 0.000000 0.000000
|
||||
v 1.965651 -0.215320 0.089188
|
||||
v 1.965651 -0.164799 0.164799
|
||||
v 1.965651 -0.089188 0.215320
|
||||
v 1.965651 -0.000000 0.233061
|
||||
v 1.965651 0.089188 0.215320
|
||||
v 1.965651 0.164799 0.164799
|
||||
v 1.965651 0.215320 0.089188
|
||||
v 1.965651 0.233061 -0.000000
|
||||
v 1.965651 0.215320 -0.089188
|
||||
v 1.965651 0.164799 -0.164799
|
||||
v 1.965651 0.089188 -0.215320
|
||||
vn 0.0000 -0.3827 -0.9239
|
||||
vn 0.0000 -0.9239 -0.3827
|
||||
vn 0.0000 -0.9239 0.3827
|
||||
vn 0.0000 -0.3827 0.9239
|
||||
vn -0.0000 0.3827 0.9239
|
||||
vn -0.0000 0.9239 0.3827
|
||||
vn 1.0000 -0.0000 0.0000
|
||||
vn -0.0000 0.9239 -0.3827
|
||||
vn -0.0000 0.3827 -0.9239
|
||||
vn -1.0000 -0.0000 0.0000
|
||||
vn 0.4403 -0.1752 -0.8806
|
||||
vn 0.4403 -0.4988 -0.7465
|
||||
vn 0.4403 -0.7465 -0.4988
|
||||
vn 0.4403 -0.8806 -0.1752
|
||||
vn 0.4403 -0.8806 0.1752
|
||||
vn 0.4403 -0.7465 0.4988
|
||||
vn 0.4403 -0.4988 0.7465
|
||||
vn 0.4403 -0.1752 0.8806
|
||||
vn 0.4403 0.1752 0.8806
|
||||
vn 0.4403 0.4988 0.7465
|
||||
vn 0.4403 0.7465 0.4988
|
||||
vn 0.4403 0.8806 0.1752
|
||||
vn 0.4403 0.8806 -0.1752
|
||||
vn 0.4403 0.7465 -0.4988
|
||||
vn 0.4403 0.4988 -0.7465
|
||||
vn 0.4403 0.1752 -0.8806
|
||||
usemtl None
|
||||
s off
|
||||
f 67//53 68//53 70//53 69//53
|
||||
f 69//54 70//54 72//54 71//54
|
||||
f 71//55 72//55 74//55 73//55
|
||||
f 73//56 74//56 76//56 75//56
|
||||
f 75//57 76//57 78//57 77//57
|
||||
f 77//58 78//58 80//58 79//58
|
||||
f 70//59 68//59 82//59 80//59 78//59 76//59 74//59 72//59
|
||||
f 79//60 80//60 82//60 81//60
|
||||
f 81//61 82//61 68//61 67//61
|
||||
f 67//62 69//62 71//62 73//62 75//62 77//62 79//62 81//62
|
||||
f 83//63 88//63 84//63
|
||||
f 84//64 88//64 85//64
|
||||
f 85//65 88//65 86//65
|
||||
f 86//66 88//66 87//66
|
||||
f 87//67 88//67 89//67
|
||||
f 89//68 88//68 90//68
|
||||
f 90//69 88//69 91//69
|
||||
f 91//70 88//70 92//70
|
||||
f 92//71 88//71 93//71
|
||||
f 93//72 88//72 94//72
|
||||
f 94//73 88//73 95//73
|
||||
f 95//74 88//74 96//74
|
||||
f 96//75 88//75 97//75
|
||||
f 97//76 88//76 98//76
|
||||
f 98//77 88//77 99//77
|
||||
f 99//78 88//78 83//78
|
||||
f 83//62 84//62 85//62 86//62 87//62 89//62 90//62 91//62 92//62 93//62 94//62 95//62 96//62 97//62 98//62 99//62
|
||||
o Text.005
|
||||
v 0.778616 0.000000 -3.449000
|
||||
v 0.395616 0.000000 -3.449000
|
||||
v 0.395616 0.000000 -3.369000
|
||||
v 0.623616 0.000000 -3.369000
|
||||
v 0.385616 0.000000 -3.000000
|
||||
v 0.779616 0.000000 -3.000000
|
||||
v 0.779616 0.000000 -3.080000
|
||||
v 0.539616 0.000000 -3.080000
|
||||
v 0.334616 0.000000 -3.267000
|
||||
v 0.091616 0.000000 -3.267000
|
||||
v 0.091616 0.000000 -3.174000
|
||||
v 0.334616 0.000000 -3.174000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 102//79 100//79 101//79
|
||||
f 102//79 103//79 100//79
|
||||
f 103//79 107//79 100//79
|
||||
f 104//79 107//79 103//79
|
||||
f 104//79 106//79 107//79
|
||||
f 104//79 105//79 106//79
|
||||
f 110//79 108//79 109//79
|
||||
f 110//79 111//79 108//79
|
||||
o Text.004
|
||||
v 1.039616 0.000000 2.551000
|
||||
v 0.656616 0.000000 2.551000
|
||||
v 0.656616 0.000000 2.631000
|
||||
v 0.884616 0.000000 2.631000
|
||||
v 0.646616 0.000000 3.000000
|
||||
v 1.040616 0.000000 3.000000
|
||||
v 1.040616 0.000000 2.920000
|
||||
v 0.800616 0.000000 2.920000
|
||||
v 0.302616 0.000000 2.411000
|
||||
v 0.302616 0.000000 2.606000
|
||||
v 0.107616 0.000000 2.606000
|
||||
v 0.107616 0.000000 2.688000
|
||||
v 0.302616 0.000000 2.688000
|
||||
v 0.302616 0.000000 2.883000
|
||||
v 0.384616 0.000000 2.883000
|
||||
v 0.384616 0.000000 2.688000
|
||||
v 0.579616 0.000000 2.688000
|
||||
v 0.579616 0.000000 2.606000
|
||||
v 0.384616 0.000000 2.606000
|
||||
v 0.384616 0.000000 2.411000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 114//80 112//80 113//80
|
||||
f 114//80 115//80 112//80
|
||||
f 115//80 119//80 112//80
|
||||
f 116//80 119//80 115//80
|
||||
f 116//80 118//80 119//80
|
||||
f 116//80 117//80 118//80
|
||||
f 121//80 131//80 120//80
|
||||
f 121//80 130//80 131//80
|
||||
f 123//80 121//80 122//80
|
||||
f 123//80 130//80 121//80
|
||||
f 123//80 129//80 130//80
|
||||
f 123//80 128//80 129//80
|
||||
f 124//81 128//81 123//81
|
||||
f 125//80 127//80 124//80
|
||||
f 127//81 128//81 124//81
|
||||
f 125//80 126//80 127//80
|
||||
o Text.003
|
||||
v 0.812616 -2.551000 -0.000000
|
||||
v 0.712616 -2.551000 -0.000000
|
||||
v 0.596616 -2.804000 -0.000000
|
||||
v 0.475616 -2.551000 -0.000000
|
||||
v 0.374616 -2.551000 -0.000000
|
||||
v 0.548616 -2.904000 -0.000000
|
||||
v 0.395616 -3.230000 0.000000
|
||||
v 0.494616 -3.230000 0.000000
|
||||
v 0.334616 -2.733000 -0.000000
|
||||
v 0.091616 -2.733000 -0.000000
|
||||
v 0.091616 -2.826000 -0.000000
|
||||
v 0.334616 -2.826000 -0.000000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 137//82 135//82 136//82
|
||||
f 137//82 134//82 135//82
|
||||
f 134//82 132//82 133//82
|
||||
f 134//82 139//82 132//82
|
||||
f 137//82 139//82 134//82
|
||||
f 138//82 139//82 137//82
|
||||
f 142//82 140//82 141//82
|
||||
f 142//82 143//82 140//82
|
||||
o Text.002
|
||||
v 1.073616 3.449000 -0.000000
|
||||
v 0.973616 3.449000 -0.000000
|
||||
v 0.857616 3.196000 -0.000000
|
||||
v 0.736616 3.449000 -0.000000
|
||||
v 0.635616 3.449000 -0.000000
|
||||
v 0.809616 3.096000 -0.000000
|
||||
v 0.656616 2.770000 0.000000
|
||||
v 0.755616 2.770000 0.000000
|
||||
v 0.302616 3.589000 -0.000000
|
||||
v 0.302616 3.394000 -0.000000
|
||||
v 0.107616 3.394000 -0.000000
|
||||
v 0.107616 3.312000 -0.000000
|
||||
v 0.302616 3.312000 -0.000000
|
||||
v 0.302616 3.117000 -0.000000
|
||||
v 0.384616 3.117000 -0.000000
|
||||
v 0.384616 3.312000 -0.000000
|
||||
v 0.579616 3.312000 -0.000000
|
||||
v 0.579616 3.394000 -0.000000
|
||||
v 0.384616 3.394000 -0.000000
|
||||
v 0.384616 3.589000 -0.000000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 149//83 147//83 148//83
|
||||
f 149//83 146//83 147//83
|
||||
f 146//83 144//83 145//83
|
||||
f 146//83 151//83 144//83
|
||||
f 149//83 151//83 146//83
|
||||
f 150//83 151//83 149//83
|
||||
f 153//83 163//83 152//83
|
||||
f 153//83 162//83 163//83
|
||||
f 155//83 153//83 154//83
|
||||
f 155//83 162//83 153//83
|
||||
f 155//83 161//83 162//83
|
||||
f 155//83 160//83 161//83
|
||||
f 156//84 160//84 155//84
|
||||
f 157//83 159//83 156//83
|
||||
f 159//83 160//83 156//83
|
||||
f 157//83 158//83 159//83
|
||||
o Text.001
|
||||
v -3.138384 0.000000 -0.449000
|
||||
v -3.252384 0.000000 -0.449000
|
||||
v -3.380384 0.000000 -0.295000
|
||||
v -3.513384 0.000000 -0.449000
|
||||
v -3.625384 0.000000 -0.449000
|
||||
v -3.436384 0.000000 -0.228000
|
||||
v -3.625384 0.000000 0.000000
|
||||
v -3.513384 0.000000 0.000000
|
||||
v -3.380384 0.000000 -0.161000
|
||||
v -3.239384 0.000000 0.000000
|
||||
v -3.125384 0.000000 0.000000
|
||||
v -3.323384 0.000000 -0.228000
|
||||
v -3.665384 0.000000 -0.267000
|
||||
v -3.908384 0.000000 -0.267000
|
||||
v -3.908384 0.000000 -0.174000
|
||||
v -3.665384 0.000000 -0.174000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 169//85 167//85 168//85
|
||||
f 169//85 166//85 167//85
|
||||
f 166//85 164//85 165//85
|
||||
f 166//85 175//85 164//85
|
||||
f 169//85 175//85 166//85
|
||||
f 170//85 175//85 169//85
|
||||
f 170//85 172//85 175//85
|
||||
f 172//85 174//85 175//85
|
||||
f 170//85 171//85 172//85
|
||||
f 173//85 174//85 172//85
|
||||
f 178//85 176//85 177//85
|
||||
f 178//85 179//85 176//85
|
||||
o Text
|
||||
v 4.122616 0.000000 -0.449000
|
||||
v 4.008616 0.000000 -0.449000
|
||||
v 3.880616 0.000000 -0.295000
|
||||
v 3.747616 0.000000 -0.449000
|
||||
v 3.635616 0.000000 -0.449000
|
||||
v 3.824616 0.000000 -0.228000
|
||||
v 3.635616 0.000000 0.000000
|
||||
v 3.747616 0.000000 0.000000
|
||||
v 3.880616 0.000000 -0.161000
|
||||
v 4.021616 0.000000 0.000000
|
||||
v 4.135616 0.000000 0.000000
|
||||
v 3.937616 0.000000 -0.228000
|
||||
v 3.302616 0.000000 -0.589000
|
||||
v 3.302616 0.000000 -0.394000
|
||||
v 3.107616 0.000000 -0.394000
|
||||
v 3.107616 0.000000 -0.312000
|
||||
v 3.302616 0.000000 -0.312000
|
||||
v 3.302616 0.000000 -0.117000
|
||||
v 3.384616 0.000000 -0.117000
|
||||
v 3.384616 0.000000 -0.312000
|
||||
v 3.579616 0.000000 -0.312000
|
||||
v 3.579616 0.000000 -0.394000
|
||||
v 3.384616 0.000000 -0.394000
|
||||
v 3.384616 0.000000 -0.589000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 185//86 183//86 184//86
|
||||
f 185//86 182//86 183//86
|
||||
f 182//86 180//86 181//86
|
||||
f 182//86 191//86 180//86
|
||||
f 185//86 191//86 182//86
|
||||
f 186//86 191//86 185//86
|
||||
f 186//86 188//86 191//86
|
||||
f 188//86 190//86 191//86
|
||||
f 186//86 187//86 188//86
|
||||
f 189//86 190//86 188//86
|
||||
f 193//86 203//86 192//86
|
||||
f 193//86 202//86 203//86
|
||||
f 195//86 193//86 194//86
|
||||
f 195//86 202//86 193//86
|
||||
f 195//86 201//86 202//86
|
||||
f 195//86 200//86 201//86
|
||||
f 196//87 200//87 195//87
|
||||
f 197//86 199//86 196//86
|
||||
f 199//87 200//87 196//87
|
||||
f 197//86 198//86 199//86
|
||||
@@ -147,12 +147,12 @@ public:
|
||||
CubeRenderComponent rc = CubeRenderComponent();
|
||||
|
||||
Cube() {
|
||||
renderComponent = &rc;
|
||||
// renderComponent = &rc;
|
||||
}
|
||||
|
||||
void Tick(float deltaSeconds) override {
|
||||
x += deltaSeconds;
|
||||
position.X = 2.0f * HMM_SINF(x);
|
||||
// position.X = 2.0f * HMM_SINF(x);
|
||||
|
||||
rotation *= HMM_QuaternionFromAxisAngle(HMM_Vec3(0.0f, 1.0f, 0.0f), deltaSeconds * HMM_ToRadians(45.0f));
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
#include "Entity.h"
|
||||
#include "HandmadeMath.h"
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
class FollowCam : public Entity {
|
||||
public:
|
||||
Entity *target;
|
||||
@@ -52,6 +54,58 @@ public:
|
||||
-HMM_ACOSF(HMM_DotVec3(cross, up))
|
||||
);
|
||||
}
|
||||
|
||||
printf("Sort of working:\n");
|
||||
printQuaternion(rotation);
|
||||
printVec4(HMM_QuaternionToMat4(rotation) * HMM_Vec4(1.0f, 0.0f, 0.0f, 0.0f));
|
||||
printMat4(HMM_QuaternionToMat4(rotation));
|
||||
// return;
|
||||
|
||||
hmm_mat4 look = HMM_LookAt(HMM_Vec3(0.0f, 0.0f, 0.0f), HMM_Normalize(target->worldPosition() - worldPosition()), HMM_Vec3(0.0f, 1.0f, 0.0f));
|
||||
rotation = HMM_Mat4ToQuaternion(look);
|
||||
printf("New stuff:\n");
|
||||
printQuaternion(rotation);
|
||||
printVec4(HMM_QuaternionToMat4(rotation) * HMM_Vec4(1.0f, 0.0f, 0.0f, 0.0f));
|
||||
printMat4(HMM_QuaternionToMat4(rotation));
|
||||
// return;
|
||||
|
||||
rotation = HMM_QuaternionFromVectors(HMM_Vec3(0.001462f, -0.449079f, -0.893491f), HMM_Vec3(0.0f, 1.0f, 0.0f));
|
||||
printf("Newer stuff:\n");
|
||||
printQuaternion(rotation);
|
||||
printVec4(HMM_QuaternionToMat4(rotation) * HMM_Vec4(1.0f, 0.0f, 0.0f, 0.0f));
|
||||
printMat4(HMM_QuaternionToMat4(rotation));
|
||||
// return;
|
||||
|
||||
printf("nighttime genius:\n");
|
||||
hmm_vec3 right = HMM_Cross(to, up);
|
||||
hmm_quaternion tiltUp = HMM_QuaternionFromAxisAngle(
|
||||
right,
|
||||
HMM_PI / 2 - HMM_ACosF(HMM_Dot(HMM_Normalize(to), HMM_Normalize(up)))
|
||||
);
|
||||
hmm_vec3 tiltedFwd = (HMM_QuaternionToMat4(tiltUp) * HMM_Vec4v(fwd, 0.0f)).XYZ;
|
||||
hmm_quaternion pointAt = HMM_QuaternionFromAxisAngle(
|
||||
HMM_Cross(right, to),
|
||||
HMM_ACosF(HMM_Dot(HMM_Normalize(tiltedFwd), HMM_Normalize(to)))
|
||||
);
|
||||
rotation = tiltUp * pointAt;
|
||||
printQuaternion(rotation);
|
||||
printVec4(HMM_QuaternionToMat4(rotation) * HMM_Vec4(1.0f, 0.0f, 0.0f, 0.0f));
|
||||
printMat4(HMM_QuaternionToMat4(rotation));
|
||||
// dot products make this bad :(
|
||||
|
||||
// rotate around up vector first?
|
||||
|
||||
// just look, forget the up direction for a bit
|
||||
hmm_quaternion justPointAt = HMM_QuaternionFromAxisAngle(
|
||||
HMM_Cross(fwd, to),
|
||||
HMM_ACosF(HMM_Dot(HMM_Normalize(fwd), HMM_Normalize(to)))
|
||||
);
|
||||
hmm_vec3 newUp = (HMM_QuaternionToMat4(justPointAt) * HMM_Vec4v(up, 0.0f)).XYZ;
|
||||
hmm_quaternion backUpright = HMM_QuaternionFromAxisAngle(
|
||||
to,
|
||||
-HMM_ACosF(HMM_Dot(HMM_Normalize(newUp), HMM_Vec3(0.0f, 1.0f, 0.0f)))
|
||||
);
|
||||
rotation = backUpright * justPointAt;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
26
example/src/debug.h
Normal file
26
example/src/debug.h
Normal file
@@ -0,0 +1,26 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#ifndef DEBUG_H
|
||||
#define DEBUG_H
|
||||
|
||||
#include "HandmadeMath.h"
|
||||
|
||||
void printVec3(hmm_vec3 v) {
|
||||
printf("%f\t%f\t%f\n", v.X, v.Y, v.Z);
|
||||
}
|
||||
|
||||
void printVec4(hmm_vec4 v) {
|
||||
printf("%f\t%f\t%f\t%f\n", v.X, v.Y, v.Z, v.W);
|
||||
}
|
||||
|
||||
void printQuaternion(hmm_quaternion q) {
|
||||
printf("%f\t%f\t%f\t%f\n", q.X, q.Y, q.Z, q.W);
|
||||
}
|
||||
|
||||
void printMat4(hmm_mat4 m) {
|
||||
for (int r = 0; r < 4; r++) {
|
||||
printf("| %f\t%f\t%f\t%f |\n", m[0][r], m[1][r], m[2][r], m[3][r]);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -75,7 +75,7 @@ int main()
|
||||
monkey.renderComponent = new MeshRenderComponent("MonkeySmooth.obj");
|
||||
|
||||
FollowCam cam = FollowCam(&monkey);
|
||||
// cam.position = HMM_Vec3(3.0f, 3.0f, 4.0f);
|
||||
// cam.position = HMM_Vec3(-3.0f, -1.0f, 0.0f);
|
||||
cam.position = HMM_Vec3(3.0f, 3.0f, 5.0f);
|
||||
// cam.rotation = HMM_QuaternionFromAxisAngle(HMM_Vec3(0.0f, 1.0f, 0.0f), HMM_ToRadians(90.0f));
|
||||
|
||||
@@ -90,6 +90,10 @@ int main()
|
||||
root.AddChild(&c1);
|
||||
root.AddChild(&cam);
|
||||
|
||||
Entity axes = Entity();
|
||||
axes.renderComponent = new MeshRenderComponent("Axes.obj");
|
||||
root.AddChild(&axes);
|
||||
|
||||
bool hasTicked = false;
|
||||
high_resolution_clock::time_point lastTickTime;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user