Home › Forums › GAMES在线课程(现代计算机图形学入门)讨论区 › 为什么作业6的ray direction 减去eye_pos是不对的? This topic has 3 replies, 4 voices, and was last updated 2 years, 9 months ago by willzhu. Viewing 3 reply threads Author Posts 2020年4月6日 at 下午4:31 #5220 Score: 0 xuyichaoParticipant 光线方向只是用归一化的(x,y,-1),结果是对的。如果按照课件上减掉eye_pos就不对了。 这是为什么? 2020年4月6日 at 下午7:52 #5233 Score: -1 clarenceParticipant Karma: -2 pt 因为得到的方向向量是基于原点计算得到的,同时方向向量位移并不改变性质,所以不需要减去eye_pos。 This post has received 1 vote down. 2020年9月10日 at 下午5:13 #7042 Score: 0 重归混沌Participant 我查看了一下obj文件,发现基本上坐标都在-10,10之间,而eye_pos太近了,减了eye_pos之后,导致FOV不对,所以看不到了。 我使用光栅化时的算法构造了一个-1,1的投影平面,然后把eye_pos到投影屏幕的距离设置到15左右,效果就跟不减eye_pos差不多了。 2022年1月30日 at 下午1:18 #10523 Score: 0 willzhuParticipant 我理解这是由ray的表示方法决定的,在公式:ray = ori + t*dir 中,dir向量是一个方向向量,而方向向量默认以原点为起点,如果减去eye_pos,其实得到的是另一个方向; PS:作业5中,eye_pos在原点只是个巧合 Author Posts Viewing 3 reply threads You must be logged in to reply to this topic. Log In Username: Password: Keep me signed in Log In