您知道一种用于通过一系列对齐的圆对椭圆进行建模的算法

问题描述 投票:0回答:1

您知道一种用于通过一系列对齐的圆对椭圆进行建模的算法吗?谢谢

enter image description here

algorithm geometry ellipse
1个回答
1
投票

如果椭圆以长和短半轴a和b为中心,则长轴末端的曲率半径r为

r =b²− a

So,{±(a − r),0}是半径为r的外圆的中心。中间的圆在半径为b的{0,0}处。对于中间圆,可以使用

描述椭圆上的一个点

{x,y} = {a·cosθ,y = b·sinθ}

此时椭圆的切线为

{dx,dy} = {− a·sinθ,dy = b·cosθ}

该切线的法线与主轴线的交点是半径为r₀且接触椭圆的圆的中心{x₀,0}。

x₀= x + y·dy / dxr₀= hypot(x₀− x,y)

这里的问题是,您从角度θ开始,并且椭圆形的间隔角度不产生均匀分布的圆,请参见下图(a)。

您可以颠倒上述步骤,以使圆心均匀分布。给定圆的中心{x₀,0},

cosθ=x₀/(a −b²/ a)sinθ=符号(x₀)·sqrt(1 −cos²θ)r₀= hypot(x₀− a·cosθ,b·sinθ)

这将给出图(b)中的分布。您必须按照一定的距离进行游戏,以使椭圆被圆圈覆盖。椭圆越平坦,您需要的圆圈就越多。

aequidistant ellipse anglesb equidistand circle centres

© www.soinside.com 2019 - 2024. All rights reserved.