亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

查找段上最近的點

查找段上最近的點

紅顏莎娜 2022-07-08 16:01:23
我嘗試在 Javascript 中找到一種從 3 個信息中獲取段上最近點坐標的方法:段端點,假設 A = [x1,y1] 和 B = [x2,y2],點 C = [x ,y]。如何執行此操作?
查看完整描述

2 回答

?
嗶嗶one

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相應地


查看完整回答
反對 回復 2022-07-08
?
SMILET

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/


查看完整回答
反對 回復 2022-07-08
  • 2 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號