teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

改行整形

2021/01/15 16:42

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,8 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  [以前の質問](https://teratail.com/questions/213432)において、クォータニオンとベクトルの掛け算に関してもご教示いただいたのですが、
4
- [こちらの質問](https://teratail.com/questions/315139)を拝見して、クォータニオンとベクトルの掛け算を応用すれば、こういった処理もできるのかと、目からウロコだったのですが、
4
+ [こちらの質問](https://teratail.com/questions/315139)を拝見して、クォータニオンとベクトルの掛け算を応用すれば、
5
+ こういった処理もできるのかと、目からウロコだったのですが、
5
6
  コードをパッと見ただけではわからず、自分なりに簡略化したコードを書いて試してみたのですが、
6
7
  その理解が合っているかご教示お願いします。
7
8
 
@@ -43,10 +44,11 @@
43
44
  (このようにイメージしても間違いでなければ、このように覚えたいと思っています)。
44
45
   
45
46
  ・質問2。
47
+  上記試したコードですが、
46
-  上記試したコードですが、まず、「center + radius」が円の中心centerを基点としたradiusの位置ベクトルの位置とイメージできて、
48
+ まず、「center + radius」が円の中心centerを基点としたradiusの位置ベクトルの位置とイメージできて、
47
-  これに、radiusベクトルにrのクォータニオンを掛けた「center + (r * radius)」で、centerから伸びるradiusベクトルをrのクォータニオンで
49
+  これに、radiusベクトルにrのクォータニオンを掛けた「center + (r * radius)」で、
48
- 回転させた位置ベクトルの位置となり、このrのクォータニオンがfor文の中で、
50
+ centerから伸びるradiusベクトルをrのクォータニオンで回転させた位置ベクトルの位置となり、
49
- ワールド軸のY軸の回転に関して0~180度まで回転して変化するので、
51
+ このrのクォータニオンがfor文の中で、ワールド軸のY軸の回転に関して0~180度まで回転して変化するので、
50
52
  上記コードは、centerを円の中心とした、centerを基点としたradiusの位置ベクトルの位置から、
51
53
  コンパスで円を描くように、円の中心角が、ワールド軸のY軸の右ねじ周りに0~180度まで変化する円運動と
52
54
  なっている、という理解で合っていますか?

2

改行整形

2021/01/15 16:42

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -29,11 +29,13 @@
29
29
  ```
30
30
 
31
31
  ・質問1。
32
+ 以前の質問では、クォータニオンとベクトルの掛け算は、
32
- 以前の質問では、クォータニオンとベクトルの掛け算は、「あるベクトルをあるクォータニオンで回した結果」と教わったのですが、
33
+ 「あるベクトルをあるクォータニオンで回した結果」と教わったのですが、
33
34
  ```C#
34
35
  this.transform.rotation * dir
35
36
  ```
37
+ に関しては、
36
- に関しては、「thisのローカル軸を基準に伸びるベクトルdir」というイメージでもおおよそ合っていると教わったので、
38
+ 「thisのローカル軸を基準に伸びるベクトルdir」というイメージでもおおよそ合っていると教わったので、
37
39
  ```C#
38
40
  Quaternion.Euler(0, 0, 0) * dir
39
41
  ```
@@ -46,8 +48,8 @@
46
48
  回転させた位置ベクトルの位置となり、このrのクォータニオンがfor文の中で、
47
49
  ワールド軸のY軸の回転に関して0~180度まで回転して変化するので、
48
50
  上記コードは、centerを円の中心とした、centerを基点としたradiusの位置ベクトルの位置から、
49
- コンパスで円を描くように、円の中心角が、ワールド軸のY軸の右ねじ周りに0~180度まで変化する円運動となっている、
51
+ コンパスで円を描くように、円の中心角が、ワールド軸のY軸の右ねじ周りに0~180度まで変化する円運動と
50
- という理解で合っていますか?
52
+ なっている、という理解で合っていますか?
51
53
 
52
54
  ・質問3。
53
55
   [こちらのサイト](https://virtualcast.jp/blog/2019/11/quaternion/)にoperator overload(オペレーターオーバーロード)という言葉が出てくるのですが、

1

改行で整形

2021/01/15 16:40

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -45,8 +45,9 @@
45
45
   これに、radiusベクトルにrのクォータニオンを掛けた「center + (r * radius)」で、centerから伸びるradiusベクトルをrのクォータニオンで
46
46
  回転させた位置ベクトルの位置となり、このrのクォータニオンがfor文の中で、
47
47
  ワールド軸のY軸の回転に関して0~180度まで回転して変化するので、
48
- 上記コードは、centerを円の中心とした、centerを基点としたradiusの位置ベクトルの位置から、コンパスで円を描くように、
48
+ 上記コードは、centerを円の中心とした、centerを基点としたradiusの位置ベクトルの位置から、
49
- 円の中心角が、ワールド軸のY軸の右ねじ周りに0~180度まで変化する円運動となっている、という理解で合っていますか?
49
+ コンパスでを描くように、円の中心角が、ワールド軸のY軸の右ねじ周りに0~180度まで変化する円運動となっている、
50
+ という理解で合っていますか?
50
51
 
51
52
  ・質問3。
52
53
   [こちらのサイト](https://virtualcast.jp/blog/2019/11/quaternion/)にoperator overload(オペレーターオーバーロード)という言葉が出てくるのですが、