均匀三次b样条曲线_Mathematica与古典微分几何(1)-平面曲线(2)

9bbe29bba093bf1088a803dd58f135e3.png

参考书目:Modern Differential Geometry of Curves and Surfaces with Mathematica


第二节主要是利用mma研究在第一节中的东西

写在前面:

1.首先要使用Notation来允许下标能标志一个变量。

2.我将使用latex来写大部分简单的代码,因为复制过来的文本形式实在是失去了其数学美观

3.巧妙利用各种假设和化简函数化简,我除了第一节的都不写在简单的语句里了


欧几里得空间

一个向量可以这样表示:

两种乘法的区别:

所以一个是元素两两相乘,一个是点乘

定义模L函数:

实际上mma内部就自带模函数Norm,但我们不用他

定义旋转操作函数J:

使用I来表示单位虚数

使用Conjugate来给出共轭复数

使用全局假设告诉mma,我的xy是实数,并用Refine来施加这个假设:

也可以使用简便的输入:Esc+co+Esc

使用ReIm将复数从加法形式转化为坐标形式

定义cplx函数将复数从坐标形式转化为加法形式

计算一下

验证了这个公式

的正确性

定义向量夹角函数vectorAngle,对应内置的VectorAngle

测试一下正确性


空间中的曲线

定义一条三维曲线:

可以对其求速率场

求速度场

求加速度场

定义曲线的单位长度的速度:

使用 ParametricPlot 和 ParametricPlot3D 来可视化参数曲线

[Alpha][t_] := {Cos[5 t], Cos[7 t]};
ParametricPlot[[Alpha][t], {t, 1, [Pi]}]

155fe55cabfcfa9e6281c835de875927.png

曲线的长度

定义一个圆,圆和椭圆的内置函数都为Circle:

定义一个抛物线:

定义一个椭圆:

定义不定积分的弧长函数,要和内置的弧长函数ArcLength区别开来:

但是这样当t为一个代数式的时候,这个式子就会没法计算,所以改用这样:

计算一下圆的没有初始值的弧长函数:

计算一下椭圆的没有初始值的弧长函数:

可以看到出现了椭圆积分

定义弧长函数,这里注意区别内置的弧长函数ArcLength和数组长度Length

定义数值弧长函数:

定义一条半三次抛物线:

检查它的t从a到b的弧长

检查它的t从1到2的数值的弧长:


平面曲线的曲率

定义平面曲率,注意曲率已经有内置函数ArcCurvature:

拿来看看圆的曲率:

拿来看看椭圆的曲率:


角度函数

定义角度函数:

定义旋转角:

观察圆的旋转角:

,作图看看
Plot[Arg[I Cos[t] - Sin[t]], {t, 0, 2 [Pi]}, AspectRatio -> 1]

a9ecd7488803db237ae3d573500147b2.png

观察椭圆的旋转角:

作图
Plot[Arg[I  Cos[t] - 2 Sin[t]], {t, 0, 2 [Pi]}, AspectRatio -> 1]

f8fa95d62625f71f55ae4b3d7def3355.png

可以看到有些波动


平面曲线的初步例子

定义对数螺线:

观察b对曲线形状的影响

ParametricPlot[
 Evaluate@Table[
   logspiral[1, b][t], {b, -1/2, 1/2, 1/2}], {t, -2 [Pi], 2 [Pi]}, 
 PlotRange -> 2, PlotLegends -> "Expressions"]

dd765f8d960477773a433c9accd8a21a.png

观察两条黑线之间的夹角

Manipulate[
 Show[ParametricPlot[#[t], {t, -2 [Pi], 2.42}], 
    Graphics[{Arrow[{#[t], #[t] + unitvelocity[#][t]}], 
      Line[{{0, 0}, #[t]}]}], PlotRange -> 3] & @@ {logspiral[1, 1/
    2]}, {t, -2 [Pi], 2.42, 0.1}]

b5a5415ce10e0a7c99caafe82e87c713.gif

观察半三次抛物线

ParametricPlot[sc[t], {t, -1, 1}, AspectRatio -> Automatic]

53dbf20471a026078549317a295b3b41.png

计算半三次抛物线的曲率:

观察它的曲率

78b709e3f56cd07d937967f731db165d.png

计算半三次抛物线的旋转角

观察它的旋转角

b3ac81ee79116f1140c1de18b06b360c.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值