GAMES101 作业0

这篇具有很好参考价值的文章主要介绍了GAMES101 作业0。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Visual Studio 2019下环境配置

课上提供的环境是Linux, 还需要安装Vitrual Box和创建虚拟机,省事就直接在Windows系统下Visual Studio下操作了。
简单的环境配置:

  1. 下载Eigen 的库
  2. 在工程属性中添加目录: 2处地方
    GAMES101 作业0,c语言,c++
    GAMES101 作业0,c语言,c++
  3. 注意: 刚添加完后,我新建main.cpp后, 引入头文件

#include    <eigen3/Eigen/Core>		//提示未找到
#include    <eigen3/Eigen/Dense>	//提示未找到

路径也没有设置错啊,但是就是找不到。
直到看到这篇博文Visual Studio2019环境下导入Eigen库。原来设置完路径后需要重新启动VS(真是大坑啊)。再次启动VS后,就没有报错了

作业描述

给定一个点 P=(2,1), 将该点绕原点先逆时针旋转 45◦,再平移 (1,2), 计算出
变换后点的坐标(要求用齐次坐标进行计算)

Code

#include    <cmath>
#include    <eigen3/Eigen/Core>
#include    <eigen3/Eigen/Dense>
#include    <iostream>

using namespace std;

int main(void) {

 	Eigen::Vector3f P(2.0f, 1.0f, 1.0f);
    Eigen::Matrix3f matrix_contrarotate_45_and_T(3, 3);
    double pi = acos(-1.0);
    matrix_contrarotate_45_and_T << cos(45.0 / 180.0 * pi), -sin(45.0 / 180.0 * pi), 1,
        sin(45.0 / 180.0 * pi), cos(45.0 / 180.0 * pi), 2,
        0, 0, 1;
    cout << matrix_contrarotate_45_and_T << endl;
    cout << "new Point position\n";
    cout << matrix_contrarotate_45_and_T * P << endl;
    return 0;
}

其中cos和sin的计算要转换成弧度制

GAMES101 作业0,c语言,c++
输入结果如下:文章来源地址https://www.toymoban.com/news/detail-559714.html

 0.707107 -0.707107         1
 0.707107  0.707107         2
        0         0         1
new Point position
1.70711
4.12132
      1

到了这里,关于GAMES101 作业0的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GAMES101:作业7记录

    在之前的练习中,我们实现了 Whitted-Style Ray Tracing 算法,并且用 BVH等加速结构对于求交过程进行了加速。在本次实验中,我们将在上一次实验的基础上实现完整的 Path Tracing 算法。至此,我们已经来到了光线追踪版块的最后一节内容。 请认真阅读本文档,按照本文档指示的流程完成

    2024年02月01日
    浏览(46)
  • Games101作业5解读

    在scene中加入两个球一个地板和两个点光源 在Render中我们从eye_pos向屏幕打出一根一根的ray与场景相交 第一步先与场景的求交,如果光线打到了物体,就继续判断打到的物体的材质,根据不同的材质进行不同的处理,这里重点说下REFLECTION和default 在REFLECTION中,这一段代码有点问

    2024年02月09日
    浏览(32)
  • 【GAMES101】作业1(提高)与框架理解

    本次作业的任务是填写一个旋转矩阵和一个透视投影矩阵。给定三维下三个点 v0(2.0, 0.0, −2.0), v1(0.0, 2.0, −2.0), v2(−2.0, 0.0, −2.0), 你需要将这三个点的坐标变换为屏幕坐标并在屏幕上绘制出对应的线框三角形 (在代码框架中,我们已经提供了 draw_triangle 函数,所以你只需要去

    2023年04月12日
    浏览(38)
  • 【GAMES101】作业5 简单光线追踪与代码流程理解

    在这部分的课程中,我们将专注于使用光线追踪来渲染图像。在光线追踪中最重要的操作之一就是找到光线与物体的交点。一旦找到光线与物体的交点,就可以执行着色并返回像素颜色。在这次作业中,我们需要实现两个部分:光线的生成和光线与三角的相交。本次代码框架

    2024年02月06日
    浏览(37)
  • 【GAMES101】作业7(提高)路径追踪 多线程、Microfacet(全镜面反射)、抗锯齿

    在之前的练习中,我们实现了 Whitted-Style Ray Tracing 算法,并且用 BVH等加速结构对于求交过程进行了加速。在本次实验中,我们将在上一次实验的基础上实现完整的 Path Tracing 算法。至此,我们已经来到了光线追踪版块的最后一节内容。 相比上一次实验,本次实验对框架的修改

    2023年04月08日
    浏览(40)
  • games101-3 BRDF101

    本文基于知乎Maple对brdf的文章,在此基础又收集了一些其它来源的关于brdf的文章,希望能够完全理解记忆相关知识 关于Jakub Boksansky的文章,看的过程中又去搜集了很多其它文章来理解,发现已经超出了我目前的知识厚度,因此只会简单的翻译一下我能理解的部分,感兴趣的

    2024年04月25日
    浏览(32)
  • Games101学习笔记1

    2023-08-10开始接触图形学 参考博客:GAMES101 梳理 / 个人向图形学笔记_games101笔记_river_of_sebajun的博客-CSDN博客  向量的长度 向量的单位化  向量的点乘 点乘结果是一个数字,叉乘结果是垂直已知向量的向量  b向量投影到a向量上  矩阵的乘法 二维变换 线性变换    切边  旋转

    2024年02月13日
    浏览(35)
  • 【GAMES101】03 Transformation

    1、Scale(缩放)  2、Reflection Matrix(反射矩阵)  3、Shear Matrix(剪切矩阵)  4、Rotation Matrix(旋转矩阵) 推导过程:     5、Translation Matrix(平移矩阵) 平移操作不属于线性变换的范畴。 引入 齐次坐标 ,通过增加维度,来将平移坐标写成同样的矩阵形式。 很显然,平移无

    2024年02月02日
    浏览(39)
  • GAMES101 OpenCV环境安装

    作业2中用到了OpenCV 下载OpenCV 源码 OpenCV 4.5.4 下载OpenCV_contrib OpenCV_contrib 4.5.4 注意:这两个源码的版本号要一致 将源码解压后,不要放在有中文路径的目录 使用管理员权限打开CMake, 一开始未使用,发现点击Configure时会报错,使用管理员权限打开CMake后,点击Configure未报错。

    2024年02月17日
    浏览(41)
  • Games101笔记-模型、视图、投影

    在旋转点,旋转矩阵的逆等于矩阵的转置 左边3*3是线性变换,右边一列是仿射变换(平移) 先线性再平移 x叉乘y得到z,y叉乘z得到x, xyz给任何两个可以得到另一个 (循环对称) z叉乘x得到y,所以y是反的 任意绕3d轴旋转可以分解为绕x,y,z轴旋转。三个角为欧拉角 罗德里格斯旋

    2024年03月19日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包