質問編集履歴

8

追記

2016/01/21 05:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -124,6 +124,12 @@
124
124
 
125
125
  以下に至った流れを書きます
126
126
 
127
+ このページに解説されている処理を読み替えながら行っています。
128
+
129
+ http://marupeke296.com/DXG_No16_AttitudeControl.html
130
+
131
+
132
+
127
133
  - SCNNodeのrotationの型がSCNVector4になっている
128
134
 
129
135
  - SCNVector4で目的の第1段階の回転に成功

7

修正

2016/01/21 05:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -126,9 +126,9 @@
126
126
 
127
127
  - SCNNodeのrotationの型がSCNVector4になっている
128
128
 
129
- - SCNVector4で目的の回転に成功(だが理解はできていない)
129
+ - SCNVector4で目的の第1段階の回転に成功
130
130
 
131
- - さらに複数のSCNVector4をMultiplyで合成したい
131
+ - さらに複数のSCNVector4をMultiplyで合成したい(最終目的)
132
132
 
133
133
  - SCNVector4にはMultiplyが実装されていない
134
134
 

6

マークアップ修正

2016/01/16 05:42

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -112,11 +112,15 @@
112
112
 
113
113
  > SCNNodeのリファレンスはちゃんと読んでますか?
114
114
 
115
+
116
+
115
117
  質問当初はあまり理解できていませんでしたが、今は少し理解できるようになりました。
116
118
 
117
119
 
118
120
 
119
121
  > なぜ、SCNQuaternionの話が出てきたのでしょうか?
122
+
123
+
120
124
 
121
125
  以下に至った流れを書きます
122
126
 

5

依頼に関して追記

2016/01/16 05:33

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -99,3 +99,49 @@
99
99
 
100
100
 
101
101
  SCNQuaternionのMultiplyが実装されていないのはこの辺りが背景にあるのか?
102
+
103
+
104
+
105
+
106
+
107
+ 追記3
108
+
109
+ 依頼に関して追記します。
110
+
111
+
112
+
113
+ > SCNNodeのリファレンスはちゃんと読んでますか?
114
+
115
+ 質問当初はあまり理解できていませんでしたが、今は少し理解できるようになりました。
116
+
117
+
118
+
119
+ > なぜ、SCNQuaternionの話が出てきたのでしょうか?
120
+
121
+ 以下に至った流れを書きます
122
+
123
+ - SCNNodeのrotationの型がSCNVector4になっている
124
+
125
+ - SCNVector4で目的の回転に成功(だが理解はできていない)
126
+
127
+ - さらに複数のSCNVector4をMultiplyで合成したい
128
+
129
+ - SCNVector4にはMultiplyが実装されていない
130
+
131
+ - GLKQuaternionにはMultiplyが実装されているのでこちらを使う
132
+
133
+ - GLKQuaternionはどうやって作るのか調べる
134
+
135
+ - GLKVector4とGLKQuaternionは 相互変換不可能?別物では?
136
+
137
+ - では、SCNVector4とSCNQuaternionは相互変換できるのだろうか
138
+
139
+ - SCNVector4とSCNQuaternionは同じもの
140
+
141
+ - Vector4とQuaternionの使い分け基準がわからなくなる
142
+
143
+
144
+
145
+ という感じです。当初の質問からだいぶ離れてしまいましたね。
146
+
147
+ 頃合いを見て解決済にしておきます。

4

記述改善

2016/01/16 05:32

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -76,6 +76,26 @@
76
76
 
77
77
 
78
78
 
79
+ GLKit Frameworkの話になるが、GLKVector4とGLKQuaternionは
80
+
81
+ 相互変換不可能ではないか?
82
+
83
+ GLKQuaternionの定義は以下のようになっている。あくまでGLKVector3とfloatの
84
+
85
+ 構造であってGLKVector4とは関係がないのだ。(たまたまwという名称が一致しただけ)
86
+
87
+ ```swift
88
+
79
- GLKVector4とGLKQuaternionは相互変換不可能ではないか?
89
+ typealias GLKQuaternion = _GLKQuaternion
90
+
91
+ ```
92
+
93
+ ```objective-c
94
+
95
+ union _GLKQuaternion { struct { GLKVector3 v; float s; }; struct { float x, y, z, w; }; float q[4]; } typedef union _GLKQuaternion GLKQuaternion;
96
+
97
+ ```
98
+
99
+
80
100
 
81
101
  SCNQuaternionのMultiplyが実装されていないのはこの辺りが背景にあるのか?

3

追記2

2016/01/15 18:20

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -49,3 +49,33 @@
49
49
  回転軸がx,y,zで回転量がwなのでしょうか。
50
50
 
51
51
  誤りや解説等があればお願いします。
52
+
53
+
54
+
55
+ 追記2
56
+
57
+ 1日調べてようやく分かったような気がします。
58
+
59
+ SCNVector4とSCNQuaternionが同じものであるのは明らかにおかしい気がする。
60
+
61
+ 以下のようになってしまっている。
62
+
63
+ ```swift
64
+
65
+ typedef SCNVector4 SCNQuaternion;
66
+
67
+ ```
68
+
69
+ [SCNQuaternion](https://developer.apple.com/library/mac/documentation/SceneKit/Reference/SceneKit_DataTypes/index.html#//apple_ref/c/tdef/SCNQuaternion)
70
+
71
+
72
+
73
+ 仮にそうするとしても、SCNNodeのrotationの型がSCNQuaternionではなく
74
+
75
+ SCNVector4なのは変だ。
76
+
77
+
78
+
79
+ GLKVector4とGLKQuaternionは相互変換不可能ではないか?
80
+
81
+ SCNQuaternionのMultiplyが実装されていないのはこの辺りが背景にあるのか?

2

追記

2016/01/15 18:06

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -35,3 +35,17 @@
35
35
  違いますでしょうか。
36
36
 
37
37
  (上記の理解で正しければ、例えwが0でも回転するはずですが、しません)
38
+
39
+
40
+
41
+ 追記
42
+
43
+ 一晩経ったら少し理解できた気がしました。
44
+
45
+ 物体の任意の回転は、自由な回転軸と回転量があれば
46
+
47
+ できる気がしました。
48
+
49
+ 回転軸がx,y,zで回転量がwなのでしょうか。
50
+
51
+ 誤りや解説等があればお願いします。

1

タグ変更

2016/01/15 03:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- swiftでSCNNodeを生成し、SCNSceneに表示しているのですが、
1
+ SceneKitでSCNNodeを生成し、SCNSceneに表示しているのですが、
2
2
 
3
3
  回転のさせ方がイマイチわかりません。
4
4