- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!! MAXIMA de vect
Tips-maxima
! ベクトルの内積
inn(a,b):=transpose(a).b;
! ベクトルの外積
ext(a,b):=matrix(
[a[2][1]*b[3][1]-a[3][1]*b[2][1]],
[a[3][1]*b[1][1]-a[1][1]*b[3][1]],
[a[1][1]*b[2][1]-a[2][1]*b[1][1]]);
----
/*
点pA=[ax, ay, az]を通る平面alphaを描く
法線ベクトル vH=[hx, hy, hz]
*/
pA:[1,-1,-2];
vH:[1,3,2];
alpha: vH[1]*(x-pA[1])+vH[2]*(y-pA[2])+vH[3]*(z-pA[3])=0;
alphaGraph: solve(alpha, z);
pi: vH[1]*x+vH[2]*y+vH[3]*z+1=0;
piGraph: solve(pi, z);
plot3d([rhs(alphaGraph[1]), rhs(piGraph[1]),[x,-4, 4],[y,-4,4]]);
----
/* 平面alphaと直線Lの交点Bの座標を求める */
L: [(x-2)/-2=t, y/2=t, (z+1)/1=t];
W: map(lambda([s,t], solve(s, t)),L,[x,y,z]);
WORKx:subst(rhs(W[1][1]), x, alpha);
WORKy:subst(rhs(W[2][1]), y, WORKx);
WORKz:subst(rhs(W[3][1]), z, WORKy);
Bt: rhs(solve(WORKz, t)[1]);
B: map(lambda([s],subst(Bt, t, rhs(s[1]))),W);
----
*https://pianofisica.hatenablog.com/entry/2018/12/03/092153#%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E3%81%AE%E5%86%85%E7%A9%8D