簡體   English   中英

帶有正方形網格的最佳線相交

[英]Optimal line intersection with a square grid

我有一個射線投射算法來查找陰影/光。

當光線處於像素坐標中時,地圖本身就是一個正方形的,大小不變的瓷磚網格。 網格單元可以通過或不通過(方牆)。 在許多2D游戲中很典型。

我有射線投射代碼,可將射線向前移動,並在射線進入牆內時進行標記。 發生這種情況時,射線通常在單元內部,而不是在邊緣。 在那一點上,我有從光源開始的x / y對,光線傳播的角度以及牆內的x / y對。

我想找到與牆第一次接觸的點,因此從本質上講,我需要“備份”線。 使用射線來自的角度,我可能只需要測試正方形的一部分即可找到相交點。

如果我有固定的TILE_WIDTH和TILE_HEIGHT(在這種情況下,它們也相等); 有沒有找到特定的最佳方法來找到該線段相交的位置? 也就是說,它利用了這些關系,並且信息我已經必須比一般算法更簡單和/或更快速。

快速體素遍歷的Woo和Amanatides算法。 它計算射線與矩形網格邊緣的交點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM