.J.

Forum Replies Created

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • in reply to: simulateVerlet实现问题 #6411 Score: 0
    .J.
    Participant

    m->last_position已经在创建类的时候被初始化了。

    in reply to: 作业8verlet结果不正确 #6286 Score: 0
    .J.
    Participant
    Vector2D f_ba = b-a;
    Vector2D f_ab = a-b;

    改成:

    Vector2D f_ba = a-b;
    Vector2D f_ab = b-a;
    in reply to: simulateVerlet实现问题 #6271 Score: 0
    .J.
    Participant

    谢谢楼上两位大神,那个保存上一步位置的逻辑,我居然卡了好久,终于解决了,还是太弱。

    in reply to: simulateVerlet实现问题 #6243 Score: 0
    .J.
    Participant

    半隐式欧拉带damping最后就是来回摇摆,命令行参数-s 100,显式的不稳定,可能需要减小步长。
    m->last_position这个值的更新,我有点绕糊涂了,比如我在更新m->position前,给m->last_position = m->position赋值,在计算m->position = m->position + (1-damping_factor)*(m->position - m->last_position) + a*delta_t*delta_t;的时候,(m->position - m->last_position)就变成(0,0)了。

    in reply to: simulateVerlet实现问题 #6241 Score: 0
    .J.
    Participant

    欧拉加damping的做出来了。
    我试过直接用last_position这个变量,但是发现这个值需要自己去赋值才能用,我没太想清楚该在哪个地方去赋值,我这里的做法是把[x(t)-x(t-1)]这个量,定义为一个静态变量dx = m->position - old_position;,其中m->position是更新后的位置,old_position是更新前的位置,然后这个值在下一次循环的时候,直接去使用,就相当于是[x(t)-x(t-1)]了。不知道这个思路是否正确。

    in reply to: simulateVerlet实现问题 #6234 Score: 0
    .J.
    Participant

    我把弹簧力去掉了,弹簧无限延长,你是去掉弹力得到正确结果的吗?

    Attachments:
    You must be logged in to view attached files.
    in reply to: 作业五 得到的图上下左右颠倒 #4898 Score: 0
    .J.
    Participant

    把y = -y就可以了

    in reply to: recursive_bezier函数的递归实现返回值的疑问 #4635 Score: 0
    .J.
    Participant

    睡觉的时候突然想通了,递归调用的时候,应该return对自身的调用,即:

    return recursive_bezier(bn_list, t);

    而不是:

    recursive_bezier(bn_list, t);

    in reply to: make代码框架出现错误 #3612 Score: 0
    .J.
    Participant

    我也是这里有问题,查阅了一下发现std::tuple的构造函数是explicit的,我尝试将返回值改为
    return std::tuple<float, float, float> {c1,c2,c3};
    后可以正确编译。

    in reply to: 作业一提高问题 #3204 Score: 0
    .J.
    Participant

    好像是这样,那我的效果是正确的。但是我这里有一个问题,如果一直朝一个方向旋转,旋转到外面去了,就会出现段错误,不知道你遇到过没有?谢谢你的回答!

    in reply to: 提高部分测试问题 #3146 Score: 0
    .J.
    Participant

    我也有一个疑问,关于提高部分的思路,我是利用Rodrigues’ Rotation Formula将传入的旋转轴和角度,生成一个3*3矩阵,然后赋值给一个Eigen::Matrix4f::Identity()的左上角,最后返回这个4*4矩阵。最后我测试发现有些问题,当传入的轴为[0,0,1]时可以正确旋转,但是传入的旋转轴为[1,0,0]或[0,1,0]时,则只会做平移操作。不知道我的思路是否正确,请老师指导,谢谢!

    in reply to: 关于投影变换的疑问 #2936 Score: 0
    .J.
    Participant

    谢谢助教老师,我应该理解了,我说一下我的理解,您看看是否正确。

    首先,正交投影相当于先用一个长方体框住空间中的一个物体,然后把这个长方体移动、缩放到[-1,1]^3空间内,然后这个长方体里的每个点也对应做这个变换;
    透视投影是用一个Frustum去框住空间中的物体,然后先压缩成长方体,且保证这个压缩过程不改变n和f的值,然后再移动、缩放到[-1,1]^3空间内。

    最后如果要投射到平面,只需要截取一个截面z就行了。

    in reply to: 现代计算机图形学入门讨论区主楼(置顶) #2762 Score: 0
    .J.
    Participant

    请问作业需要用到的虚拟机环境开发下载了吗?谢谢!

Viewing 13 posts - 1 through 13 (of 13 total)