假設曲線的參數方程是r[t],先求出曲線的【單元切標的目的量】:
qie[t_] := Evaluate[D[r[t], t]/Sqrt[D[r[t], t].D[r[t], t]] // FullSimplify]
對參數方程求導,獲得切標的目的量,再歸一化處置,才是單元切標的目的量。
再求曲線的單元法標的目的量:
對【單元切標的目的量】求導,獲得法標的目的量;
對法標的目的量進行歸一化處置,獲得單元法標的目的量。
dr[t_] := Evaluate[D[qie[t], t]]
fa[t_] := Evaluate[dr[t]/Sqrt[dr[t].dr[t]] // FullSimplify]
注重,必然是對【單元切標的目的量】求導才能獲得法標的目的量,而若是直接對r[t]的導數求導,獲得的一般不是法標的目的量。
曲率半徑曲直率的倒數:
qulvr[t_] := 1/ArcCurvature[r[t], t]
曲率中間,就是在法標的目的量的偏向上:
qulvzx[t_] := Evaluate[r[t] + qulvr[t]*fa[t]]
再把曲率圓畫出來:
Circle[qulvzx[tt], qulvr[t] /. t -> tt]
這里要遵守一個求導原則:先求導,在賦值。
不然機械會報錯。
然后把曲率圓圓心軌跡畫出來。
這個軌跡曲線的參數方程,恰好就是qulvzx[t]。
ParametricPlot[qulvzx[t], {t, 0, 2 Pi}, PlotStyle -> RGBColor[1, 0, 1]]
而原曲線的參數方程是r[t_] := (Sin[2 t]) {Cos[t], Sin[t]}。
改換原曲線的參數方程:
r[t_] := (Sin[3 t]) {Cos[t], Sin[t]}
這是一條三葉玫瑰線。
三葉玫瑰線的極坐標方程,加上一個正數,會“膨脹”起來:
r[t_] := (1/3 *(2 + Sin[3 t])) {Cos[t], Sin[t]}
當曲率中間完全位于閉曲線內部,且曲線是簡單曲線,那么這條曲線必然是凸曲線:
r[t_] := (1/21 (20 + Sin[3 t])) {Cos[t], Sin[t]}
再嘗嘗它:
(1/51 (50 + Sin[5 t])) {Cos[t], Sin[t]}
若是一條平面閉曲線,自己不是簡單曲線,就必然不是凸曲線。
(1/2 (1 + Sin[2 t])) {Cos[t], Sin[t]}
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!