我正在阅读 Hacker News,这篇文章出现了。它包含一个光线追踪器,代码写在名片的背面。我认为将 c++ 翻译成 python 将是一个很好的学术挑战,但是我坚持了一些概念。
首先,这个函数上来:i T(v o,v d,f& t,v& n){...}
翻译成int Tracer(vector o, vector d, float& t, vector& n){...}
什么float&
意思?我知道在其他地方&
被用作一个==
是这样的吗?你能在 C++ 中做到这一点吗?
其次,我注意到这三行:
for(i k=19;k--;) //For each columns of objects
for(i j=9;j--;) //For each line on that columns
if(G[j]&1<<k){
我知道这<<
是一个位移,我假设&
是==
。for 循环是否就像另一个循环中的一个 for 循环一样?
最后,这一行: v p(13,13,13);
我不太确定它的作用。它是否创建了一个由 p 标记的类,该类扩展了默认值为 13、13、13 的 v(向量)?
这些可能是愚蠢的问题,但我想看看我是否能理解这一点,我的搜索没有提出任何问题。先感谢您!