2 回答

TA貢獻1854條經驗 獲得超8個贊
制作矢量
AB = (B.X-A.X, B.Y-A.Y)
AC = (C.X-A.X, C.Y-A.Y)
然后計算線上的正交C投影AB:
AD = AB * (AB.dot.AC) / (AB.dot.AB);
在坐標中:
CF = ((B.X-A.X)*(C.X-A.X)+(B.Y-A.Y)*(C.Y-A.Y)) / ((B.X-A.X)^2+(B.Y-A.Y)^2)
D.X=A.X+(B.X-A.X)*CF
D.Y=A.Y+(B.Y-A.Y)*CF
請注意,對于 caseCF<0或CF>1投影點D位于AB段之外,因此最近的 pointon 段是A或B相應地

TA貢獻1796條經驗 獲得超4個贊
您將需要https://en.wikipedia.org/wiki/Analytic_geometry的知識
它將允許您獲得幾個方程式,您需要解決這些方程式才能獲得這一點。這是高級高中數學。
在您的情況下,您需要從兩點創建線方程https://mathinsight.org/lines_algebraic_geometry_refresher
然后你需要計算與前一行成直角的向量https://www.mathsisfun.com/algebra/vectors-dot-product.html (然后找到穿過點C
并具有你的方向的線的方程向量)
然后你需要找到這兩條線的交點 https://brilliant.org/wiki/linear-equations-intersection-of-lines/
添加回答
舉報