Games101,作业0

环境配置记录:

1.安装 Homebrew
2.brew install gcc
3.brew install cmake
4.brew install eigen
5.CMakeLists配置:请添加图片描述

编译:

cd: /Users/xuxinyu/Desktop/study/Games101/pa0
mkdir build
cd build
make …/
make

作业描述

给定一个点 P =(2,1), 将该点绕原点先逆时针旋转 45◦,再平移 (1,2), 计算出 变换后点的坐标(要求用齐次坐标进行计算)。

答案代码:

//pa0
    std::cout << std::acos(-1) << std::endl;
    Eigen::Vector3f v1(2.0f,1.0f,1.0f);
    double theta = 45.0/180.0 * acos(-1);
    Eigen::Matrix3f rotate,transform;
    rotate <<   cos(theta), -sin(theta), 0,
                sin(theta), cos(theta), 0,
                0, 0, 1;
    transform <<    1, 0, 1,
                    0, 1, 2,
                    0, 0, 1;
    std::cout <<"Before:\n" << v1 <<std::endl;
    v1 = transform * rotate * v1;
    std::cout <<"After:\n" << v1 <<std::endl;

输出结果:

请添加图片描述

总结:中三角函数接受弧度制,acos(-1) = pai

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值