链接几何图形的边界

时间:2015-06-04 18:49:39

标签: android algorithm geometry figure

我正在创建一个模拟Petri网的Android应用。我用圆圈代表地方并按方格过渡,我用弧形连接这些视图(它只是来自petri网的名称,为了我的目的,它只是一条直线)和这就是我面临的问题,我知道如何连接这些视图的中心点,但我不知道如何连接圆形边框和方形边框,看看图像吧应该解释一切:enter image description here

在我的应用中,我知道如果我指向一个地方(圆圈)或过渡(方形),我也知道这些视图的尺寸及其坐标,你能否为我建议任何一个起点编写一个算法,将连接这两个形状的边框,并在线的末尾画出箭头?提前致谢

1 个答案:

答案 0 :(得分:1)

您可以创建一个角度并从中心返回该角度的边界上的点的方法。这涉及一点三角法,以及正方形的情况。要在两个形状的边界之间绘制一条线,请确定差矢量atan2的角度(ys的差异,xs的差异)。选择具有该角度的边界上的点。 (这会选择连接中心的线段上的点。如果需要,可以更改此项。)用线条连接两个点,然后添加箭头。