我目前正在按照一个教程来编程raycasting,这个教程是用C语言编写的,我正在用Python重写它,但是我不能理解下面这行代码,所以不能把它翻译成python:
float aTan = -1/tan(ra);
ry = (((int)py>>6)<<6-0.0001;
rx = (py-ry)*aTan+px;其中,ry和rx是,我认为,第一条水平线和射线的交点的y和x坐标。此外,ra是射线的角度。使用aTan和rx的代码行只是数学,所以我能理解它们,但是对于像我这样的python学生来说,ry的书写并不熟悉,你能给我一些启发吗?
发布于 2021-04-27 01:26:28
">>“运算符是右移位,所以整数除以2的幂。
从数字上讲
ry = (((int)py>>6)<<6-0.0001;等同于
ry = (py // 64) * 64 - 0.0001(自2^6 == 64以来)
https://stackoverflow.com/questions/67271098
复制相似问题