math - 查找垂直点与直线相交处的 x 和 y 坐标

标签 math geometry computational-geometry trigonometry

这是此 question 的后续问题.

以下图为例:

enter image description here

我所知道的:

  • xy点坐标D , E ,和P .
  • 因此,我也知道 D-E 的斜率和截距线

我想知道的是:

  • xy点坐标Q 。 (这是穿过 D-E 线的点)。

最佳答案

表示法P=[px,py], D=[dx,dy], E=[ex,ey], Q=[qx,qy]

第一:

R=P-D=[px-dx, py-dy]=[rx,ry]

K=E-D=[ex-dx, ey-dy]=[kx, ky]

然后

z=dot(R,K)/dot(K,K)=(rx*kx+ry*ky) / (kx*kx+ky*ky)

终于

Q=D+z*K=[dx+z*kx, dy+z*ky]

R是从D点开始到K点结束的向量,K是从D点开始到E点结束的向量。使用它我们进行标量投影来计算结果Q。有关概念的更多信息here

关于math - 查找垂直点与直线相交处的 x 和 y 坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55217300/

相关文章:

python - 计算到多个点的最小距离的 map

matlab - 在 matlab/octave 中制作动画图/轨迹

将点均匀放置在球体内的算法

image - 锥体图像细化

c++ - CGAL - 从 Segment_2 获取边缘

c++ - 如何使用二维矩形缓冲区沿二维线段限制搜索空间

javascript - 篮球物理碰撞检测和弹跳物理

matlab - 找到复杂函数具有实值的点

android - 如何使物体沿圆形路径移动?

php - 如何计算 PHP 中一条直线上的点?