GAMES101_pa0_Homework

提示:文章内容仅供参考,不保证正确


GAMES101—PA0

齐次坐标的应用,图形学入门的开始

一、齐次坐标系(Homogeneous Coordinates)是什么?

将线性变换+平移统一的一种坐标关系。
可以用一个变换矩阵表示一个Points的任意运动。

线性变换

  • 缩放变换
    在这里插入图片描述

  • 镜像变换
    在这里插入图片描述

  • 错切变换
    在这里插入图片描述

  • 旋转
    在这里插入图片描述

平移

在这里插入图片描述

齐次坐标系的各变换

在这里插入图片描述

二、作业描述

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

#include<cmath>
#include<eigen3/Eigen/Core>
#include<eigen3/Eigen/Dense>
#include<iostream>

const double PI = 1.0/4.0 * std::acos(-1);

int main(){
    // P(1, 2) Rotation counterclockwise 45 + T(1 , 2)
    std::cout << "P(2,1) Transformation" << std::endl;
    Eigen::Vector3f P(2.0f, 1.0f, 1.0f);
    Eigen::Matrix3f R, T;
    R <<  cos(PI), -sin(PI), 0.0, sin(PI), cos(PI), 0.0, 0.0, 0.0, 1.0;
    T << 1.0, 0.0, 1.0, 0.0, 1.0, 2.0, 0.0, 0.0, 1.0;
    std::cout << P  << '\n' <<  R << '\n' << T << std::endl;
    // Transformation
    std::cout << T * R * P << std::endl;
    return 0;
}

总结

简单记录一下GAMES101的作业情况,有问题直接留言交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值