Forum Replies Created
-
AuthorPosts
-
可以的
已更新
pro2ort(3,2)=吧。
作业8将会开放补提交,但大作业可能不会再开放了(待确定)。
- This reply was modified 4 years, 6 months ago by Shi YuChen(助教).
肯定可以,最后主要是需要提交一份演示视频,方便评价。
可能系统稍微出了点问题,现在已经修好了,可以提交。
//这两天比较忙没有及时回复,抱歉了。非常抱歉,之前没有没有把status设为“on”,现已更正,可以提交了。
实现方式应该是没有限制的。
在参考选题中选取不需要提交选题说明
这个参数就是给出光线方向在三个轴上的正负的,dirIsNeg=direction is negative
能提供一下你的作业id吗?可以帮你看看。
非常抱歉,由于近期比较忙,作业1的补交刚批改完,现在可以在smartchair上查看成绩了。
//一般来说,作业的批改周期为1周。段错误,一般是某个地方数组越界了。
今天已开放作业2的补交
float t=tan(eye_fov(弧度)/2)*n;
float r=aspect_ratio*t;在recursive_bezier函数的最后一行,应该改成return recursive_bezier(points,t)。
是的。
eye_fov是y方向的,具体可以参见第五讲的ppt。
作业2中的get_index函数中内容是对的,请自行修改一下。
//由于作业2和作业3是我们不同助教负责的,因为交流不及时导致了这个小bug。你说的是没错的,主要原因是代码框架中的坐标系是左手系,导致如果纯粹按着闫老师上课所讲的右手系推到过程来构造透视投影矩阵的话,得到的结果是负值。
这里只是单纯的将z的值平移加放缩到正数。另外对于本次的作业,如果是按闫老师的推到过程得到的透视投影矩阵(右手系),应将此句改为vert.z()=-vert.z()*f1+f2,或者初始化depth-buffer时初始化为负无穷。
This post has received 1 vote up.不好意思,我之前也没有仔细算,我只是看了他的大小关系是正确的,即-5变换后的z值更小。
- This reply was modified 4 years, 8 months ago by Shi YuChen(助教).
- This reply was modified 4 years, 8 months ago by Shi YuChen(助教).
我寻问过闫老师,闫老师说不行。
你计算的没错,是我们检查框架时没有注意。应该把rasterizer.cpp第83行的vert.z() = vert.z() * f1 + f2改为vert.z() = -vert.z() * f1 + f2
This post has received 2 votes up.不好意思,检查代码的时候没有注意,应该改为vert.z() = -vert.z() * f1 + f2,或者初始化z-buffer时初始成-infinite。
图片没有上传成功,能重新上传一下吗?
感觉就是多用、多写,最开始也都是一路错过来的。。
72行的<<改为=。 73行用axis*axis.transpose(),因为默认Vector3f是列向量,所以你的axis和axisTranspose均是列向量。 result赋值时,RodriguesRotation取行不是RodriguesRotation.x(),而是RodriguesRotation.row(0)。
This post has received 1 vote up.这个关于原点对称的问题我向闫老师咨询过,是因为当时编写这个代码框架的时候使用的是左手系而导致的,所以颠倒的结果没关系,也算对的。
另外,在进行过投影之后z的取值范围变为[-1,1],在rasterizer.cpp的83行的vert.z() = vert.z() * f1 + f2将z的值放大且均变为正数。但是传入到光栅化器中的矩阵要求是4*4的。
-
AuthorPosts