Line 如何求点的坐标?

Line 如何求点的坐标?,line,point,Line,Point,我在简单的二维欧几里德空间中有有限的点集(我知道这些点的坐标) 假设我在二维欧氏空间中选取点A(x1,y1)和点B(x2,y2)。所以我有一条线AB,我需要找到点C的坐标(实际上我需要找到点C是否在我的点集中),AB=AC的长度,线AB和AC形成直角。(实际上两点应满足这些条件:在AB线的一侧和另一侧) 这应该在恒定的时间内完成。基本上,您只需要将点B围绕点A旋转90度,对吗?如果是这样,则首先将A平移到原点,然后旋转,然后向后平移 C = [-(y2-y1)+x1,x2-x1+y1]; //

我在简单的二维欧几里德空间中有有限的点集(我知道这些点的坐标)

假设我在二维欧氏空间中选取点A(x1,y1)和点B(x2,y2)。所以我有一条线AB,我需要找到点C的坐标(实际上我需要找到点C是否在我的点集中),AB=AC的长度,线AB和AC形成直角。(实际上两点应满足这些条件:在AB线的一侧和另一侧)


这应该在恒定的时间内完成。

基本上,您只需要将点B围绕点A旋转90度,对吗?如果是这样,则首先将A平移到原点,然后旋转,然后向后平移

C = [-(y2-y1)+x1,x2-x1+y1]; // rotate +90 deg
C = [y2-y1+x1,-(x2-x1)+y1]; // rotate -90 deg

这是家庭作业吗?请给它贴上这样的标签。你试过什么?目前,这听起来像是我老板给我的一份简报,而不是一个解决问题的请求。Hbcdev,我尝试使用a*b=0的事实,如果向量a和b形成直角,也使用斜率,但它太复杂了,我强烈感觉这个问题有一个简单的解决方案。