我正在尝试使用Shapely来识别形状所使用的区域以及CNC路由器上将用于切割它的工具所使用的区域。该形状是使用ezdxf从dxf图纸导入的。
工具路径可以是矩形(如果它们被锯盘沿直线切割)或一组线段(如果它们是由铣刀路由的)。在两种情况下,我都可以使用LineString.buffer()自动创建偏移量并找到工具使用的区域。
我使用shapely是因为我认为它是最好的工具,可用于查找形状是否重叠(使用
有没有办法创建表示形状上弧线段的线段?
例如,如何在此形状的左侧创建弧线?我需要创建自己的(缓慢)Python函数吗?还是有优化的shapely方式?
工具路径可以是矩形(如果它们被锯盘沿直线切割)或一组线段(如果它们是由铣刀路由的)。在两种情况下,我都可以使用LineString.buffer()自动创建偏移量并找到工具使用的区域。
我使用shapely是因为我认为它是最好的工具,可用于查找形状是否重叠(使用
union()
将所有工具合并为一个形状,并使用overlaps()
查找干涉)。如果有更好的工具,请告知我。
buffer()
在创建表示角上弧线段时做得很好。有没有办法创建表示形状上弧线段的线段?
例如,如何在此形状的左侧创建弧线?我需要创建自己的(缓慢)Python函数吗?还是有优化的shapely方式?
y = x * 5
比y = [i * 5 for i in x]
要快得多,而且对于大型数据集来说,这个20%可能会变成20倍或2000倍)。Numpy数组是与列表非常不同的数据结构(非常节省内存,但大小固定:无法添加)。如果你只处理最多几百个项目的序列,那么numpy就显得太过浪费了。如果你正在处理数十亿个项目,那么numpy是唯一的选择。 - Joe Kington