トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

tips-maxima-sample00

円周上の点A(x0,y0)における接線の方程式

/* サイノグラフのd とθが与えられたときのグラフから
* そのグラフ上の点A(x0,y0)における接線の方程式を求める
* X0 = d*cos(θ)
* Y0 = d*sin(θ)
* とすると
* (x−d*cos(θ))(d*cos(θ)−a)+(y−d*sin(θ))(d*sin(θ)−b)=0
* d = d
* θ = rad
* として Maxima で計算する
*/
load(eigen)$
load(vect)$
load(stats)$
/* */
   X0: d*cos(rad)$
   Y0: d*sin(rad)$
   /* fx: (x-X0)*(X0-a)+(y-Y0)*(Y0-b)$ */
   /* fx: (x-d*cos(rad))*(d*cos(rad)-a)+(y-d*sin(rad))*(d*sin(rad)-b)$*/
   f(x,y):= (x-X0)*(X0-a)+(y-Y0)*(Y0-b)$
   wi:solve(f(x,y)=0,y)$
   wi[1];
   fy: (x-X0)*(X0-a)+(y-Y0)*(Y0-b)$  
   wix:solve(fy=0,x)$
   wix[1];
/* */