GAMES101:作业1
附其他所有作业超链接如下:
Games101 作业0:作业0
Games101 作业1:作业1
Games101 作业2:作业2
Games101 作业3:作业3
Games101 作业4:作业4
Games101 作业5:作业5
Games101 作业6:作业6
Games101 作业7:作业7
完整代码获取途径:
https://github.com/liupeining/Games_101_homework
#include "Triangle.hpp"
#include "rasterizer.hpp"
#include <eigen3/Eigen/Eigen>
#include <iostream>
#include <opencv2/opencv.hpp>
constexpr double MY_PI = 3.1415926;
Eigen::Matrix4f get_view_matrix(Eigen::Vector3f eye_pos)
{
Eigen::Matrix4f view = Eigen::Matrix4f::Identity();
Eigen::Matrix4f translate;
translate << 1, 0, 0, -eye_pos[0], 0, 1, 0, -eye_pos[1], 0, 0, 1,
-eye_pos[2], 0, 0, 0, 1;
view = translate * view;
return view;
}
//在此函数中,你只需要实现三维中绕 z 轴旋转的变换矩阵,
//而不用处理平移与缩放。
Eigen::Matrix4f get_model_matrix(float rotation_angle)
{
Eigen::Matrix4f model = Eigen::Matrix4f::Identity();
float ra = rotation_angle/180*MY_PI;
float cosa =

这篇博客是GAMES101课程的作业1介绍,包含了从作业0到作业7的所有链接。作者强调了代码中顺序的重要性,如透视变换前需进行正交变换,正交变换时应先平移后缩放,否则结果可能不正确。完整的代码可以在GitHub的Games_101_homework项目中获取。

1100

被折叠的 条评论
为什么被折叠?



