将一行从 C 翻译成 Python
Translate one line from C to Python
我目前正在学习光线投射编程教程,该教程是用 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 的写作,你能告诉我吗?
“>>”运算符是右移,因此整数除以 2 的幂。
数值
ry = (((int)py>>6)<<6-0.0001;
等同于
ry = (py // 64) * 64 - 0.0001
(自 2^6 == 64
)
我目前正在学习光线投射编程教程,该教程是用 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 的写作,你能告诉我吗?
“>>”运算符是右移,因此整数除以 2 的幂。
数值
ry = (((int)py>>6)<<6-0.0001;
等同于
ry = (py // 64) * 64 - 0.0001
(自 2^6 == 64
)