推 NDark:用直線與直線的碰撞 算交會點即可. 06/02 19:06
整張大地圖上,會有各式各樣的 symbol。
而在小地圖上,當這些 symbol 超出可視範圍時會出現在小地圖的邊界
大地圖
-------------------------
|
| C A B
|
| -------------小地圖
| C' | A' B'
| |C"
| |
| | .小地圖中心點
如上圖所顯示,
A B C 超過小地圖邊界,所以分別顯示在 A' B' C"
我現在利用相似三角形的方式計算 A', B', C' 的位置
已知 A 點座標 Ax, Ay. 中心點座標 Cx, Cy.
A' 的 座標 A'y = 0 (因為在螢幕上方邊界),
而距離 Cy 的距離為 1/2 小地圖的高度
利用這些已知條件,可利用相似三角形可以推算出 A' B' C' 距離 Cx 的距離。
但 C' 經過這樣的運算還是超出小地圖可顯示的範圍。
所以顯示在 C" 的地方比較適合,
要請問的是 C" 的座標要如何算出?
利用 C' 利用相似三角形再算一次?
(我試過但覺的怪怪的)
或是有其他更好的方法來計算 A', B', C' 的座標?
感謝幫忙。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.80.94