首页 文章

几何 - 两侧圆形的凸面围绕几何中心旋转

提问于
浏览
2

我想这样做,凸起(由一些线或弧组成)围绕它的几何中心(Cx,Cy)旋转 . 同时凸起的两侧是圆形(由半径给出:R和左中心:(Lx,Cy),右中心:(Rx,Cy)) . 它表示圆心与X轴相同(Cy) .

模特图片:

Figure 1

该算法旨在计算旋转θ(0至360度)时的Lx和Rx,而具有两个圆的凸面仅分别具有一个接触点 . 我怎样才能实现它?

假设我们可以通过给定的Δ距离或几何中心周围的Δθ获得凸离散点 .

1 回答

  • 0

    为了提供旋转凸面和圆形之间的接触,值得分析地定义凸面 .

    例如,如果直线段具有参数方程

    X = X0 + t * (X1-X0)
    Y = Y0 + t * (Y1-Y0)
    

    然后求解方程组

    (X - Lx)^2 + (Y - Cy)^2 = R^2             //distance
    (X - Lx) * (X1 - X0) + (Y - Cy) * (Y1 - Y0) = 0    //tangent perpendicularity to radius
    

    对于未知数t和Lx,检查t是否在0..1范围内 . 如果为true - circle接触此段,则Lx有效

    如果曲线段是分析曲线,则触点处的曲线法线应与半径共线 .

    对于半径为aR和中心轴的圆弧段,ay相切条件为:

    (ax - Lx)^2 + (ay - Cy)^2 = (aR + R)^2
    

    再次 - 需要检查切点是否在弧内限制内

相关问题