トップ 一覧 検索 ヘルプ RSS ログイン

Tips-maxima-vectの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!! 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