Quanwei1992 / GAMES101

GAMES101: 现代计算机图形学入门 作业
MIT License
485 stars 103 forks source link

作业1勘误? #4

Open NoSW opened 2 years ago

NoSW commented 2 years ago

GAMES101-HW/hw1/main.cpp

Line 51: float top = -tan(DEG2RAD(eye_fov/2.0f) abs(zNear)); ①这里的括号可能是手误? 应该为tan(DEG2RAD(eye_fov/2.0f)) abs(zNear);

Line 56: 0,0,(zNear+zFar)/(zNear-zFar),(2zNearzFar)/(zFar-zNear), ②4x4矩阵的第三行第四列,漏掉一个负号?refer to http://www.songho.ca/opengl/gl_projectionmatrix.html

ColourfulBlack commented 2 years ago

GAMES101-HW/hw1/main.cpp

Line 51: float top = -tan(DEG2RAD(eye_fov/2.0f) abs(zNear)); ①这里的括号可能是手误? 应该为tan(DEG2RAD(eye_fov/2.0f)) abs(zNear);

Line 56: 0,0,(zNear+zFar)/(zNear-zFar),(2_zNear_zFar)/(zFar-zNear), ②4x4矩阵的第三行第四列,漏掉一个负号?refer to http://www.songho.ca/opengl/gl_projectionmatrix.html

@NoSW 第一个问题,感觉确实是写错了; 第二个问题,其实是把负号放到分母上了。

(-zNear * zFar) / (zNear - zFar) = (zNear * zFar) / (zFar - zNear)
wheelmaker129 commented 8 months ago

@NoSW 第一个应该是 float top = -tan(DEG2RAD(eye_fov/2.0f) * zNear;这样的话出来的三角形也是正的