GAMES101 真的是一门神课,上次让我感觉到这么棒的还是翁恺老师的C语言入门。其实早就在给那位wisc小姐姐代作业的时候就刷完了这门课程,今天想起来把作业做一下,就来写点笔记吧,也不知道自己能不能做完hhh。
视频链接
作业链接
这个作业是环境的搭建,作业要求的是VBox下建个Ubuntu,VBox自从帮那个英硕姐姐写完了作业后我都好久没开过了= =,直接在阿里云服务器上做吧,正好闲着也是闲着,只拿来当个挂卡脚本太浪费了,物尽其用嘛。不过由于作业里是直接给的硬盘文件,这里就要我自己配一些东西了。
首先给个总结,我自己用的环境是windows visual studio 2022 preview,搭配windows terminal连接阿里云服务器Ubuntu,前置环境可以自己酌情选择。库环境这里有Eigen、OpenCV。
我服务器上面是没有配CMake的,以前在VBox上也是makefile一把梭,这里需要配一下。
这个简单,直接sudo apt install cmake
完事。安装完了后用which cmake
检查一下,出现路径说明配置完成了。
Eigen是这个课程的作业用的一个C++库,专门搞数值计算的,官网链接。这里我在本地VS和云端都配置一下,本地方便我写。
#include
#include
#include
#include
int main() {
// Basic Example of cpp
std::cout << "Example of cpp \n";
float a = 1.0, b = 2.0;
std::cout << a << std::endl;
std::cout << a / b << std::endl;
std::cout << std::sqrt(b) << std::endl;
std::cout << std::acos(-1) << std::endl;
std::cout << std::sin(30.0 / 180.0 * acos(-1)) << std::endl;
// Example of vector
std::cout << "Example of vector \n";
// vector definition
Eigen::Vector3f v(1.0f, 2.0f, 3.0f);
Eigen::Vector3f w(1.0f, 0.0f, 0.0f);
// vector output
std::cout << "Example of output \n";
std::cout << v << std::endl;
// vector add
std::cout << "Example of add \n";
std::cout << v + w << std::endl;
// vector scalar multiply
std::cout << "Example of scalar multiply \n";
std::cout << v * 3.0f << std::endl;
std::cout << 2.0f * v << std::endl;
// Example of matrix
std::cout << "Example of matrix \n";
// matrix definition
Eigen::Matrix3f i, j;
i << 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0;
j << 2.0, 3.0, 1.0, 4.0, 6.0, 5.0, 9.0, 7.0, 8.0;
// matrix output
std::cout << "Example of output \n";
std::cout << i << std::endl;
// matrix add i + j
// matrix scalar multiply i * 2.0
// matrix multiply i * j
// matrix multiply vector i * v
/*
* PA 0
*/
// TO DO: Define point P
// TO DO: Define rotation matrix M
// TO DO: M * P
return 0;
}
然后我们在服务器上配置,一句sudo apt-get install libeigen3-dev
搞定。然后创立个文件夹
mkdir
cd build
cmake ..
make
./Transformation
这次作业其实是用不到OpenCV的,不过后面的都要,这里一并配了
本来我是打算自己撸的,安了半天太吉尔折磨了,索性直接删了,上vcpkg!!!
windows terminal打开你想安装的文件夹
直接git clone一下,没有git环境的自己装。
git clone https://github.com/microsoft/vcpkg
执行.\bootstrap-vcpkg.bat编译vcpkg
.\bootstrap-vcpkg.bat
这个时候我们输入.\vcpkg.exe search opencv
测试一下,可以看到给你列了一大堆出来
运行下载,这里可能会很慢,可以尝试使用一些神秘力量
.\vcpkg.exe install opencv
最后assignment0要求做一个简单的旋转平移计算,很简单
定义一个Tool.h,方便以后调用,别的直接按公式写就完事了。
main.cpp里调用。
运行结果