zoukankan      html  css  js  c++  java
  • 螺旋线

    螺旋线

    定义

    本文的情景下,圆弧都是在特定的平面下定义的,比如X-Y平面、Y-Z平面、Z-X平面。圆弧的一些属性,比如圆心、半径、圆心角、圆弧上某一点的向量角等都是在平面上定义的。以下是一些概念的说明:

    • 起点半径:圆弧起点到圆心的距离
    • 终点半径:圆弧终点到圆心的距离
    • 螺线:当圆弧的起点半径与终点半径不相等,且圆弧从起点到终点的半径随着角度呈线性变化,此时圆弧被认为是螺线
    • 螺旋:当圆弧还具有垂直于平面的高度时,且高度随着角度呈线性变化,此时圆弧被认为是螺旋
    • 螺距:螺旋每走一圈的高度差
    • 圆锥线:当圆弧既是螺线又是螺旋时,圆弧被认为是圆锥线

    公式推导

    螺旋

    螺旋的长度:

    [L = sqrt {(R* heta_0)^2+H^2} ]

    其中,螺旋高度(H),圆弧半径(R)

    螺旋的切向向量:

    [egin{cases} frac {dx}{d heta}=-Rsin heta \ frac {dy}{d heta}=Rcos heta \ frac {dz}{d heta}=frac {H}{ heta_0} = S end{cases} ]

    螺旋的曲率向量:(frac {R}{(sqrt{R^2+S^2})^3} (Ssin heta,-Scos heta, R))

    曲率公式(分子的模去掉即为曲率向量):

    [k=frac {|r'(t) imes r''(t)|}{|r'(t)|^3} ]

    螺线

    螺线的数学模型:

    [R = frac{Re * heta + Rs( heta_0- heta)}{ heta_0} = a * heta + Rs ag1 ]

    其中,起点半径(Rs),终点半径(Re),圆心角( heta_0)(a)为圆弧半径随圆心角的变化率。

    螺线长度微分:

    [dxy=sqrt{(Rd heta)^2+(dR)^2}=sqrt{R^2+a^2}d heta ag2 ]

    将公式(1)代入公式(2)可化简为公式(3)的形式

    [dxy=sqrt{A heta^2+B heta+C}d heta ag3 ]

    其中,(A=a^2, B=2aRs, C=a^2+Rs^2)

    套用下图中的积分公式进行积分即可得到螺线长度:

    公式证明中有部分错误,请读者自己注意甄别。

    圆锥线

    圆锥线就是在螺线的基础上加一个轴的分量。

    [dxyz=sqrt{A heta^2+B heta+C}d heta ]

    其中,(A=a^2, B=2aRs, C=a^2+Rs^2+S^2)(S)为圆弧高度随圆心角的变化率。

    然后同样按照上一节的积分公式进行积分得到圆锥线长度。

    圆锥线的切向向量和曲率向量按照公式代入推导即可,下面直接给出结果。

    圆锥线的切向向量:

    [egin{cases} frac {dx}{d heta}=-Rsin heta +acos heta \ frac {dy}{d heta}=Rcos heta+asin heta \ frac {dz}{d heta}=frac {H}{ heta_0} = S end{cases} ]

    圆锥线的曲率向量:(frac {1}{(sqrt{R^2+S^2+a^2})^3} (S(Rsin heta-2acos heta),-S(Rcos heta+2asin heta), R^2+2a^2))

    (S=0)代入以上公式即为螺线的结果。

  • 相关阅读:
    原生微信小程序砸金蛋奖程序代码分析
    git 如何恢复到指定版本--很常用的方法
    cupload.js手动插入数据
    asp.net Core3.1自定义权限体系-菜单和操作按钮权限
    linux 解决docker、docker-compose命令权限问题(sudo)
    Supervisor 安装和使用教程
    php 无限级分类查找父节点所有子节点【找出 某节点的子节点】
    bat echo 输出内容为不同的颜色
    git 提交团队项目代码的流程
    bat脚本 切换到其他盘符
  • 原文地址:https://www.cnblogs.com/fr-ruiyang/p/14446601.html
Copyright © 2011-2022 走看看