我有一个动态矩形,其中创建了4个子三角形(t0-t3)(通过添加顶点的对角线)。当给定某个x | y坐标时,找到相应三角形的最快方法是什么?矩形具有特定的位置和尺寸。我只需要正确的“id”而不是三角形的顶点,所以例如在给出p1的图形中,因为位置0应该返回,3位于p2,2位于p3,......
当然,一种可能的解决方案是创建三角形并查询该点是否包含在其中一个中,但对于那些简单的事情来说,感觉就像一个非常复杂的解决方案。 我还考虑过从中心创建一个矢量并测量角度,但在一个不同尺寸的矩形中它也似乎很复杂。
答案 0 :(得分:0)
请考虑以下事项:
让矩形的左下角为(0,0),右上角为(1,1)。现在,形成三角形的两条线定义为:
- Source Attachment Configuration
- External location
- External Folder
- (Browse to filesystem location)
对于除(.5,.5)之外的每个点,我们对给定的x或y都有一个三元条件。例如,假设x = .2,我们知道:
如果y< .2,我们在底部三角形(t2),
elif .2< y< .8,我们在左三角形(t3),
否则,我们在顶部三角形(t0)。
希望这有助于不明确地为您提供代码。