GAMES101 作业0

GAMES 101 作业0

1.环境配置

  • 安装虚拟机
    • Oracle VM VirtualBox虚拟机
    • Ubuntu虚拟硬盘 => 初识Linux
    • Guest Addition => 和宿主系统更便捷的交互
  • 作业框架
    • C++
    • Eigen线性代数运算库

2.初识Cmake编译工具:

  1. 创建目录

  2. 建立、编写cpp文件并保存

  3. 建立CMakeLists.txt

  4. 编辑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)
  1. 编译

    在0.cpp目录下右键,选择Open in Terminal(命令行)

屏幕捕获_2021_08_22_23_50_52_108

​ 依次输入:

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

posted @ 2021-08-23 00:35  Los1r  阅读(413)  评论(0)    收藏  举报