質問編集履歴

77

書式の改善

2024/01/02 03:55

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -51,10 +51,7 @@
51
51
  dot(n, normalize(-wLightDir))
52
52
 
53
53
  dotの結果は、向きが近ければ近いほど1.0に近づき、向きが反対に近いほど-1.0に近づきます。
54
- 正規化されたベクトル同士の内積は必ず-1.0 ~ 1.0の間に収束されます。
55
54
  1.0に近いと明るく、0.0に近いと暗くなります。
56
-
57
- 求めた内積はclampを施し、0.0 ~ 1.0にクリップします。
58
55
  マイナス部分は光の量を逆に奪ってしまうので、マイナスにならない様にします。
59
56
 
60
57
  だそうです。

76

書式の改善

2024/01/02 03:52

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -46,13 +46,10 @@
46
46
  うまくコードにできませんでした。
47
47
 
48
48
  追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないので追記します。
49
-
50
-
51
-
52
49
  https://qiita.com/yoship1639/items/75505244b6c242d50f71
53
50
 
54
- dot(n, normalize(-wLightDir))は、法線と正規化させたディレクショナルライトの向きの内積を取る処理です。
51
+ dot(n, normalize(-wLightDir))
55
- wLightDirがマイナスなのは法線と逆向きの状態を直すためです。
52
+
56
53
  dotの結果は、向きが近ければ近いほど1.0に近づき、向きが反対に近いほど-1.0に近づきます。
57
54
  正規化されたベクトル同士の内積は必ず-1.0 ~ 1.0の間に収束されます。
58
55
  1.0に近いと明るく、0.0に近いと暗くなります。

75

まとめ

2022/05/17 23:12

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -41,7 +41,7 @@
41
41
 
42
42
 
43
43
 
44
- 間違えてたらすいません。責任とりません。
44
+ 間違えてたらすいません。責任とりません。誤差のようなものがあるようなのと、
45
45
  あと、こちらも責任取りませんが、正規化した法線、V_X/la,V_Y/la,V_Z/laが
46
46
  うまくコードにできませんでした。
47
47
 

74

まとめ

2022/05/17 23:09

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
 
44
44
  間違えてたらすいません。責任とりません。
45
- あと、こちらも責任取りませんが、結果がファイルの法線と同じ値となると思いましたが、なりませんでした。正規化した法線、V_X/la,V_Y/la,V_Z/laの計算途中に間違いあるかもしれません。どこかに誤りがあるかもしれません。
45
+ あと、こちらも責任取りませんが、正規化した法線、V_X/la,V_Y/la,V_Z/laが
46
46
  うまくコードにできませんでした。
47
47
 
48
48
  追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないので追記します。

73

まとめ

2022/05/17 07:26

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -43,33 +43,7 @@
43
43
 
44
44
  間違えてたらすいません。責任とりません。
45
45
  あと、こちらも責任取りませんが、結果がファイルの法線と同じ値となると思いましたが、なりませんでした。正規化した法線、V_X/la,V_Y/la,V_Z/laの計算途中に間違いがあるかもしれません。どこかに誤りがあるかもしれません。
46
-
47
- (私の計算で、vnの数値をみたところ、だいたい小数点第三位までしか正しくなくて4桁目からずれているかんじになった。)
48
- 間違えてるみたいなのでソースコードは削除します。(また自前の計算途中に誤りがある場合使わないでください。)
49
-
50
-
51
-
52
- さらに間違いなのかわからないですけど、
53
- 間違えてたらすいせん。責任とりません。
46
+ くコードにできませんでした
54
-
55
- glNormal3f(x,y,z); glVertex3f(x,y,z);glNormal3f().....と、
56
- すべてのglNormal3f(x,y,z)がglVertex3f(x,y,z);
57
- になってしまい上のようになるので、xyzは同じ値。
58
-
59
- モデルがfの頂点(21217//x,21216//x,20400//x)etc頂点の外積でしたのでほしいのは頂点の値でした。
60
- 頭から直に読みこんでいけば、glNormal3f(x,y,z);glVertex();glNormal3f(x,y,z);glVertex3f();glNormal3f(x,y,z);glVertex3f()で、xyzは違う値で
61
-
62
- いけるかもしれないけど、誤差が大きく間違えてる可能性があるので、それ以上合っているかはやめておく。誤差以前に値が違くてうまくいかなかったです。
63
-
64
- ●の方法を推奨
65
-
66
- ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。
67
-
68
- [参考サイト](https://docs.microsoft.com/ja-jp/windows/win32/opengl/glnormal3f)
69
-
70
-
71
-
72
- glRotatef(angle,x,y,z);で数式はカバーされる。
73
47
 
74
48
  追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないので追記します。
75
49
 

72

まとめ

2022/05/16 09:33

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -59,7 +59,8 @@
59
59
  モデルがfの頂点(21217//x,21216//x,20400//x)etc頂点の外積でしたのでほしいのは頂点の値でした。
60
60
  頭から直に読みこんでいけば、glNormal3f(x,y,z);glVertex();glNormal3f(x,y,z);glVertex3f();glNormal3f(x,y,z);glVertex3f()で、xyzは違う値で
61
61
 
62
- いけるかもしれないけど、誤差が大きく間違えてる可能性があるので、それ以上合っているかはやめておく
62
+ いけるかもしれないけど、誤差が大きく間違えてる可能性があるので、それ以上合っているかはやめておく。誤差以前に値が違くてうまくいかなかったです。
63
+
63
64
  ●の方法を推奨
64
65
 
65
66
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。

71

まとめ

2022/05/16 03:46

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -50,6 +50,7 @@
50
50
 
51
51
 
52
52
  さらに間違いなのかわからないですけど、
53
+ 間違えてたらすいません。責任とりません。
53
54
 
54
55
  glNormal3f(x,y,z); glVertex3f(x,y,z);glNormal3f().....と、
55
56
  すべてのglNormal3f(x,y,z)がglVertex3f(x,y,z);

70

まとめ

2022/05/16 03:40

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,7 @@
56
56
  になってしまい上のようになるので、xyzは同じ値。
57
57
 
58
58
  モデルがfの頂点(21217//x,21216//x,20400//x)etc頂点の外積でしたのでほしいのは頂点の値でした。
59
- 頭から直に読みこんでいけば、glNormal3f(x,y,z);glVertex();glNormal3f(x,y,z);glVertex3f();glNormal3f(x,y,z);glVertex3f()で、xyzは違う値
59
+ 頭から直に読みこんでいけば、glNormal3f(x,y,z);glVertex();glNormal3f(x,y,z);glVertex3f();glNormal3f(x,y,z);glVertex3f()で、xyzは違う値
60
60
 
61
61
  いけるかもしれないけど、誤差が大きく間違えてる可能性があるので、それ以上合っているかはやめておく
62
62
  ●の方法を推奨

69

まとめ

2022/05/16 03:38

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -50,16 +50,15 @@
50
50
 
51
51
 
52
52
  さらに間違いなのかわからないですけど、
53
- glBegin();glNormal3f(x,y,z);glVertex3f(x,y,z);glVertex3f(x,y,z);glVertex3f(x,y,z)
54
- glEnd();の語順になってしまう。自己責任でお願いします。
55
53
 
56
54
  glNormal3f(x,y,z); glVertex3f(x,y,z);glNormal3f().....と、
57
- すべてのglNormal3f(x,y,z)がglVertex3f(x,y,z);上のようになってしまうので
55
+ すべてのglNormal3f(x,y,z)がglVertex3f(x,y,z);
56
+ になってしまい上のようになるので、xyzは同じ値。
57
+
58
58
  モデルがfの頂点(21217//x,21216//x,20400//x)etc頂点の外積でしたのでほしいのは頂点の値でした。
59
59
  頭から直に読みこんでいけば、glNormal3f(x,y,z);glVertex();glNormal3f(x,y,z);glVertex3f();glNormal3f(x,y,z);glVertex3f()で、xyzは違う値。
60
60
 
61
- いけるかもしれないけど、誤差が大きそうなので
62
- 間違えてる可能性があるので、それ以上合っているかはやめておく
61
+ いけるかもしれないけど、誤差が大きく間違えてる可能性があるので、それ以上合っているかはやめておく
63
62
  ●の方法を推奨
64
63
 
65
64
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。

68

まとめ

2022/05/16 03:32

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -56,10 +56,11 @@
56
56
  glNormal3f(x,y,z); glVertex3f(x,y,z);glNormal3f().....と、
57
57
  すべてのglNormal3f(x,y,z)がglVertex3f(x,y,z);上のようになってしまうので
58
58
  モデルがfの頂点(21217//x,21216//x,20400//x)etc頂点の外積でしたのでほしいのは頂点の値でした。
59
- 間違えてる可能性があるので、それ以上合っているかはやめておく、頭から直に読みこんでいけば、glNormal3f(x,y,z);glVertex();glNormal3f(x,y,z);glVertex3f();glNormal3f(x,y,z);glVertex3f()で、xyzは違う値。
59
+ 頭から直に読みこんでいけば、glNormal3f(x,y,z);glVertex();glNormal3f(x,y,z);glVertex3f();glNormal3f(x,y,z);glVertex3f()で、xyzは違う値。
60
60
 
61
61
  いけるかもしれないけど、誤差が大きそうなので
62
+ 。間違えてる可能性があるので、それ以上合っているかはやめておく
62
- ●の方法を推奨
63
+ ●の方法を推奨
63
64
 
64
65
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。
65
66
 

67

まとめ

2022/05/16 03:30

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,9 @@
56
56
  glNormal3f(x,y,z); glVertex3f(x,y,z);glNormal3f().....と、
57
57
  すべてのglNormal3f(x,y,z)がglVertex3f(x,y,z);上のようになってしまうので
58
58
  モデルがfの頂点(21217//x,21216//x,20400//x)etc頂点の外積でしたのでほしいのは頂点の値でした。
59
- 間違えてる可能性があるので、それ以上合っているかはやめておく、という普通考えて●の方法が正しと思う。なにを間違ったかやりかたがあるか知らないからいいきれないけど、
59
+ 間違えてる可能性があるので、それ以上合っているかはやめておく、ら直読みこんでけば、glNormal3f(x,y,z);glVertex();glNormal3f(x,y,z);glVertex3f();glNormal3f(x,y,z);glVertex3f()で、xyzは違
60
+
61
+ いけるかもしれないけど、誤差が大きそうなので
60
62
  ●の方法を推奨。
61
63
 
62
64
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。

66

まとめ

2022/05/15 21:15

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,7 @@
56
56
  glNormal3f(x,y,z); glVertex3f(x,y,z);glNormal3f().....と、
57
57
  すべてのglNormal3f(x,y,z)がglVertex3f(x,y,z);上のようになってしまうので
58
58
  モデルがfの頂点(21217//x,21216//x,20400//x)etc頂点の外積でしたのでほしいのは頂点の値でした。
59
- 間違えてる可能性があるので、それ以上合っているかはやめておく
59
+ 間違えてる可能性があるので、それ以上合っているかはやめておく、というか普通に考えて●の方法が正しいと思う。なにを間違ったかやりかたがあるか知らないからいいきれないけど、
60
60
  ●の方法を推奨。
61
61
 
62
62
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。

65

まとめ

2022/05/15 19:52

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -55,8 +55,8 @@
55
55
 
56
56
  glNormal3f(x,y,z); glVertex3f(x,y,z);glNormal3f().....と、
57
57
  すべてのglNormal3f(x,y,z)がglVertex3f(x,y,z);上のようになってしまうので
58
-
59
- 法線が1のとき、モデルが法線(x//1,x//1,x//1)と1、すべて一致したのであってたかもれない
58
+ モデルがf頂点(21217//x,21216//x,20400//x)etc頂点の外積でしたのでほしいは頂点の値でした
59
+ 間違えてる可能性があるので、それ以上合っているかはやめておく
60
60
  ●の方法を推奨。
61
61
 
62
62
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。

64

まとめ

2022/05/15 10:40

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -54,9 +54,9 @@
54
54
  glEnd();の語順になってしまう。自己責任でお願いします。
55
55
 
56
56
  glNormal3f(x,y,z); glVertex3f(x,y,z);glNormal3f().....と、
57
- すべてのglNormal3f(x,y,z)がglVertex3f(x,y,z);にかかってしまうので
57
+ すべてのglNormal3f(x,y,z)がglVertex3f(x,y,z);上のようってしまうので
58
58
 
59
-  法線が1のとき、モデルがfの法線(x//1,x//1,x//1)と1で、すべて一致したのであってたのかもしれないため
59
+ 法線が1のとき、モデルがfの法線(x//1,x//1,x//1)と1で、すべて一致したのであってたのかもしれないため
60
60
  ●の方法を推奨。
61
61
 
62
62
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。

63

まとめ

2022/05/15 10:00

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -53,6 +53,11 @@
53
53
  glBegin();glNormal3f(x,y,z);glVertex3f(x,y,z);glVertex3f(x,y,z);glVertex3f(x,y,z)
54
54
  glEnd();の語順になってしまう。自己責任でお願いします。
55
55
 
56
+ glNormal3f(x,y,z); glVertex3f(x,y,z);glNormal3f().....と、
57
+ すべてのglNormal3f(x,y,z)がglVertex3f(x,y,z);にかかってしまうので
58
+
59
+  法線が1のとき、モデルがfの法線(x//1,x//1,x//1)と1で、すべて一致したのであってたのかもしれないため
60
+ ●の方法を推奨。
56
61
 
57
62
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。
58
63
 

62

まとめ

2022/05/14 08:54

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -57,9 +57,7 @@
57
57
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。
58
58
 
59
59
  [参考サイト](https://docs.microsoft.com/ja-jp/windows/win32/opengl/glnormal3f)
60
- 計算でだした正規化された法線の値 V_X/la,V_Y/la,V_Z/と
60
+
61
- ファイルの値、vn -0.9103 -0.1287 -0.3935は大体同じ値だったのですが、
62
- 同じ値と考えて、vn -0.9103 -0.1287 -0.3935はすでに正規化されていると考えていいのかわかりません。
63
61
 
64
62
 
65
63
  glRotatef(angle,x,y,z);で数式はカバーされる。

61

まとめ

2022/05/14 00:26

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -57,7 +57,9 @@
57
57
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。
58
58
 
59
59
  [参考サイト](https://docs.microsoft.com/ja-jp/windows/win32/opengl/glnormal3f)
60
-
60
+ 計算でだした正規化された法線の値 V_X/la,V_Y/la,V_Z/と
61
+ ファイルの値、vn -0.9103 -0.1287 -0.3935は大体同じ値だったのですが、
62
+ 同じ値と考えて、vn -0.9103 -0.1287 -0.3935はすでに正規化されていると考えていいのかわかりません。
61
63
 
62
64
 
63
65
  glRotatef(angle,x,y,z);で数式はカバーされる。

60

まとめ

2022/05/13 12:29

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -56,8 +56,7 @@
56
56
 
57
57
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。
58
58
 
59
- [参考サイト](https://docs.microsoft.com/ja-jp/windows/win32/opengl/glnormal3b)
59
+ [参考サイト](https://docs.microsoft.com/ja-jp/windows/win32/opengl/glnormal3f)
60
-
61
60
 
62
61
 
63
62
 

59

まとめ

2022/05/13 12:24

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -56,9 +56,7 @@
56
56
 
57
57
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。
58
58
 
59
- https://docs.microsoft.com/ja-jp/windows/win32/opengl/glnormal3b 
59
+ [参考サイト](https://docs.microsoft.com/ja-jp/windows/win32/opengl/glnormal3b)
60
-
61
- --参考サイト
62
60
 
63
61
 
64
62
 

58

まとめ

2022/05/13 12:20

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,9 @@
56
56
 
57
57
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。
58
58
 
59
- https://docs.microsoft.com/ja-jp/windows/win32/opengl/glnormal3b --引用サイト
59
+ https://docs.microsoft.com/ja-jp/windows/win32/opengl/glnormal3b 
60
+
61
+ --参考サイト
60
62
 
61
63
 
62
64
 

57

まとめ

2022/05/13 12:17

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
  ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。
58
58
 
59
-
59
+ https://docs.microsoft.com/ja-jp/windows/win32/opengl/glnormal3b --引用サイト
60
60
 
61
61
 
62
62
 

56

まとめ

2022/05/13 10:57

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -54,7 +54,7 @@
54
54
  glEnd();の語順になってしまう。自己責任でお願いします。
55
55
 
56
56
 
57
- ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。
57
+ ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。こちらも使うにあたって自己責任でおねがいします。
58
58
 
59
59
 
60
60
 

55

まとめ

2022/05/13 10:51

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -54,6 +54,8 @@
54
54
  glEnd();の語順になってしまう。自己責任でお願いします。
55
55
 
56
56
 
57
+ ●頂点から正規化された法線を求めるのがうまくいかなかったので、 glNormal3fにあらかじめ用意してた法線の配列を与えました。
58
+
57
59
 
58
60
 
59
61
 

54

まとめ

2022/05/09 03:52

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -49,7 +49,7 @@
49
49
 
50
50
 
51
51
 
52
- 間違いなのかわからないですけど、
52
+ さらに間違いなのかわからないですけど、
53
53
  glBegin();glNormal3f(x,y,z);glVertex3f(x,y,z);glVertex3f(x,y,z);glVertex3f(x,y,z)
54
54
  glEnd();の語順になってしまう。自己責任でお願いします。
55
55
 

53

まとめ

2022/05/09 03:50

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -45,7 +45,7 @@
45
45
  あと、こちらも責任取りませんが、結果がファイルの法線と同じ値となると思いましたが、なりませんでした。正規化した法線、V_X/la,V_Y/la,V_Z/laの計算途中に間違いがあるかもしれません。どこかに誤りがあるかもしれません。
46
46
 
47
47
  (私の計算で、vnの数値をみたところ、だいたい小数点第三位までしか正しくなくて4桁目からずれているかんじになった。)
48
- 間違えてるみたいなのでソースコードは削除します。(誤りがある場合使わないでください。)
48
+ 間違えてるみたいなのでソースコードは削除します。(また自前の計算途中に誤りがある場合使わないでください。)
49
49
 
50
50
 
51
51
 

52

まとめ

2022/05/09 03:31

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -42,9 +42,11 @@
42
42
 
43
43
 
44
44
  間違えてたらすいません。責任とりません。
45
- あと、計算結果がファイルの法線と同じ値となると思いましたが、なりませんでした。
45
+ あと、こちらも責任取りませんが、結果がファイルの法線と同じ値となると思いましたが、なりませんでした。正規化した法線、V_X/la,V_Y/la,V_Z/laの計算途中に間違いがあるかもしれません。どこかに誤りがあるかもしれません。
46
+
46
- どこかに誤りがあると思います。(vnの数値をみたところ、だいたい小数点第三位までしか正しくなくて4桁目ずれているかんじ。)
47
+ 私の計算で、vnの数値をみたところ、だいたい小数点第三位までしか正しくなくて4桁目からずれているかんじになった。)
47
- 間違えてるみたいなのでソースコードは削除します。
48
+ 間違えてるみたいなのでソースコードは削除します。(誤りがある場合使わないでください。)
49
+
48
50
 
49
51
 
50
52
  間違いなのかわからないですけど、

51

まとめ

2022/05/09 03:14

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -43,7 +43,7 @@
43
43
 
44
44
  間違えてたらすいません。責任とりません。
45
45
  あと、計算結果がファイルの法線と同じ値となると思いましたが、なりませんでした。
46
- どこかに誤りがあると思います。(vnのはじまりの数値をみたところ、誤差がでてる
46
+ どこかに誤りがあると思います。(vnの数値をみたところ、だいたい小数点第三位ましか正しくなく4桁目がずれているかんじ。
47
47
  間違えてるみたいなのでソースコードは削除します。
48
48
 
49
49
 

50

まとめ

2022/05/02 11:17

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -43,7 +43,7 @@
43
43
 
44
44
  間違えてたらすいません。責任とりません。
45
45
  あと、計算結果がファイルの法線と同じ値となると思いましたが、なりませんでした。
46
- どこかに誤りがあると思います。
46
+ どこかに誤りがあると思います。(vnのはじまりの数値をみたところ、誤差がでてるのかも)
47
47
  間違えてるみたいなのでソースコードは削除します。
48
48
 
49
49
 

49

まとめ

2022/05/02 08:43

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -35,18 +35,23 @@
35
35
  法線は正規化する必要があるのでn=A/ √A^2+B^2+C^2  , B/√A^2+B^2+C^2,
36
36
  C/√A^2+B^2+C^2,
37
37
 
38
+ 参考文献。。3Dグラフィックスのための数学 工学社
38
39
 
39
- 1と2どちらがただしいでしょうか
40
+ 1と2どちらがただしいでしょうか
41
+
42
+
40
43
 
41
44
  間違えてたらすいません。責任とりません。
45
+ あと、計算結果がファイルの法線と同じ値となると思いましたが、なりませんでした。
46
+ どこかに誤りがあると思います。
42
- 間違えてたら嫌なので削除します。
47
+ 間違えてるみなのでソースコードは削除します。
43
- 追記....ソースコードの再計算中に、x座標とz座標の計算をまちがえたかもしれないが、ベクトルの計算を満たしても左回りの計算を満たさないケースを否定できないかもしれないので、ソースコードを削除します。
48
+
44
49
 
45
50
  間違いなのかわからないですけど、
46
51
  glBegin();glNormal3f(x,y,z);glVertex3f(x,y,z);glVertex3f(x,y,z);glVertex3f(x,y,z)
47
52
  glEnd();の語順になってしまう。自己責任でお願いします。
48
53
 
49
- 参考文献。。3Dグラフィックスのための数学 工学社
54
+
50
55
 
51
56
 
52
57
 

48

文章のまとめ

2022/04/22 02:52

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
 
54
54
 
55
- glRotatef(angle,x,y,z);で数式はカバーされている。
55
+ glRotatef(angle,x,y,z);で数式はカバーされる。
56
56
 
57
57
  追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないので追記します。
58
58
 

47

まとめ

2022/04/22 02:34

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
 
54
54
 
55
- glRotatef(angle,x,y,z);で法線の数式はカバーされている。
55
+ glRotatef(angle,x,y,z);で数式はカバーされている。
56
56
 
57
57
  追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないので追記します。
58
58
 

46

まとめ

2022/04/22 02:33

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -48,8 +48,11 @@
48
48
 
49
49
  参考文献。。3Dグラフィックスのための数学 工学社
50
50
 
51
- ~~参考文献には、前法線と、移動後の後法線の概念があり~~glRotatef(angle,1,0,0);等でカバーできているか、それとも、数式でカバーするのか、わからない問題が新たに出てしまいました。
52
51
 
52
+
53
+
54
+
55
+ glRotatef(angle,x,y,z);で法線の数式はカバーされている。
53
56
 
54
57
  追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないので追記します。
55
58
 

45

文章の直し

2022/04/22 02:26

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  参考文献。。3Dグラフィックスのための数学 工学社
50
50
 
51
- 参考文献には、前法線と、移動後の後法線の概念がありました。glRotatef(angle,1,0,0);等でカバーできているか、それとも、数式でカバーするのか、わからない問題が新たに出てしまいました。
51
+ ~~参考文献には、前法線と、移動後の後法線の概念があり~~glRotatef(angle,1,0,0);等でカバーできているか、それとも、数式でカバーするのか、わからない問題が新たに出てしまいました。
52
52
 
53
53
 
54
54
  追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないので追記します。

44

文章の変更

2022/04/03 08:45

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -41,11 +41,10 @@
41
41
  間違えてたらすいません。責任とりません。
42
42
  間違えてたら嫌なので削除します。
43
43
  追記....ソースコードの再計算中に、x座標とz座標の計算をまちがえたかもしれないが、ベクトルの計算を満たしても左回りの計算を満たさないケースを否定できないかもしれないので、ソースコードを削除します。
44
-  
45
44
 
46
-
45
+ 間違いなのかわからないですけど、
47
-
46
+ glBegin();glNormal3f(x,y,z);glVertex3f(x,y,z);glVertex3f(x,y,z);glVertex3f(x,y,z)
48
-
47
+ glEnd();の語順になってしまう。自己責任でお願いします。
49
48
 
50
49
  参考文献。。3Dグラフィックスのための数学 工学社
51
50
 

43

文章の追加

2022/04/03 08:10

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,96 +1,47 @@
1
1
  1.追記ベクトルA=(2,-1,3)のベクトルAを正規化しなさい
2
-
3
-
4
2
 
5
3
  A^2=2^2+(-1)^2+3^2=4+1+9=14
6
4
 
7
-
8
-
9
5
  正規化したベクトルは(2/√14,-1/√14,3/√14)になります.
10
-
11
-
12
6
 
13
7
  2.ポリゴンの3頂点をv1=(1,0,0),v2=(0,1,0),v3=(0,0,1)として法線を正規化しなさい
14
8
 
15
-
16
-
17
9
  ベクトルv1v3=v3-v1=(0-1,0-0,1-0)=(-1,0,1),
18
-
19
10
  ベクトルv1v2=v2-v1=(0-1,1-0,0-0)=(-1,1,0)
20
-
21
11
  法線は直交するので、ベクトルv1v3 x ベクトルv1v2=
22
-
23
12
  |i,j,k|
24
-
25
13
  |-1,0,1|
26
-
27
14
  |-1,1,0|=(-1,-1,-1)
28
-
29
15
  法線は正規化して(-1/√3,-1/√3,-1/√3)
30
-
31
-
32
-
33
16
 
34
17
 
35
18
  3.必要な計算
36
19
 
37
20
 
38
-
39
-
40
-
41
21
  →AB=→b- →a
42
-
43
-
44
-
45
22
 
46
23
 
47
24
  2つのベクトル(x1,y1,z1)(x2,y2,z2)の時,
48
25
 
49
-
50
-
51
26
  v1*v2=|i,j,k|
52
-
53
27
  |x1,y1,z1|
54
-
55
28
  |x2,y2,z2|=(y1z2-z1y2)i-(x1z2-z1x2)j+(x1y2-y1x2)k
56
29
 
57
-
58
-
59
30
  A=y1z2-z1y2
60
-
61
31
  B=-(x1z2-z1x2)
62
-
63
32
  C=(x1y2-y1x2)
64
-
65
33
  だと思う。
66
34
 
67
-
68
-
69
35
  法線は正規化する必要があるのでn=A/ √A^2+B^2+C^2  , B/√A^2+B^2+C^2,
70
-
71
36
  C/√A^2+B^2+C^2,
72
-
73
-
74
-
75
37
 
76
38
 
77
39
  1と2どちらがただしいでしょうか。
78
40
 
79
-
80
-
81
41
  間違えてたらすいません。責任とりません。
82
-
83
42
  間違えてたら嫌なので削除します。
84
-
85
43
  追記....ソースコードの再計算中に、x座標とz座標の計算をまちがえたかもしれないが、ベクトルの計算を満たしても左回りの計算を満たさないケースを否定できないかもしれないので、ソースコードを削除します。
86
-
87
44
   
88
-
89
-
90
-
91
-
92
-
93
-
94
45
 
95
46
 
96
47
 
@@ -98,48 +49,22 @@
98
49
 
99
50
  参考文献。。3Dグラフィックスのための数学 工学社
100
51
 
101
-
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
- 正規化してポリゴンを反射するつもりがポリゴン反射せず黒くなってしいました。こうう計算だ思ったのです正規化して反射するようにしたです。normalを使いました、急いで直しため、その他も誤り等ありましたら、申し訳ありません責任とれません。
52
+ 参考文献には前法線と、移動後の後法線の概念ありました。glRotatef(angle,1,0,0);等でカバーできてるか、それも、数式カバーるのかわからな問題たに出てしいました。
110
-
111
-
112
-
113
53
 
114
54
 
115
55
  追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないので追記します。
116
56
 
117
57
 
118
58
 
119
-
120
-
121
-
122
-
123
59
  https://qiita.com/yoship1639/items/75505244b6c242d50f71
124
60
 
125
-
126
-
127
61
  dot(n, normalize(-wLightDir))は、法線と正規化させたディレクショナルライトの向きの内積を取る処理です。
128
-
129
62
  wLightDirがマイナスなのは法線と逆向きの状態を直すためです。
130
-
131
63
  dotの結果は、向きが近ければ近いほど1.0に近づき、向きが反対に近いほど-1.0に近づきます。
132
-
133
64
  正規化されたベクトル同士の内積は必ず-1.0 ~ 1.0の間に収束されます。
134
-
135
65
  1.0に近いと明るく、0.0に近いと暗くなります。
136
66
 
137
-
138
-
139
67
  求めた内積はclampを施し、0.0 ~ 1.0にクリップします。
140
-
141
68
  マイナス部分は光の量を逆に奪ってしまうので、マイナスにならない様にします。
142
69
 
143
-
144
-
145
70
  だそうです。

42

文の変更

2021/12/28 10:23

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -112,7 +112,7 @@
112
112
 
113
113
 
114
114
 
115
- 追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないのであさってたら、基本は2種類
115
+ 追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないので追記します
116
116
 
117
117
 
118
118
 

41

文の変更

2021/12/28 10:23

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -116,8 +116,30 @@
116
116
 
117
117
 
118
118
 
119
- 0から1の範囲の正規化
120
119
 
121
- -1から1の範囲の正規化だそうです。という文献があった。
122
120
 
121
+
122
+
123
+ https://qiita.com/yoship1639/items/75505244b6c242d50f71
124
+
125
+
126
+
127
+ dot(n, normalize(-wLightDir))は、法線と正規化させたディレクショナルライトの向きの内積を取る処理です。
128
+
129
+ wLightDirがマイナスなのは法線と逆向きの状態を直すためです。
130
+
131
+ dotの結果は、向きが近ければ近いほど1.0に近づき、向きが反対に近いほど-1.0に近づきます。
132
+
133
+ 正規化されたベクトル同士の内積は必ず-1.0 ~ 1.0の間に収束されます。
134
+
135
+ 1.0に近いと明るく、0.0に近いと暗くなります。
136
+
137
+
138
+
139
+ 求めた内積はclampを施し、0.0 ~ 1.0にクリップします。
140
+
123
- 計算式が違たのと分野が違うので間違えてるかもしれないけれど
141
+ マイナス部分は光の量を逆に奪てしまうので、マイナスにらな様にします
142
+
143
+
144
+
145
+ だそうです。

40

文の変更

2021/12/28 10:21

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -112,4 +112,12 @@
112
112
 
113
113
 
114
114
 
115
- 追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないのでおそくどこか間違いました
115
+ 追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないのであさってた、基本は2種類
116
+
117
+
118
+
119
+ 0から1の範囲の正規化
120
+
121
+ -1から1の範囲の正規化だそうです。という文献があった。
122
+
123
+ 計算式が違ったのと分野が違うので間違えてるかもしれないけれど。

39

追記

2021/12/16 11:19

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -107,3 +107,9 @@
107
107
 
108
108
 
109
109
  正規化してポリゴンを反射するつもりが、ポリゴンが反射せず黒くなってしまいました。こういう計算だと思ったのですが、正規化して反射するようにしたいです。normalを使いましたが、急いで直したため、その他にも誤り等ありましたら、申し訳ありません。責任とれません。
110
+
111
+
112
+
113
+
114
+
115
+ 追記.... 正規化した法線の値が-1.0~1.0の値になっていました。正規化した値は0.0~1.0かもしれないのでおそらくどこか間違いました。

38

文の変更

2021/12/16 09:30

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -82,7 +82,7 @@
82
82
 
83
83
  間違えてたら嫌なので削除します。
84
84
 
85
- 追記....ソースコードの再計算中に、ベクトルを満たすが左回りの計算を満たさないケースがあったのでソースコードを削除します。
85
+ 追記....ソースコードの再計算中に、x座標とz座標の計算をまちがえたかもしれないが、ベクトルの計算を満たしても左回りの計算を満たさないケースを否定できないかもしれないのでソースコードを削除します。
86
86
 
87
87
   
88
88
 

37

文の変更

2021/11/13 18:32

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -82,7 +82,9 @@
82
82
 
83
83
  間違えてたら嫌なので削除します。
84
84
 
85
- 追記....ソースコードに、ベクトルを満たすが左回りを満たさないというミスがあったので削除します。
85
+ 追記....ソースコードの再計算中に、ベクトルを満たすが左回りの計算を満たさないケースがあったのでソースコードを削除します。
86
+
87
+  
86
88
 
87
89
 
88
90
 

36

文の変更

2021/11/13 11:36

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -82,7 +82,7 @@
82
82
 
83
83
  間違えてたら嫌なので削除します。
84
84
 
85
- 追記....ソースコードに、ベクトル(ほさき-根本)を満たすが左回りを満たさないというミスがあったので削除します。
85
+ 追記....ソースコードに、ベクトルを満たすが左回りを満たさないというミスがあったので削除します。
86
86
 
87
87
 
88
88
 

35

文の変更

2021/11/13 10:13

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -82,6 +82,10 @@
82
82
 
83
83
  間違えてたら嫌なので削除します。
84
84
 
85
+ 追記....ソースコードに、ベクトル(ほさき-根本)を満たすが左回りを満たさないというミスがあったので削除します。
86
+
87
+
88
+
85
89
 
86
90
 
87
91
 

34

文の変更

2021/11/13 10:11

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -78,121 +78,11 @@
78
78
 
79
79
 
80
80
 
81
- 追記2の方法
81
+ 間違えてたらすいません。責任とりません。
82
82
 
83
- ```
84
-
85
- glEnable(GL_LIGHTING);
83
+ 間違えてたら嫌なので削除します。
86
84
 
87
85
 
88
-
89
- glBegin(GL_TRIANGLES);
90
-
91
- ////修正しました。間違えました///////////
92
-
93
-
94
-
95
- 例:法線の計算の a[0],b[0],a[1],b[1],a[2],b[2] =f 390 //4966 389//4966 2503 //4966
96
-
97
- の 390 389 2503の面のtriangle なので,
98
-
99
- 390番目のx,y,z 389番目のx,y,z 2503番目のx,y,z
100
-
101
-
102
-
103
- float x1=v[3*a[1]-3]-v[3*a[2]-3];//389のx座標 - 2503のx座標
104
-
105
- float y1=v[3*a[1]-2]-v[3*a[2]-2];//389のy座標 - 2503のy座標
106
-
107
- float z1=v[3*a[1]-1]-v[3*a[2]-1];//389のz座標 - 2503のz座標
108
-
109
-
110
-
111
- float x2=v[3*a[1]-3]-v[3*a[0]-3];////389のx座標 - 390のx座標 (修正)
112
-
113
- float y2=v[3*a[1]-2]-v[3*a[0]-2];///389のy座標 - 390のy座標   (修正)
114
-
115
- float z2=v[3*a[1]-1]-v[3*a[0]-1];////389のz座標 - 390のz座標 (修正)
116
-
117
- その他 
118
-
119
- float x1=v[3*a[0]-3]-v[3*a[1]-3];
120
-
121
- float y1=v[3*a[0]-2]-v[3*a[1]-2];
122
-
123
- float z1=v[3*a[0]-1]-v[3*a[1]-1];
124
-
125
-
126
-
127
- float x2=v[3*a[0]-3]-v[3*a[2]-3];
128
-
129
- float y2=v[3*a[0]-2]-v[3*a[2]-2];
130
-
131
- float z2=v[3*a[0]-1]-v[3*a[2]-1];
132
-
133
- その他
134
-
135
- float x1=v[3*a[2]-3]-v[3*a[0]-3];
136
-
137
- float y1=v[3*a[2]-2]-v[3*a[0]-2];
138
-
139
- float z1=v[3*a[2]-1]-v[3*a[0]-1];
140
-
141
-
142
-
143
- float x2=v[3*a[2]-3]-v[3*a[1]-3];
144
-
145
- float y2=v[3*a[2]-2]-v[3*a[1]-2];
146
-
147
- float z2=v[3*a[2]-1]-v[3*a[1]-1];
148
-
149
-
150
-
151
- 図を書いたんですけど
152
-
153
- 三角形の図を書き表が左回りなので、左回りで計算してください(他サイトでは右ねじって記述)
154
-
155
- 間違えてたらすいません。責任とりません。
156
-
157
-
158
-
159
- よく
160
-
161
- ある公式らしいのでそのまま使う。
162
-
163
- float V_X=y1*z2-z1*y2;
164
-
165
- float V_Y=-(x1*z2-z1*x2);
166
-
167
- float V_Z=x1*y2-y1*x2;
168
-
169
-
170
-
171
- float la=sqrt(V_X*V_X+V_Y*V_Y+V_Z*V_Z);
172
-
173
-
174
-
175
- glNormal3f(V_X/la,V_Y/la,V_Z/la);
176
-
177
-
178
-
179
- glVertex3f(v[3*a[0]-3],v[3*a[0]-2],v[3*a[0]-1]);
180
-
181
-
182
-
183
- glVertex3f(v[3*a[1]-3], v[3*a[1]-2], v[3*a[1]-1]);
184
-
185
-
186
-
187
- glVertex3f(v[3*a[2]-3], v[3*a[2]-2], v[3*a[2]-1]);
188
-
189
- glEnd();
190
-
191
- glDisable(GL_LIGHTING);
192
-
193
-
194
-
195
- ```
196
86
 
197
87
 
198
88
 

33

文の変更

2021/11/09 08:16

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
  2つのベクトル(x1,y1,z1)(x2,y2,z2)の時,
48
48
 
49
- (補足)
49
+
50
50
 
51
51
  v1*v2=|i,j,k|
52
52
 
@@ -202,7 +202,9 @@
202
202
 
203
203
  参考文献。。3Dグラフィックスのための数学 工学社
204
204
 
205
- ITtextコンピュータグラフィックス ohrmusha(補足のみ)
205
+
206
+
207
+
206
208
 
207
209
 
208
210
 

32

文の変更

2021/11/08 07:41

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
 
46
46
 
47
- 2つのベクトル(x1,y1,z1)(x2,y2,z2)の時,
47
+ 2つのベクトル(x1,y1,z1)(x2,y2,z2)の時,
48
48
 
49
49
  (補足)
50
50
 

31

文の変更

2021/11/08 07:14

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
 
46
46
 
47
- 2つのベクトル A=(x1,y1,z1)B=(x2,y2,z2)の時,
47
+ 2つのベクトル(x1,y1,z1)(x2,y2,z2)の時,
48
48
 
49
49
  (補足)
50
50
 

30

文の変更

2021/11/08 07:12

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -42,6 +42,10 @@
42
42
 
43
43
 
44
44
 
45
+
46
+
47
+ 2つのベクトル A=(x1,y1,z1)B=(x2,y2,z2)の時,
48
+
45
49
  (補足)
46
50
 
47
51
  v1*v2=|i,j,k|

29

文の変更

2021/11/08 07:02

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -34,23 +34,31 @@
34
34
 
35
35
  3.必要な計算
36
36
 
37
+
38
+
39
+
40
+
37
- ポリゴンの3頂点が
41
+ →AB=→b- →a
42
+
43
+
44
+
38
-
45
+ (補足)
46
+
47
+ v1*v2=|i,j,k|
48
+
39
- v1=(a1,b1,c1),
49
+ |x1,y1,z1|
50
+
40
-
51
+ |x2,y2,z2|=(y1z2-z1y2)i-(x1z2-z1x2)j+(x1y2-y1x2)k
52
+
53
+
54
+
55
+ A=y1z2-z1y2
56
+
57
+ B=-(x1z2-z1x2)
58
+
41
- v2=(a2,b2,c2),
59
+ C=(x1y2-y1x2)
42
-
60
+
43
- v3=(a3,b3,c3)のき、
61
+ 思う。
44
-
45
- ベクトルv1v3=(a3-a1,b3-b1,c3-c1)
46
-
47
- ベクトルv1v2=(a2-a1,b2-b1,c2-c1),
48
-
49
-
50
-
51
-
52
-
53
- ベクトルv1v3 xベクトルv1v2= (A ,B, C)
54
62
 
55
63
 
56
64
 
@@ -60,14 +68,6 @@
60
68
 
61
69
 
62
70
 
63
- (補足)
64
-
65
- v1*v2=|i,j,k|
66
-
67
- |x1,y1,z1|
68
-
69
- |x2,y2,z2|=(y1z2-z1y2)i-(x1z2-z1x2)j+(x1y2-y1x2)k
70
-
71
71
 
72
72
 
73
73
  1と2どちらがただしいでしょうか。

28

文の変更

2021/11/08 06:46

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -106,7 +106,7 @@
106
106
 
107
107
  float x2=v[3*a[1]-3]-v[3*a[0]-3];////389のx座標 - 390のx座標 (修正)
108
108
 
109
- float y2=v[3*a[1]-2]-v[3*a[0]-2];///389のy座標 - 390のy座標 (修正)
109
+ float y2=v[3*a[1]-2]-v[3*a[0]-2];///389のy座標 - 390のy座標   (修正)
110
110
 
111
111
  float z2=v[3*a[1]-1]-v[3*a[0]-1];////389のz座標 - 390のz座標 (修正)
112
112
 
@@ -146,7 +146,7 @@
146
146
 
147
147
  図を書いたんですけど
148
148
 
149
- 三角形の図を書き表が左回りなので、左回りで計算してください
149
+ 三角形の図を書き表が左回りなので、左回りで計算してください(他サイトでは右ねじって記述)
150
150
 
151
151
  間違えてたらすいません。責任とりません。
152
152
 

27

文の変更

2021/11/08 03:24

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -144,9 +144,11 @@
144
144
 
145
145
 
146
146
 
147
+ 図を書いたんですけど
148
+
149
+ 三角形の図を書き表が左回りなので、左回りで計算してください
150
+
147
- 図を書いたんですけど間違えてたらすいません。責任とりません。
151
+ 間違えてたらすいません。責任とりません。
148
-
149
-
150
152
 
151
153
 
152
154
 

26

文の変更

2021/11/08 02:54

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -96,19 +96,19 @@
96
96
 
97
97
 
98
98
 
99
- float x1=v[3*a[1]-3]-v[3*a[2]-3];//389のx座標 - 390のx座標
99
+ float x1=v[3*a[1]-3]-v[3*a[2]-3];//389のx座標 - 2503のx座標
100
-
100
+
101
- float y1=v[3*a[1]-2]-v[3*a[2]-2];//389のy座標 - 390のy座標
101
+ float y1=v[3*a[1]-2]-v[3*a[2]-2];//389のy座標 - 2503のy座標
102
-
102
+
103
- float z1=v[3*a[1]-1]-v[3*a[2]-1];//389のz座標 - 390のz座標
103
+ float z1=v[3*a[1]-1]-v[3*a[2]-1];//389のz座標 - 2503のz座標
104
-
105
-
106
-
104
+
105
+
106
+
107
- float x2=v[3*a[1]-3]-v[3*a[0]-3];////2503のx座標 - 390のx座標 (修正)
107
+ float x2=v[3*a[1]-3]-v[3*a[0]-3];////389のx座標 - 390のx座標 (修正)
108
-
108
+
109
- float y2=v[3*a[1]-2]-v[3*a[0]-2];///2503のy座標 - 390のy座標 (修正)
109
+ float y2=v[3*a[1]-2]-v[3*a[0]-2];///389のy座標 - 390のy座標 (修正)
110
-
110
+
111
- float z2=v[3*a[1]-1]-v[3*a[0]-1];////2503のz座標 - 390のz座標 (修正)
111
+ float z2=v[3*a[1]-1]-v[3*a[0]-1];////389のz座標 - 390のz座標 (修正)
112
112
 
113
113
  その他 
114
114
 

25

文の変更

2021/11/08 02:45

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -96,44 +96,80 @@
96
96
 
97
97
 
98
98
 
99
- float x1=v[3*a[1]-3]-v[3*a[0]-3];//389のx座標 - 390のx座標
99
+ float x1=v[3*a[1]-3]-v[3*a[2]-3];//389のx座標 - 390のx座標
100
-
100
+
101
- float y1=v[3*a[1]-2]-v[3*a[0]-2];//389のy座標 - 390のy座標
101
+ float y1=v[3*a[1]-2]-v[3*a[2]-2];//389のy座標 - 390のy座標
102
-
102
+
103
- float z1=v[3*a[1]-1]-v[3*a[0]-1];//389のz座標 - 390のz座標
103
+ float z1=v[3*a[1]-1]-v[3*a[2]-1];//389のz座標 - 390のz座標
104
-
105
-
106
-
104
+
105
+
106
+
107
- float x2=v[3*a[2]-3]-v[3*a[0]-3];////2503のx座標 - 390のx座標 (修正)
107
+ float x2=v[3*a[1]-3]-v[3*a[0]-3];////2503のx座標 - 390のx座標 (修正)
108
-
108
+
109
- float y2=v[3*a[2]-2]-v[3*a[0]-2];///2503のy座標 - 390のy座標 (修正)
109
+ float y2=v[3*a[1]-2]-v[3*a[0]-2];///2503のy座標 - 390のy座標 (修正)
110
-
110
+
111
- float z2=v[3*a[2]-1]-v[3*a[0]-1];////2503のz座標 - 390のz座標 (修正)
111
+ float z2=v[3*a[1]-1]-v[3*a[0]-1];////2503のz座標 - 390のz座標 (修正)
112
+
113
+ その他 
114
+
115
+ float x1=v[3*a[0]-3]-v[3*a[1]-3];
116
+
117
+ float y1=v[3*a[0]-2]-v[3*a[1]-2];
118
+
119
+ float z1=v[3*a[0]-1]-v[3*a[1]-1];
120
+
121
+
122
+
123
+ float x2=v[3*a[0]-3]-v[3*a[2]-3];
124
+
125
+ float y2=v[3*a[0]-2]-v[3*a[2]-2];
126
+
127
+ float z2=v[3*a[0]-1]-v[3*a[2]-1];
128
+
129
+ その他
130
+
131
+ float x1=v[3*a[2]-3]-v[3*a[0]-3];
132
+
133
+ float y1=v[3*a[2]-2]-v[3*a[0]-2];
134
+
135
+ float z1=v[3*a[2]-1]-v[3*a[0]-1];
136
+
137
+
138
+
139
+ float x2=v[3*a[2]-3]-v[3*a[1]-3];
140
+
141
+ float y2=v[3*a[2]-2]-v[3*a[1]-2];
142
+
143
+ float z2=v[3*a[2]-1]-v[3*a[1]-1];
144
+
145
+
146
+
147
+ 図を書いたんですけど間違えてたらすいません。責任とりません。
148
+
149
+
150
+
151
+
152
+
153
+ よく
154
+
155
+ ある公式らしいのでそのまま使う。
156
+
157
+ float V_X=y1*z2-z1*y2;
158
+
159
+ float V_Y=-(x1*z2-z1*x2);
160
+
161
+ float V_Z=x1*y2-y1*x2;
162
+
163
+
164
+
165
+ float la=sqrt(V_X*V_X+V_Y*V_Y+V_Z*V_Z);
166
+
167
+
168
+
169
+ glNormal3f(V_X/la,V_Y/la,V_Z/la);
112
170
 
113
171
 
114
172
 
115
-
116
-
117
- で上記、2503と389 を入れかえるとなぜうまくいかないのでしょうか。
118
-
119
-
120
-
121
- float V_X=y1*z2-z1*y2;
122
-
123
- float V_Y=-(x1*z2-z1*x2);
124
-
125
- float V_Z=x1*y2-y1*x2;
126
-
127
-
128
-
129
- float la=sqrt(V_X*V_X+V_Y*V_Y+V_Z*V_Z);
130
-
131
-
132
-
133
- glNormal3f(V_X/la,V_Y/la,V_Z/la);
134
-
135
-
136
-
137
173
  glVertex3f(v[3*a[0]-3],v[3*a[0]-2],v[3*a[0]-1]);
138
174
 
139
175
 

24

文の変更

2021/11/08 02:40

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -156,10 +156,6 @@
156
156
 
157
157
 
158
158
 
159
- 間違いについて教えてください。
160
-
161
-
162
-
163
159
 
164
160
 
165
161
  参考文献。。3Dグラフィックスのための数学 工学社
@@ -170,4 +166,4 @@
170
166
 
171
167
 
172
168
 
173
- 正規化してポリゴンを反射するつもりが、ポリゴンが反射せず黒くなってしまいました。こういう計算だと思ったのですが、正規化して反射するようにしたいです。normalを使いましたが、急いで直したため、その他にも誤り等ありましたら、申し訳ありません。
169
+ 正規化してポリゴンを反射するつもりが、ポリゴンが反射せず黒くなってしまいました。こういう計算だと思ったのですが、正規化して反射するようにしたいです。normalを使いましたが、急いで直したため、その他にも誤り等ありましたら、申し訳ありません。責任とれません。

23

文の変更

2021/11/08 02:21

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ベクトルv1v2=v2-v1=(0-1,1-0,0-0)=(-1,1,0)
20
20
 
21
- 法線は直交するので、ベクトルv1v3 x ベクトルv2v1
21
+ 法線は直交するので、ベクトルv1v3 x ベクトルv1v2=
22
22
 
23
23
  |i,j,k|
24
24
 

22

文の変更

2021/11/07 15:37

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- ベクトルv1v3=v3-v2=(0-1,0-0,1-0)=(-1,0,1),
17
+ ベクトルv1v3=v3-v1=(0-1,0-0,1-0)=(-1,0,1),
18
18
 
19
19
  ベクトルv1v2=v2-v1=(0-1,1-0,0-0)=(-1,1,0)
20
20
 

21

まとめ

2021/11/07 14:58

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -88,7 +88,11 @@
88
88
 
89
89
 
90
90
 
91
- 例:法線の計算の a[0],b[0],a[1],b[1],a[2],b[2] =f 390 //4966 389//4966 2503 //4966 の 390 389 2503の面のtriangle なので,390番目のx,y,z 389番目のx,y,z 2503番目のx,y,z
91
+ 例:法線の計算の a[0],b[0],a[1],b[1],a[2],b[2] =f 390 //4966 389//4966 2503 //4966
92
+
93
+ の 390 389 2503の面のtriangle なので,
94
+
95
+ 390番目のx,y,z 389番目のx,y,z 2503番目のx,y,z
92
96
 
93
97
 
94
98
 

20

文の変更

2021/11/07 14:43

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ベクトルv1v2=v2-v1=(0-1,1-0,0-0)=(-1,1,0)
20
20
 
21
- 法線は直交するので、ベクトルv1v2 x ベクトルv2v3
21
+ 法線は直交するので、ベクトルv1v3 x ベクトルv2v1
22
22
 
23
23
  |i,j,k|
24
24
 
@@ -86,21 +86,33 @@
86
86
 
87
87
  ////修正しました。間違えました///////////
88
88
 
89
- float x1=v[3*a[1]-3]-v[3*a[0]-3];
90
89
 
91
- float y1=v[3*a[1]-2]-v[3*a[0]-2];
92
90
 
93
- float z1=v[3*a[1]-1]-v[3*a[0]-1];
91
+ 例:法線の計算の a[0],b[0],a[1],b[1],a[2],b[2] =f 390 //4966 389//4966 2503 //4966 の 390 389 2503の面のtriangle なので,390番目のx,y,z 389番目のx,y,z 2503番目のx,y,z
94
92
 
95
93
 
96
94
 
97
- float x2=v[3*a[2]-3]-v[3*a[0]-3];////修正
95
+ float x1=v[3*a[1]-3]-v[3*a[0]-3];//389のx座標 - 390のx座標
98
96
 
99
- float y2=v[3*a[2]-2]-v[3*a[0]-2];///修正
97
+ float y1=v[3*a[1]-2]-v[3*a[0]-2];//389のy座標 - 390のy座標
100
98
 
101
- float z2=v[3*a[2]-1]-v[3*a[0]-1];////修正
99
+ float z1=v[3*a[1]-1]-v[3*a[0]-1];//389のz座標 - 390のz座標
100
+
101
+
102
+
103
+ float x2=v[3*a[2]-3]-v[3*a[0]-3];////2503のx座標 - 390のx座標 (修正)
104
+
105
+ float y2=v[3*a[2]-2]-v[3*a[0]-2];///2503のy座標 - 390のy座標 (修正)
106
+
107
+ float z2=v[3*a[2]-1]-v[3*a[0]-1];////2503のz座標 - 390のz座標 (修正)
102
108
 
103
109
 
110
+
111
+
112
+
113
+ で上記、2503と389 を入れかえるとなぜうまくいかないのでしょうか。
114
+
115
+
104
116
 
105
117
  float V_X=y1*z2-z1*y2;
106
118
 
@@ -136,7 +148,9 @@
136
148
 
137
149
  ```
138
150
 
139
- 形にしたんですけど、またポリゴンが黒くなってしまいました。
151
+
152
+
153
+
140
154
 
141
155
  間違いについて教えてください。
142
156
 

19

まとめ

2021/11/07 14:40

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -14,19 +14,19 @@
14
14
 
15
15
 
16
16
 
17
- ベクトルv1v2=v2-v1=(0-1,1-0,0-0)=(-1,1,0),
17
+ ベクトルv1v3=v3-v2=(0-1,0-0,1-0)=(-1,0,1),
18
18
 
19
- ベクトルv2v3=v3-v2=(0-0,0-1,1-0)=(0,-1,1)
19
+ ベクトルv1v2=v2-v1=(0-1,1-0,0-0)=(-1,1,0)
20
20
 
21
21
  法線は直交するので、ベクトルv1v2 x ベクトルv2v3=
22
22
 
23
23
  |i,j,k|
24
24
 
25
- |-1,1,0|
25
+ |-1,0,1|
26
26
 
27
- |0,-1,1|=(1,1,1)
27
+ |-1,1,0|=(-1,-1,-1)
28
28
 
29
- 法線は正規化して(1/√3,1/√3,1/√3)
29
+ 法線は正規化して(-1/√3,-1/√3,-1/√3)
30
30
 
31
31
 
32
32
 
@@ -42,13 +42,15 @@
42
42
 
43
43
  v3=(a3,b3,c3)のとき、
44
44
 
45
+ ベクトルv1v3=(a3-a1,b3-b1,c3-c1)
46
+
45
47
  ベクトルv1v2=(a2-a1,b2-b1,c2-c1),
46
-
47
- ベクトルv2v3=(a3-a2,b3-b2,c3-c2)
48
48
 
49
49
 
50
50
 
51
+
52
+
51
- ベクトルv1v2 xベクトルv2v3= (A ,B, C)
53
+ ベクトルv1v3 xベクトルv1v2= (A ,B, C)
52
54
 
53
55
 
54
56
 
@@ -150,4 +152,4 @@
150
152
 
151
153
 
152
154
 
153
- 正規化してポリゴンを反射するつもりが、ポリゴンが反射せず黒くなってしまいました。こういう計算だと思ったのですが、正規化して反射するようにしたいです。normalを使いましたが、その他にも誤り等ありましたら、申し訳ありません。
155
+ 正規化してポリゴンを反射するつもりが、ポリゴンが反射せず黒くなってしまいました。こういう計算だと思ったのですが、正規化して反射するようにしたいです。normalを使いましたが、急いで直したため、その他にも誤り等ありましたら、申し訳ありません。

18

文の変更

2021/11/07 13:02

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -82,7 +82,7 @@
82
82
 
83
83
  glBegin(GL_TRIANGLES);
84
84
 
85
- ////修正しま。///////////
85
+ ////修正しました間違えました///////////
86
86
 
87
87
  float x1=v[3*a[1]-3]-v[3*a[0]-3];
88
88
 
@@ -92,11 +92,11 @@
92
92
 
93
93
 
94
94
 
95
- float x2=v[3*a[2]-3]-v[3*a[1]-3];
95
+ float x2=v[3*a[2]-3]-v[3*a[0]-3];////修正
96
96
 
97
- float y2=v[3*a[2]-2]-v[3*a[1]-2];
97
+ float y2=v[3*a[2]-2]-v[3*a[0]-2];///修正
98
98
 
99
- float z2=v[3*a[2]-1]-v[3*a[1]-1];
99
+ float z2=v[3*a[2]-1]-v[3*a[0]-1];////修正
100
100
 
101
101
 
102
102
 

17

文の変更

2021/11/07 12:15

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -82,21 +82,21 @@
82
82
 
83
83
  glBegin(GL_TRIANGLES);
84
84
 
85
+ ////修正します。///////////
85
86
 
87
+ float x1=v[3*a[1]-3]-v[3*a[0]-3];
86
88
 
87
- float x1=NORMAL[3*b[1]-3]-NORMAL[3*b[0]-3];
89
+ float y1=v[3*a[1]-2]-v[3*a[0]-2];
88
90
 
89
- float y1=NORMAL[3*b[1]-2]-NORMAL[3*b[0]-2];
90
-
91
- float z1=NORMAL[3*b[1]-1]-NORMAL[3*b[0]-1];
91
+ float z1=v[3*a[1]-1]-v[3*a[0]-1];
92
92
 
93
93
 
94
94
 
95
- float x2=NORMAL[3*b[2]-3]-NORMAL[3*b[1]-3];
95
+ float x2=v[3*a[2]-3]-v[3*a[1]-3];
96
96
 
97
- float y2=NORMAL[3*b[2]-2]-NORMAL[3*b[1]-2];
97
+ float y2=v[3*a[2]-2]-v[3*a[1]-2];
98
98
 
99
- float z2=NORMAL[3*b[2]-1]-NORMAL[3*b[1]-1];
99
+ float z2=v[3*a[2]-1]-v[3*a[1]-1];
100
100
 
101
101
 
102
102
 

16

文の変更

2021/10/28 13:53

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -29,6 +29,46 @@
29
29
  法線は正規化して(1/√3,1/√3,1/√3)
30
30
 
31
31
 
32
+
33
+
34
+
35
+ 3.必要な計算
36
+
37
+ ポリゴンの3頂点が
38
+
39
+ v1=(a1,b1,c1),
40
+
41
+ v2=(a2,b2,c2),
42
+
43
+ v3=(a3,b3,c3)のとき、
44
+
45
+ ベクトルv1v2=(a2-a1,b2-b1,c2-c1),
46
+
47
+ ベクトルv2v3=(a3-a2,b3-b2,c3-c2)
48
+
49
+
50
+
51
+ ベクトルv1v2 xベクトルv2v3= (A ,B, C)
52
+
53
+
54
+
55
+ 法線は正規化する必要があるのでn=A/ √A^2+B^2+C^2  , B/√A^2+B^2+C^2,
56
+
57
+ C/√A^2+B^2+C^2,
58
+
59
+
60
+
61
+ (補足)
62
+
63
+ v1*v2=|i,j,k|
64
+
65
+ |x1,y1,z1|
66
+
67
+ |x2,y2,z2|=(y1z2-z1y2)i-(x1z2-z1x2)j+(x1y2-y1x2)k
68
+
69
+
70
+
71
+ 1と2どちらがただしいでしょうか。
32
72
 
33
73
 
34
74
 
@@ -102,56 +142,6 @@
102
142
 
103
143
 
104
144
 
105
-
106
-
107
-
108
-
109
- 3.必要な計算
110
-
111
- ポリゴンの3頂点が
112
-
113
- v1=(a1,b1,c1),
114
-
115
- v2=(a2,b2,c2),
116
-
117
- v3=(a3,b3,c3)のとき、
118
-
119
- ベクトルv1v2=(a2-a1,b2-b1,c2-c1),
120
-
121
- ベクトルv2v3=(a3-a2,b3-b2,c3-c2)
122
-
123
-
124
-
125
- ベクトルv1v2 xベクトルv2v3= (A ,B, C)
126
-
127
-
128
-
129
- 法線は正規化する必要があるのでn=A/ √A^2+B^2+C^2  , B/√A^2+B^2+C^2,
130
-
131
- C/√A^2+B^2+C^2,
132
-
133
-
134
-
135
- (補足)
136
-
137
- v1*v2=|i,j,k|
138
-
139
- |x1,y1,z1|
140
-
141
- |x2,y2,z2|=(y1z2-z1y2)i-(x1z2-z1x2)j+(x1y2-y1x2)k
142
-
143
-
144
-
145
- 1と2どちらがただしいでしょうか。
146
-
147
-
148
-
149
-
150
-
151
-
152
-
153
-
154
-
155
145
  参考文献。。3Dグラフィックスのための数学 工学社
156
146
 
157
147
  ITtextコンピュータグラフィックス ohrmusha(補足のみ)
@@ -160,82 +150,4 @@
160
150
 
161
151
 
162
152
 
163
- ```追記1の方法
164
-
165
-
166
-
167
- glEnable(GL_LIGHTNING);
168
-
169
- glBegin(GL_TRIANGLES);
170
-
171
-
172
-
173
- float la=sqrt(NORMAL[3*b[0]-3]*NORMAL[3*b[0]-3]+NORMAL[3*b[0]-2]*NORMAL[3*b[0]-2]+
174
-
175
-
176
-
177
- NORMAL[3*b[0]-1]*NORMAL[3*b[0]-1]);
178
-
179
-
180
-
181
-
182
-
183
-
184
-
185
- glNormal3f((NORMAL[3*b[0]-3])/la,(NORMAL[3*b[0]-2])/la,(NORMAL[3*b[0]-1])/la);
186
-
187
-
188
-
189
- glVertex3f(v[3*a[0]-3],v[3*a[0]-2],v[3*a[0]-1]);
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
- float lb=sqrt(NORMAL[3*b[1]-3]*NORMAL[3*b[1]-3]+NORMAL[3*b[1]-2]*NORMAL[3*b[1]-2]+
198
-
199
-
200
-
201
- NORMAL[3*b[1]-1]*NORMAL[3*b[1]-1]);
202
-
203
-
204
-
205
- glNormal3f((NORMAL[3*b[1]-3])/lb,(NORMAL[3*b[1]-2])/lb,(NORMAL[3*b[1]-1])/lb);
206
-
207
-
208
-
209
-
210
-
211
- glVertex3f(v[3*a[1]-3], v[3*a[1]-2], v[3*a[1]-1]);
212
-
213
-
214
-
215
- float lc=sqrt(NORMAL[3*b[2]-3]*NORMAL[3*b[2]-3]+NORMAL[3*b[2]-2]*NORMAL[3*b[2]-2]+
216
-
217
- NORMAL[3*b[2]-1]*NORMAL[3*b[2]-1]);
218
-
219
-
220
-
221
-
222
-
223
-
224
-
225
- glNormal3f((NORMAL[3*b[2]-3])/lc,(NORMAL[3*b[2]-2])/lc,(NORMAL[3*b[2]-1])/lc);
226
-
227
-
228
-
229
- glVertex3f(v[3*a[2]-3], v[3*a[2]-2], v[3*a[2]-1]);
230
-
231
-
232
-
233
- glEnd();
234
-
235
- glDisable(GL_LIGHTNING);
236
-
237
-
238
-
239
- ```
240
-
241
153
  正規化してポリゴンを反射するつもりが、ポリゴンが反射せず黒くなってしまいました。こういう計算だと思ったのですが、正規化して反射するようにしたいです。normalを使いましたが、その他にも誤り等ありましたら、申し訳ありません。

15

文の変更

2021/10/28 11:22

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- 追記
35
+ 追記2の方法
36
36
 
37
37
  ```
38
38
 
@@ -160,7 +160,7 @@
160
160
 
161
161
 
162
162
 
163
- ```正規化
163
+ ```追記1の方法
164
164
 
165
165
 
166
166
 

14

文の変更

2021/10/28 11:08

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -30,6 +30,82 @@
30
30
 
31
31
 
32
32
 
33
+
34
+
35
+ 追記
36
+
37
+ ```
38
+
39
+ glEnable(GL_LIGHTING);
40
+
41
+
42
+
43
+ glBegin(GL_TRIANGLES);
44
+
45
+
46
+
47
+ float x1=NORMAL[3*b[1]-3]-NORMAL[3*b[0]-3];
48
+
49
+ float y1=NORMAL[3*b[1]-2]-NORMAL[3*b[0]-2];
50
+
51
+ float z1=NORMAL[3*b[1]-1]-NORMAL[3*b[0]-1];
52
+
53
+
54
+
55
+ float x2=NORMAL[3*b[2]-3]-NORMAL[3*b[1]-3];
56
+
57
+ float y2=NORMAL[3*b[2]-2]-NORMAL[3*b[1]-2];
58
+
59
+ float z2=NORMAL[3*b[2]-1]-NORMAL[3*b[1]-1];
60
+
61
+
62
+
63
+ float V_X=y1*z2-z1*y2;
64
+
65
+ float V_Y=-(x1*z2-z1*x2);
66
+
67
+ float V_Z=x1*y2-y1*x2;
68
+
69
+
70
+
71
+ float la=sqrt(V_X*V_X+V_Y*V_Y+V_Z*V_Z);
72
+
73
+
74
+
75
+ glNormal3f(V_X/la,V_Y/la,V_Z/la);
76
+
77
+
78
+
79
+ glVertex3f(v[3*a[0]-3],v[3*a[0]-2],v[3*a[0]-1]);
80
+
81
+
82
+
83
+ glVertex3f(v[3*a[1]-3], v[3*a[1]-2], v[3*a[1]-1]);
84
+
85
+
86
+
87
+ glVertex3f(v[3*a[2]-3], v[3*a[2]-2], v[3*a[2]-1]);
88
+
89
+ glEnd();
90
+
91
+ glDisable(GL_LIGHTING);
92
+
93
+
94
+
95
+ ```
96
+
97
+ 形にしたんですけど、またポリゴンが黒くなってしまいました。
98
+
99
+ 間違いについて教えてください。
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
33
109
  3.必要な計算
34
110
 
35
111
  ポリゴンの3頂点が

13

文の変更

2021/10/28 10:55

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -70,7 +70,7 @@
70
70
 
71
71
 
72
72
 
73
- 私は前者の計算式で計算してしまいました。間違えてるような。
73
+
74
74
 
75
75
 
76
76
 

12

文の変更

2021/10/27 13:38

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -70,7 +70,9 @@
70
70
 
71
71
 
72
72
 
73
- 私は前者の計算式で計算してしまいました。
73
+ 私は前者の計算式で計算してしまいました。間違えてるような。
74
+
75
+
74
76
 
75
77
 
76
78
 

11

文の変更

2021/10/27 13:35

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -56,6 +56,8 @@
56
56
 
57
57
 
58
58
 
59
+ (補足)
60
+
59
61
  v1*v2=|i,j,k|
60
62
 
61
63
  |x1,y1,z1|
@@ -73,6 +75,8 @@
73
75
 
74
76
 
75
77
  参考文献。。3Dグラフィックスのための数学 工学社
78
+
79
+ ITtextコンピュータグラフィックス ohrmusha(補足のみ)
76
80
 
77
81
 
78
82
 

10

文の変更

2021/10/27 13:16

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -69,6 +69,10 @@
69
69
 
70
70
 
71
71
  私は前者の計算式で計算してしまいました。
72
+
73
+
74
+
75
+ 参考文献。。3Dグラフィックスのための数学 工学社
72
76
 
73
77
 
74
78
 

9

まとめ

2021/10/27 12:52

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
 
70
70
 
71
- 私は前者の計算式で計算してしまいました。おそらく間違い
71
+ 私は前者の計算式で計算してしまいました。
72
72
 
73
73
 
74
74
 

8

文の変更

2021/10/27 12:46

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,79 @@
1
+ 1.追記ベクトルA=(2,-1,3)のベクトルAを正規化しなさい
2
+
3
+
4
+
5
+ A^2=2^2+(-1)^2+3^2=4+1+9=14
6
+
7
+
8
+
9
+ 正規化したベクトルは(2/√14,-1/√14,3/√14)になります.
10
+
11
+
12
+
13
+ 2.ポリゴンの3頂点をv1=(1,0,0),v2=(0,1,0),v3=(0,0,1)として法線を正規化しなさい
14
+
15
+
16
+
17
+ ベクトルv1v2=v2-v1=(0-1,1-0,0-0)=(-1,1,0),
18
+
19
+ ベクトルv2v3=v3-v2=(0-0,0-1,1-0)=(0,-1,1)
20
+
21
+ 法線は直交するので、ベクトルv1v2 x ベクトルv2v3=
22
+
23
+ |i,j,k|
24
+
25
+ |-1,1,0|
26
+
27
+ |0,-1,1|=(1,1,1)
28
+
29
+ 法線は正規化して(1/√3,1/√3,1/√3)
30
+
31
+
32
+
33
+ 3.必要な計算
34
+
35
+ ポリゴンの3頂点が
36
+
37
+ v1=(a1,b1,c1),
38
+
39
+ v2=(a2,b2,c2),
40
+
41
+ v3=(a3,b3,c3)のとき、
42
+
43
+ ベクトルv1v2=(a2-a1,b2-b1,c2-c1),
44
+
45
+ ベクトルv2v3=(a3-a2,b3-b2,c3-c2)
46
+
47
+
48
+
49
+ ベクトルv1v2 xベクトルv2v3= (A ,B, C)
50
+
51
+
52
+
53
+ 法線は正規化する必要があるのでn=A/ √A^2+B^2+C^2  , B/√A^2+B^2+C^2,
54
+
55
+ C/√A^2+B^2+C^2,
56
+
57
+
58
+
59
+ v1*v2=|i,j,k|
60
+
61
+ |x1,y1,z1|
62
+
63
+ |x2,y2,z2|=(y1z2-z1y2)i-(x1z2-z1x2)j+(x1y2-y1x2)k
64
+
65
+
66
+
67
+ 1と2どちらがただしいでしょうか。
68
+
69
+
70
+
71
+ 私は前者の計算式で計算してしまいました。おそらく間違い
72
+
73
+
74
+
75
+
76
+
1
77
  ```正規化
2
78
 
3
79
 

7

タイトルと文章の変更

2021/10/27 12:44

投稿

txty
txty

スコア298

test CHANGED
@@ -1 +1 @@
1
- 正規化でポリゴンを反射させたい
1
+ 正規化でポリゴンを反射させたいのに黒く映ってしまう
test CHANGED
File without changes

6

タイトルと文章の変更

2021/10/25 03:18

投稿

txty
txty

スコア298

test CHANGED
@@ -1 +1 @@
1
- 正規化でポリゴンを画面に映したい
1
+ 正規化でポリゴンを反射させたい
test CHANGED
File without changes

5

文の変更

2021/10/25 03:16

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- //glEnable(GL_NORMALIZE);//自動計算を消した
5
+ glEnable(GL_LIGHTNING);
6
6
 
7
7
  glBegin(GL_TRIANGLES);
8
8
 
@@ -70,10 +70,10 @@
70
70
 
71
71
  glEnd();
72
72
 
73
- //glDisable(GL_NORMALIZE);//消した
73
+ glDisable(GL_LIGHTNING);
74
74
 
75
75
 
76
76
 
77
77
  ```
78
78
 
79
- 正規化しつもりが、画面にポリゴンが映らなくなってしまいました。こういう計算だと思ったのですが、正規化して画面にうつるようにしたいです。normalを使いましたが、誤り等ありましたら、申し訳ありません。
79
+ 正規化してポリゴンを反射するつもりが、ポリゴンが反射せず黒くなってしまいました。こういう計算だと思ったのですが、正規化して反射するようにしたいです。normalを使いましたが、その他にも誤り等ありましたら、申し訳ありません。

4

文の変更

2021/10/25 03:14

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -76,4 +76,4 @@
76
76
 
77
77
  ```
78
78
 
79
- 正規化したつもりが、画面にポリゴンが映らなくなってしまいました。こういう計算だと思ったのですが、正規化して画面にうつるようにしたいです。
79
+ 正規化したつもりが、画面にポリゴンが映らなくなってしまいました。こういう計算だと思ったのですが、正規化して画面にうつるようにしたいです。normalを使いましたが、誤り等ありましたら、申し訳ありません。

3

タイトルの変更

2021/10/24 17:04

投稿

txty
txty

スコア298

test CHANGED
@@ -1 +1 @@
1
- ベクトルの正規化でポリゴンを画面に映したい
1
+ 正規化でポリゴンを画面に映したい
test CHANGED
File without changes

2

誤字

2021/10/24 15:54

投稿

txty
txty

スコア298

test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
 
26
26
 
27
- glVertex3f(v[3*a[0]-3],v[3*a[0]-2],v[3*a[0]-1]);//f10
27
+ glVertex3f(v[3*a[0]-3],v[3*a[0]-2],v[3*a[0]-1]);
28
28
 
29
29
 
30
30
 

1

タイトルの変更

2021/10/24 15:51

投稿

txty
txty

スコア298

test CHANGED
@@ -1 +1 @@
1
- ベクトルの正規化でポリゴンを画面にしたい
1
+ ベクトルの正規化でポリゴンを画面にしたい
test CHANGED
File without changes