连接几何图形的边界
Linking borders of geometric figures
我正在创建一个模拟 Petri 网的 Android 应用程序。我用圆圈表示位置,用正方形表示过渡,我用弧线连接这些视图(这只是 Petri 网的名称,为了我的目的,它只是一条直线)这就是我面临的问题,我知道如何连接这些视图的中心点,但我不知道如何连接圆的边界和正方形的边界,看看图像它应该解释一切:
在我的应用程序中,我知道我是指向一个地方(圆圈)还是过渡(正方形),我也知道这些视图的维度及其坐标,你能建议我编写算法的任何起点吗将连接这两个形状的边界并在线的末端绘制箭头?提前致谢
您可以创建一个方法,该方法接受一个角度和 returns 与中心成该角度的边界上的点。这涉及到一点三角学和正方形的情况。要在两个形状的边界之间画一条线,请确定差向量 atan2 的角度(ys 的差异,xs 的差异)。选择边界上具有该角度的点。 (这选择了连接中心的线段上的点。如果需要,您可以更改它。)用一条线连接您得到的两个点,并添加箭头。
我正在创建一个模拟 Petri 网的 Android 应用程序。我用圆圈表示位置,用正方形表示过渡,我用弧线连接这些视图(这只是 Petri 网的名称,为了我的目的,它只是一条直线)这就是我面临的问题,我知道如何连接这些视图的中心点,但我不知道如何连接圆的边界和正方形的边界,看看图像它应该解释一切:
在我的应用程序中,我知道我是指向一个地方(圆圈)还是过渡(正方形),我也知道这些视图的维度及其坐标,你能建议我编写算法的任何起点吗将连接这两个形状的边界并在线的末端绘制箭头?提前致谢
您可以创建一个方法,该方法接受一个角度和 returns 与中心成该角度的边界上的点。这涉及到一点三角学和正方形的情况。要在两个形状的边界之间画一条线,请确定差向量 atan2 的角度(ys 的差异,xs 的差异)。选择边界上具有该角度的点。 (这选择了连接中心的线段上的点。如果需要,您可以更改它。)用一条线连接您得到的两个点,并添加箭头。