GAMES101作业0

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

C++用的弧度制,所以

//右手坐标系,右边x正半轴,上面y正半轴,前面z负半轴
double theta = (45.0/180.0)*PI;//#define PI 3.1415926 or std::acos(-1);
//旋转+平移
Eigen::Matrix3f M;
M<<std::cos(theta),-std::sin(theta),1,
   -std::sin(theta),std::cos(theta),2,
   0               ,0              ,1;
   
Eigen::vector3f Point(2,1,1);//最后一个1表示Point是一个点而不是一个向量

Point = M * point;//矩阵运算,顺序不可颠倒

第一次作业主要是配置环境,需要安装Eigen环境
再一个,这是第一次自己尝试配置CMake项目

#这里面的注释是用‘#’

#当前可用的最低Cmake版本,低于这个版本,不可用
cmake_minimum_required (VERSION 3.8)

#导入依赖包,在用CMake Build的时候,都会被设置好
#这条命令执行后,CMake 会到变量 CMAKE_MODULE_PATH 指示的目录中查找文件 Findname.cmake 并执行。
find_package(Eigen3 REQUIRED)

#将指定目录添加到编译器的头文件搜索路径之下,指定的目录被解释成当前源码路径的相对路径。
include_directories(EIGEN3_INCLUDE_DIR)
include_directories("E:\\Eigen3")#我这里改了路径,所以上面那个不起效果

# 将源代码添加到此项目的可执行文件。
#只有被添加进来的文件,才会被算在这个工程内,否则无效
add_executable (CMakeProject1 "CMakeProject1.cpp" "CMakeProject1.h")
posted @ 2021-04-11 21:13  抚琴思伯牙  阅读(320)  评论(0编辑  收藏  举报