我有點A,B和CD的寬度(A'= A)。如果用戶將B點移到B點,我可以知道點C'D'的座標。如果有人用3個輸入參數(A,B和CD的寬度)輸出C'和D'的座標,我會非常感激。作爲獎勵,我可以通過Paypal支付50美元。
-1
A
回答
0
背景:
首先,如果我理解正確的話,這個任務其實就是「給出A和B的座標,找到C和d的座標,如果我們知道AB和CD是垂直的,而且我們知道CD的」
要計算的座標的長度,我們使用3個基本的數學方程:
線從2點A,B:
y = (x - B.x)* (A.y - B.y)/(A.x - B.x) + B.y
如果我們設置
m = (A.y - B.y)/(A.x - B.x)
從2分A中的方程,B是:y = m * (x - B.x) + B.y
- 線是垂直於上述(CD)的行:
y = (-1/m) * x + y0
由於CD通過A,方程可以寫成:y = (-1/m) * (x - A.x) + A.y
- 2點A,C之間的長度(d):
d * d = (C.x - A.x) * (C.x - A.x) + (C.y - A.y) * (C.y - A.y)
從CD的方程,我們知道C.y = (-1/m)*(C.x - A.x) + A.y
因此: d*d = (C.x - A.x)*(C.x - A.x) + (1/(m*m))*(C.x - A.x)* (C.x - A.x)
輕鬆找出C.x - A.x = (+|-) (m*d)/Math.sqrt(m*m + 1)
在java中,我想你可以寫作爲
public Point[] findCD(Point A, Point B, int widthCD) {
if (A.x == B.x) {
return [new Point(A.x - widthCD/2, A.y), new Point(A.x + widthCD/2, A.y)]
}
if (A.y == B.y) {
return [new Point(A.x, A.y - widthCD/2), new Point(A.x, A.y + widthCD/2)]
}
var m = (A.y - B.y)/(A.x - B.x);
var xC = A.x - m*widthCD/(2 * Math.sqrt(m*m + 1));
var xD = A.x + m*widthCD/(2 * Math.sqrt(m*m + 1));
var yC = (A.x - xC)/m + A.y;
var yD = (A.x - xD)/m + A.y;
return [new Point(xC, yC), new Point(xD, yD)];
}
注意:我沒有java的,如果我寫指針或陣列錯誤
+0
謝謝,它應該是+,而不是 - 。我編輯過它。 –
相關問題
- 1. Three.js中的旋轉錨點
- 2. Android - 圍繞中心點旋轉圖像?
- 3. 「自動旋轉」中的Android
- 4. ImageView在Android中的旋轉
- 5. Android中的旋轉文本
- 6. android中的屏幕旋轉
- 7. 旋轉時的轉換點
- 8. 的Android旋轉器旋轉屏幕
- 9. Android的 - 在旋轉
- 10. Android的Linearlayout旋轉?
- 11. 將旋轉的矩形逐漸旋轉到最大旋轉點
- 12. Android中的圖像上的旋轉繪圖點
- 13. 旋轉點openGL
- 14. 2D陣列旋轉和旋轉vb.net中的一個點
- 15. 查找旋轉的BufferedImage的中心點
- 16. Flex中給定中心的旋轉點
- 17. 飛機上的旋轉點
- 18. 旋轉矩形的點
- 19. 計算點的3D旋轉
- 20. 點在旋轉圖像上拖曳 - android
- 21. 旋轉ImageVIew應該在Android下面的旋轉位置點擊HoneyComb版本
- 22. android視圖旋轉動畫不會旋轉它的焦點區域嗎?
- 23. Android Image旋轉
- 24. Android Animate旋轉
- 25. 旋轉android VideoView
- 26. Android旋轉Webview
- 27. Android旋轉MapView
- 28. AVL旋轉 - 要旋轉哪個節點
- 29. jquery旋轉旋轉img點擊
- 30. 從中心點旋轉SVG
嘗試Fiverr或Upwork請糾正。這是專業程序員的問答網站! – OBX
嗨。我自己是一名程序員。我需要這個任務的幫助。 – Jumper
它們是2D還是3D座標? –