Re: [問題] 已知兩點畫直線求所經格線

看板Prob_Solve (計算數學 Problem Solving)作者 (Achilles)時間12年前 (2012/09/28 09:34), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《mrbigmouth (拒絕崩潰的蒲公英)》之銘言: : 高中數學不知道丟到哪裡去了只好來此請教 m(_ _)m : 現有一方格地圖座標系, : 每個座標都代表一個方格, : 現在我要計算某個格子有光源、單位時其光線/視線能夠到達何處 : 依照簡化後的規則,一律起源格的中心點為起點,目標格的中心點為終點 : 兩點畫線之後,所經的格子邊、格子皆視為其光線/視線會經過的路段 : 這些格子邊之上、格子範圍內的一切影響源(霧氣、遮蔽物等等)都會影響到光線與視線 : (舉例而言,座標1,1到座標2,3之間會經過 : 座標1,1 : 座標1,1上面的邊 : 座標1,2 : 座標1,2右邊的邊 : 座標2,2 : 座標2,2上面的邊 : 座標2,3) : 數學上, : 可以把座標以x2-1的方式求出double後的座標系, : 再求出兩點的線性方程式, : 最後再一一代入各座標得出會經過哪些格子的邊、格子的範圍。 : ......但程式要怎麼做到這一過程?@@ : 已知兩點求出線性方程式? 這種東西沒辦法存到記憶體裡... : 有辦法將這過程簡化為程式直接可用的公式嗎? : 或是有大能可以提供更方便直接的作法嗎? 這我猜應該屬於 ray-tracing 的範圍吧. 有個簡單的公式, 給定一條直線(兩點) 你可以判斷 input point 是在線的 左/右. 你用 格子的端點去 scan 應該就行了. http://stackoverflow.com/questions/4977491/determining-if-two-line-segments-intersect -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.125.20.198
文章代碼(AID): #1GPFwWLT (Prob_Solve)
文章代碼(AID): #1GPFwWLT (Prob_Solve)