我想编写一个程序来绘制一张覆盖平面不规则四边形平面的图片,就像这样:
但是,我不知道相关的算法,例如,我应该以哪种顺序绘制边缘?
有人可以为我指点方向吗?
最佳答案 道歉,在我之前的回答中,我误解了这个问题.
这是对算法的一种刺激(不一定是最佳方式,而是一种方式).您所需要的只是渲染多边形和基本旋转的能力.
如果您不想翻转标签,请单独绘制它们(标签可以存储在顶点中,例如,与多边形点一起旋转,但作为文本直立绘制).
编辑
我收到了一个关于“以任意多边形开始”步骤的问题.我没有非常清楚地传达这一步骤,因为我实际上只打算从提供的图表中建议任意多边形,而不是世界上任何任意多边形.
但是,这应该至少适用于任意四边形,包括凹形四边形,如下所示:
但是,我担心我缺乏适当的背景来提供有关其原因的证据.也许更多数学精通的人可以帮助证明.
我认为解决证明的一种方法是首先从所有平铺边缘都是流形的概念开始 – 这是考虑到我们在每个边缘生成相邻多边形以生成平铺结果的给定.然后我们可以证明每个2价边界顶点将成为这个操作的结果的4价顶点(因为它的两个边缘将变为多面体,并且引入两个新的顶点边缘到混合 – 这似乎是向我证明最困难的部分).最后一步可能是证明每个4价顶点的角度总和总是加起来为360度.