我试图找到任何输入多边形形状的互补旋转“齿轮”形状。例如,这个多边形被旋转以使互补齿轮变得明显。两种形状都可以不受干扰地旋转。
我在定义第二个多边形时遇到问题,它是白色内部区域的边缘。我能想到的一种方法是沿输入形状的圆周“采样”输入形状,然后像以前一样旋转以生成点云。可以使用凹壳算法(Alpha 形状)来获得边缘。
虽然这可行,但我觉得必须有一个更优雅的解决方案来解决这个问题。
谢谢
我试图找到任何输入多边形形状的互补旋转“齿轮”形状。例如,这个多边形被旋转以使互补齿轮变得明显。两种形状都可以不受干扰地旋转。
我在定义第二个多边形时遇到问题,它是白色内部区域的边缘。我能想到的一种方法是沿输入形状的圆周“采样”输入形状,然后像以前一样旋转以生成点云。可以使用凹壳算法(Alpha 形状)来获得边缘。
虽然这可行,但我觉得必须有一个更优雅的解决方案来解决这个问题。
谢谢
我想到了。解决方案是跟踪所有顶点和每条边的特殊点。然后,通过对所有获得的曲线进行交集,可以提取内齿轮形状。
边上的接触点是边上最接近齿轮瞬时转动中心的点,即两个基圆的接触点。
我正在使用匀称做交叉点。
我尝试上传gif,但没有成功,所以这里有一个链接:
谢谢各位,我解决了。解决方案是跟踪每个边上的每个顶点和接触点。接触点是那条边上最靠近瞬时旋转中心的点,即两个基圆的接触点。
然后我使用 shapely 找到所有获得的形状的交点,它代表内齿轮。
我尝试上传 gif,但这不起作用,所以改为: