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")