N88-BASICでベクトル (2回目)

 2022/3/6(日)


N88-BASICでベクトル (2回目)

 
ベクトルの外積
 
a,bベクトルの外積cベクトルは、
c = a×b = -b×aで、a,bベクトルが
作る平行四辺形の面積と同じ大きさ
で垂直なベクトルになります
向きは、aからbへ右手の4本指を
向けた時、残りの親指の方向です
(aからbへ右ねじを回して進む向き)

 















bx : d = by : ay より、byd = aybx 

2 a,bベクトルが作る平行四辺形の面積
    axby - aybx 
 
a,bベクトルが作る平行四辺形(青+黄)の
面積は、図2のようになります
 
黄に注目すると、平行四辺形の面積を変え
ずに底辺を水平にすることができます
 
底辺を水平にした平行四辺形の面積は
axby - byd です
 
紫の三角形は相似なので
bx : d = by : ay より、byd = aybx 
となり、
+灰?+水色の平行四辺形と
+灰?+桃色の平行四辺形が同じ面積
になり、
axby - byd = axby - aybx です
よって、a,bベクトルが作る平行四辺形
(青+黄)の面積は、axby - aybx となります
 
a,bベクトルが作る平行四辺形の
面積と同じ大きさで垂直なベクトルを
cベクトルとすると、
c = (0, 0, axby - aybx)
となります
a,bベクトルはxy平面上なので
cベクトルはz軸方向になります
 
ここから、3次元ベクトルを大文字で
表すことにします
 
A = (ax, ay, az)
B = (bx, by, bz)として、
A,Bベクトルが作る平行四辺形を
x,y,z軸側から見ると
x軸 cx = aybz - azby 
y軸 cy = azbx - axbz 
z軸 cz = axby - aybx 
の大きさに見えます
C = (cx, cy, cz)
A,Bベクトルが作る平行四辺形の
面積と同じ大きさで垂直なベクトル
になります
C = A×B です
 
別の導き方、
Ex,Ey,Ezを各(直交)座標軸の
単位ベクトルとすると、
A = axEx + ayEy + azEz 
B = bxEx + byEy + bzEz 
 
Ei×Ei = 0ベクトル (i=x,y,z)
Ex×Ey = Ez 、Ey×Ex = -Ez 
Ey×Ez = Ex Ez×Ey = -Ex 
Ez×Ex = Ey Ex×Ez = -Ey 
 
A×B = (axEx + ayEy + azEz)
     ×(bxEx + byEy + bzEz)
= axEx×byEy + axEx×bzEz 
 +ayEy×bxEx + ayEy×bzEz 
 +azEz×bxEx + azEz×byEy 
= axbyEz - axbzEy 
 -aybxEz + aybzEx
 +azbxEy - azbyEx 
= (aybz - azby)Ex 
 +(azbx - axbz)Ey 
 +(axby - aybx)Ez 
= (aybz-azby,azbx-axbz,axby-aybx)
 
A,Bベクトルが作る平面の法線ベクトルN
(面に垂直な単位ベクトル)は
C = A×B
N = C / |C|で求めることができます
 
以下のサンプルは、
マウスの左クリックでベクトルB
      右クリックでベクトルA
zx平面(横線)を移動してC = A×B
(縦線)の1/100を表示します
 
NL-BASICとblg~.zip(vec002.bas)は
以下のリンクからダウンロードできます


https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい
 













このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)