协助创建围绕圆弧创建框的算法
Assistance on creating algorithm for creating box around arc
我正在寻找有关创建能够计算弧边界框的算法的帮助。通常,这将是一个简单的问题。但是,我要求盒子的边缘之一是连接弧线起点和终点的线。
我在开发能够计算矩形的另外两个点的算法时遇到了困难。
这是我正在尝试计算的图片:
两个紫色的点,我需要开发一个算法来确定这两个位置。绿点是可以输入的已知点。另外,我确实知道圆弧的半径和圆心。
我需要算法来处理 AB 线垂直、具有 + 斜率和 - 斜率的不同情况。
我一直在考虑几个方向。例如,我知道通过点 E 的线平行于线 AB。因为它是平行的,这意味着它们将具有相同的斜率,并且从点 A 到紫色点的线垂直于这条线。然后我可以考虑通过 E 的线和这条垂直线的交点。
这个方法看起来很麻烦,因为那时我需要考虑线 AB 的斜率无限大且为 0 的情况。我想知道是否有某种算法可以自动解决这个问题(或者甚至不考虑AB 线的斜率)
你声称知道点 A
、B
、C
、D
、E
,并且知道圆弧不超过180°(半圆)。
让P1
,和P2
,补充bounding box的两个点-(图中,P1
是A
上面的紫色点,P2
上面那个 B
).
使用向量:
E-C = vector perpendicular to segment AB', i/e subtract C from E; its magnitude is equal to the distance EC
.
P1 = A + (E-C)
P2 = B + (E-C)
边界框 = 矩形 A
、P1
、P2
、B
如果您需要更紧密的配合,可以将 vector (E-C)
替换为 vector (D-C)
以将边界段 P1P2
与 D
相切
我正在寻找有关创建能够计算弧边界框的算法的帮助。通常,这将是一个简单的问题。但是,我要求盒子的边缘之一是连接弧线起点和终点的线。
我在开发能够计算矩形的另外两个点的算法时遇到了困难。
这是我正在尝试计算的图片:
两个紫色的点,我需要开发一个算法来确定这两个位置。绿点是可以输入的已知点。另外,我确实知道圆弧的半径和圆心。
我需要算法来处理 AB 线垂直、具有 + 斜率和 - 斜率的不同情况。
我一直在考虑几个方向。例如,我知道通过点 E 的线平行于线 AB。因为它是平行的,这意味着它们将具有相同的斜率,并且从点 A 到紫色点的线垂直于这条线。然后我可以考虑通过 E 的线和这条垂直线的交点。
这个方法看起来很麻烦,因为那时我需要考虑线 AB 的斜率无限大且为 0 的情况。我想知道是否有某种算法可以自动解决这个问题(或者甚至不考虑AB 线的斜率)
你声称知道点 A
、B
、C
、D
、E
,并且知道圆弧不超过180°(半圆)。
让P1
,和P2
,补充bounding box的两个点-(图中,P1
是A
上面的紫色点,P2
上面那个 B
).
使用向量:
E-C = vector perpendicular to segment AB', i/e subtract C from E; its magnitude is equal to the distance EC
.
P1 = A + (E-C)
P2 = B + (E-C)
边界框 = 矩形 A
、P1
、P2
、B
如果您需要更紧密的配合,可以将 vector (E-C)
替换为 vector (D-C)
以将边界段 P1P2
与 D