GAMES101 作业0
GAMES 101 作业0
1.环境配置
- 安装虚拟机
- Oracle VM VirtualBox虚拟机
- Ubuntu虚拟硬盘 => 初识Linux
- Guest Addition => 和宿主系统更便捷的交互
- 作业框架
- C++
- Eigen线性代数运算库
2.初识Cmake编译工具:
-
创建目录
-
建立、编写cpp文件并保存
-
建立CMakeLists.txt
-
编辑CMakeLists.txt
CSDN查询
#cmake最低版本需求,不加入此行会受到警告信息
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(HELLO) #项目名称
#把当前目录(.)下所有源代码文件和头文件加入变量SRC_LIST
AUX_SOURCE_DIRECTORY(. SRC_LIST)
#生成应用程序 hello (在windows下会自动生成hello.exe)
ADD_EXECUTABLE(hello ${SRC_LIST})
根据作业已给CMakeLists.txt文件修改
cmake_minimum_required (VERSION 2.8.11)
project(Transformation) #项目名称
find_package(Eigen3 REQUIRED)
include_directories(EIGEN3_INCLUDE_DIR)
add_executable(assignment0 0.cpp)
-
编译
在0.cpp目录下右键,选择Open in Terminal(命令行)
依次输入:
mkdir build //创建build文件夹
cd build //移动到build文件夹下
cmake .. //编译上一级目录,".."为上一级,"."为当前目录,但会使得所有所有生成的中间文件和源代码混在一起,且cmake生成的的makefile无法跟踪所有中间文件,因此最好建立build目录
make //编译
./assignment0//运行程序assignment0(可在CMakeLists.txt中修改)
3.作业
题目:
给定一个点 P=(2,1),将该点绕原点先逆时针旋转 45◦,再平移 (1,2), 计算出变换后点的坐标(要求用齐次坐标进行计算)
思路:
点的齐次坐标表示法P=(2,1,1)T
旋转矩阵rot:
$$\begin{matrix} cos(45°) & -sin(45°) & 0 \sin(45°) & cos(45°) & 0 \ 0 & 0& 1 \end{matrix}$$
平移矩阵tra:
$$\begin{matrix} 1 & 0 & 1 \0 & 1 & 2 \ 0 & 0& 1 \end{matrix}$$
计算:
tra*rot*P
结果:
1.70711
4.12132
1

浙公网安备 33010602011771号