我正在创建一个模拟petri网的android应用程序。我用圆来表示位置,用正方形来表示过渡,用弧来连接视图(这只是petri网中的名字,只是一条直线),这里是我面临的问题,我知道如何连接视图的中心点,但我不知道如何连接圆的边界和正方形的边界,看看它应该解释一切:
在我的应用程序中,我知道我是指一个地方(圆)还是一个过渡点(正方形),我也知道这些视图的尺寸和坐标,你能建议我写一个算法的起点吗?这个算法将连接这两个形状的边框并在线的末端画箭头。提前谢谢
最佳答案
可以创建一个方法,该方法接受一个角度并返回边界上与中心成该角度的点。这涉及到一点三角,和平方的情况。要在两个形状的边界之间画一条线,请确定差向量atan2的角度(ys中的差,xs中的差)。选择边界上具有该角度的点(这将选择连接中心的线段上的点。如果你想的话,你可以改变它。)用一条线连接你得到的两点,然后添加箭头的头部。