大家好,欢迎来到IT知识分享网。
基于三个离散点求外接圆半径和曲率
方法1
方法2
近似认为 ∣ P 1 ⃗ ∣ = ∣ P 2 P 3 ⃗ ∣ = d s |\vec{P_1}| = |\vec{P_2P_3}| = ds ∣P1∣=∣P2P3∣=ds相等,求向量 P 2 P 1 ⃗ \vec{P_2P_1} P2P1和向量 P 2 P 3 ⃗ \vec{P_2P_3} P2P3的向量和,记向量和的端点为 A A A。易知四边形 D P 1 P 2 P 3 DP_1P_2P_3 DP1P2P3为菱形, Δ O P 1 P 2 \Delta OP_1P_2 ΔOP1P2和 Δ O P 2 P 3 \Delta OP_2P_3 ΔOP2P3为等腰三角形,所以 Δ O P 1 P 2 \Delta OP_1P_2 ΔOP1P2和 Δ P 1 P 2 D \Delta P_1P_2D ΔP1P2D相似,另外两个三角形同理,所以他们有以下关系
l d s = d s R \frac{l}{ds} = \frac{ds}{R} dsl=Rds
根据这个关系式可得
κ = 1 R = l d s 2 \kappa = \frac 1R = \frac{l}{ds^2} κ=R1=ds2l
其中 l = ∣ P 2 P 1 ⃗ + P 2 P 3 ⃗ ∣ l = |\vec{P_2P_1} + \vec{P_2P_3}| l=∣P2P1+P2P3∣
根据密切圆概念求轨迹的曲率
参考相关文献1
- 曲率圆(密切圆)的定义
如果我们要计算某一处的曲率,就在它的左右各取一个点,并用这三点确定一个圆。然后将左右两个点不断向中间靠拢,最终得到的圆,就是曲率圆。曲率圆就是对这个点附近曲线的最佳圆逼近。 - 曲率圆的特点
- 曲线较为平坦的地方,曲率圆半径较大,较为弯曲的地方,曲率圆半径较小
- 根据曲率圆求曲率的过程
假设一段曲线上取三个点,假设中间的点为 x 0 x_0 x0,左右两个点分别为 x 0 − δ x_0 – \delta x0−δ和 x 0 + δ x_0 + \delta x0+δ,由它们确定的圆的半径用 R R R表示。
这个半径可以根据外接圆半径得到, S Δ A B C S_{\Delta ABC} SΔABC为这个三角形的面积,a,b,c为三个点构成三角形的三条边的边长,即三个向量的模,写作
R = a b c 4 S Δ A B C = ∣ ∣ a ∣ ∣ ⋅ ∣ ∣ b ∣ ∣ ⋅ ∣ ∣ c ∣ ∣ 4 S Δ A B C \begin{split} R &= \dfrac {abc}{4S_{\Delta ABC}} \\ &= \dfrac {||a||·||b||·||c||}{4S_{\Delta ABC}} \end{split} R=4SΔABCabc=4SΔABC∣∣a∣∣⋅∣∣b∣∣⋅∣∣c∣∣
让左右两边的点向中间靠,当 δ → 0 \delta \rightarrow 0 δ→0时,即可得到曲率圆的半径,写作
lim δ → 0 R = [ f ( x 0 + δ ) − f ( x 0 − δ ) δ ] 2 + 4 [ f ( x 0 + δ ) − f ( x 0 ) δ ] 2 + 1 [ f ( x 0 + δ ) − f ( x 0 − δ ) δ ] 2 + 1 2 ∣ f ( x 0 + δ ) + f ( x 0 − δ ) − 2 f ( x 0 ) δ 2 ∣ = [ f ( x 0 + δ ) − f ( x 0 − δ ) δ ] 2 + 4 [ f ( x 0 + δ ) − f ( x 0 ) δ ] 2 + 1 [ f ( x 0 + δ ) − f ( x 0 − δ ) δ ] 2 + 1 2 ∣ f ( x 0 + δ ) + f ( x 0 − δ ) − 2 f ( x 0 ) δ 2 ∣ \begin{split} \lim_{\delta \rightarrow0}R &= \dfrac {\sqrt{\Big[\dfrac{f(x_0 + \delta) – f(x_0 – \delta)}{\delta}\Big]^2+ 4} \sqrt{\Big[\dfrac{f(x_0 + \delta) – f(x_0)}{\delta}\Big]^2+ 1} \sqrt{\Big[\dfrac{f(x_0 + \delta) – f(x_0 – \delta)}{\delta}\Big]^2+ 1} }{2\Big|\dfrac {f(x_0 + \delta) + f(x_0 – \delta) – 2f(x_0)}{\delta^2}\Big|} \\ &= \dfrac {\sqrt{\Big[\dfrac{f(x_0 + \delta) – f(x_0 – \delta)}{\delta}\Big]^2+ 4} \sqrt{\Big[\dfrac{f(x_0 + \delta) – f(x_0)}{\delta}\Big]^2+ 1} \sqrt{\Big[\dfrac{f(x_0 + \delta) – f(x_0 – \delta)}{\delta}\Big]^2+ 1} }{2\Big|\dfrac {f(x_0 + \delta) + f(x_0 – \delta) – 2f(x_0)}{\delta^2}\Big|} \end{split} δ→0limR=2
δ2f(x0+δ)+f(x0−δ)−2f(x0)
[δf(x0+δ)−f(x0−δ)]2+4[δf(x0+δ)−f(x0)]2+1[δf(x0+δ)−f(x0−δ)]2+1=2
δ2f(x0+δ)+f(x0−δ)−2f(x0)
[δf(x0+δ)−f(x0−δ)]2+4[δf(x0+δ)−f(x0)]2+1[δf(x0+δ)−f(x0−δ)]2+1
综上,求路径半径及其曲率的公式为
R = lim δ → 0 R = { 1 + [ f ′ ( x 0 ) ] 2 } 3 2 ∣ f ′ ′ ( x 0 ) ∣ R = \lim_{\delta \rightarrow0}R =\displaystyle \frac{\big\{1+\big[f'(x_0)\big]^2\big\}^{\frac 32}}{|f”(x_0)|} R=δ→0limR=∣f′′(x0)∣{
1+[f′(x0)]2}23
κ = 1 R = ∣ f ′ ′ ( x 0 ) ∣ { 1 + [ f ′ ( x 0 ) ] 2 } 3 2 \kappa = \frac 1R =\displaystyle \frac{|f”(x_0)|}{\big\{1+\big[f'(x_0)\big]^2\big\}^{\frac 32}} κ=R1={
1+[f′(x0)]2}23∣f′′(x0)∣
- 刘金堂的知乎专栏:https://zhuanlan.zhihu.com/p/ ↩︎
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/134826.html