1
A
回答
1
讓我總結一下你的問題,以確保我們在同一頁面上。你有一個具有已知中心,寬度和高度的任意矩形。而且你知道左邊和底邊有兩個任意點。
如果你有兩條邊的中點,這個問題很容易:
BottomLeft = CenterBottom + (CenterLeft - Center)
所以,問題是如何計算這些點。
我會解釋這一個邊緣(在這種情況下,底部邊緣)。左邊緣也是一樣。我們稱之爲長方形C
的中心,邊緣M
的中點以及邊緣E
上的任意點。
可以計算C
和E
之間的距離。如果E
是中點,則該距離將恰好是矩形高度的一半。但事實並非如此。我們可以用這些信息做的是計算角度MCE
:
cos MCE = h/(2 * |C - E|)
因此,所有我們需要做的找M是此角度和再大規模旋轉方向向量:
M = C + rotate(E - C, MCE) * h/(2 * |C - E|)
有這是兩個解決方案。正角度和負角度。
所以只需計算兩個邊緣的兩個可能的中點。如果你有這些,你需要檢查四對中的哪一對是有效的。爲此,只需檢查C - MLeft
和C - MBottom
之間的角度是否爲90°(即它們的點積接近於零)。
一旦你有一對有效的對,你可以像上面描述的那樣計算拐角。請注意,可能有多個有效的解決方案。
相關問題
- 1. 給我一些關於REAPER的信息
- 2. 如何根據給定的信息找到一個數組對象?
- 3. 如何找到關於給定的MySQL進程的更多信息?
- 4. 的XPath - 如何找到信息
- 5. 給定一個電影的URL,如何檢索它的信息?
- 6. 的Joomla模塊,如何重定向並顯示一些信息
- 7. 如何從perl文件中提取一些特定的信息?
- 8. 找到我提供這個信息給定了兩個點
- 9. 如何給錯誤信息
- 10. SQL:如何使用另一個表中的信息來選擇一些信息
- 11. 如何找到項目信息Xcode
- 12. 如何找到從信息架構
- 13. 如何找到一些
- 14. 如何找到一些
- 15. 如何找到一些
- 16. 我如何才能找到並打印出特定的信息
- 17. 如何找到哪些對象給定的CLSID支持
- 18. 如何在重定向時發送一些信息?
- 19. 自定義信息「找不到主類」
- 20. 想獲得一些信息
- 21. iOS Facebook SDK - 一些信息
- 22. 如何給自定義錯誤消息,如果沒有找到
- 23. 請給我一些關於修改jftp代碼的信息
- 24. 給定一個私人信息表,如何找到我最近的n個聯繫人?
- 25. 帶一些信息的iphone一般
- 26. 給定一些文本輸入,找到最大的anagram組
- 27. 如何發送一些信息給用戶時,現在正在尋找我的網站的網頁
- 28. 如何確定給定的句子是要求答案還是提供一些信息?
- 29. 如何找到一個CodeReviewRequest提供擱置利用信息
- 30. SQL表統計信息,如何確定要更新哪些統計信息?
圖中的矩形看起來與軸線對齊。是嗎? –
@Nico Schertler沒有它沒有。 – GarretLR
您可以使用raycast嗎? – Everts