【Mathematica】绘制曲线曲率圆圆心的轨迹

本文,用Mathematica来挥之给定了参数方程的平面曲线,曲率圆圆心的轨迹。并以此来重温微分几何的一些知识。尤其是,前段时间,有网友提问,怎么求曲线的法向量。本文一起解答。

工具/原料

  • 电脑
  • Mathematica

方式/步骤

  1. 1

    假设曲线的参数方程是r[t],先求出曲线的【单元切标的目的量】:

    qie[t_] := Evaluate[D[r[t], t]/Sqrt[D[r[t], t].D[r[t], t]] // FullSimplify]

    对参数方程求导,获得切标的目的量,再归一化处置,才是单元切标的目的量。

  2. 2

    再求曲线的单元法标的目的量:

    对【单元切标的目的量】求导,获得法标的目的量;

    对法标的目的量进行归一化处置,获得单元法标的目的量。

    dr[t_] := Evaluate[D[qie[t], t]]

    fa[t_] := Evaluate[dr[t]/Sqrt[dr[t].dr[t]] // FullSimplify]

    注重,必然是对【单元切标的目的量】求导才能获得法标的目的量,而若是直接对r[t]的导数求导,获得的一般不是法标的目的量。

  3. 3

    曲率半径曲直率的倒数:

    qulvr[t_] := 1/ArcCurvature[r[t], t]

    曲率中间,就是在法标的目的量的偏向上:

    qulvzx[t_] := Evaluate[r[t] + qulvr[t]*fa[t]]

  4. 4

    再把曲率圆画出来:

    Circle[qulvzx[tt], qulvr[t] /. t -> tt]

    这里要遵守一个求导原则:先求导,在赋值。

    不然机械会报错。

  5. 5

    然后把曲率圆圆心轨迹画出来。

    这个轨迹曲线的参数方程,恰好就是qulvzx[t]。

    ParametricPlot[qulvzx[t], {t, 0, 2 Pi}, PlotStyle -> RGBColor[1, 0, 1]]

    而原曲线的参数方程是r[t_] := (Sin[2 t]) {Cos[t], Sin[t]}。

  6. 6

    改换原曲线的参数方程:

    r[t_] := (Sin[3 t]) {Cos[t], Sin[t]}

    这是一条三叶玫瑰线。

  7. 7

    三叶玫瑰线的极坐标方程,加上一个正数,会“膨胀”起来:

    r[t_] := (1/3 *(2 + Sin[3 t])) {Cos[t], Sin[t]}

  8. 8

    当曲率中间完全位于闭曲线内部,且曲线是简单曲线,那么这条曲线必然是凸曲线:

    r[t_] := (1/21 (20 + Sin[3 t])) {Cos[t], Sin[t]}

  9. 9

    再尝尝它:

    (1/51 (50 + Sin[5 t])) {Cos[t], Sin[t]}

  10. 10

    若是一条平面闭曲线,自己不是简单曲线,就必然不是凸曲线。

    (1/2 (1 + Sin[2 t])) {Cos[t], Sin[t]}

注重事项

  • 文首的动态图,里面蓝色曲线的参数方程是{Cos[3 t], Sin[t]}。
  • 发表于 2020-01-06 20:00
  • 阅读 ( 95 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论