如何按层级创建绘图元素?实现对象层级遮挡的绘图方案
多层对象遮挡绘图需求
输入数据格式
输入为多个对象,每个对象是由多组三维线段坐标构成的列表,格式示例如下:
obj_1 = [(x1, y1, z1, x2, y2, z2), (...),...] obj_2 = [(x1, y1, z1, x2, y2, z2), (...),...] # 更多对象依此类推
数据示例为符合上述格式的结构化坐标集合。
任务需求
需按照对象创建的调用顺序实现遮挡逻辑:先创建的对象处于上层,后创建的对象处于下层(会被先创建的对象遮挡)。比如先创建obj_1,之后创建的obj_2会被obj_1遮挡,后续创建的obj_3会被obj_1和obj_2遮挡。
期望输出
输出绘图所需的所有线条的最终坐标(需包含遮挡处理后的可见线条部分)。
效果参考
效果参考图展示了多层对象按顺序遮挡后的绘图效果。
疑问
- 是否应该使用shapely库来实现遮挡逻辑?
- 对象形状无固定限制,仅针对圆、三角形、线条编写代码的方案不合理,如何适配任意形状的对象?
内容的提问来源于stack exchange,提问作者Bobby Lith
相关产品推荐
相关产品推荐

