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
axby - aybx
面積は、図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)は
以下のリンクからダウンロードできます