Games101课程实验Assignment1

Games101课程实验Assignment1

资源

照例先放资源

百度网盘	https://pan.baidu.com/s/1yv_F5hfhE_bssp5zr-0FhQ 提取码:2utl 

实验说明

本次作业的任务是填写一个旋转矩阵和一个透视投影矩阵。给定三维下三个点v0(2.0, 0.0,−2.0), v1(0.0, 2.0,−2.0), v2(−2.0, 0.0,−2.0), 需要将这三个点的坐标变换为屏幕坐标并在屏幕上绘制出对应的线框三角形(已经提供了draw_triangle 函数,所以你只需要去构建变换矩阵即可)。简而言之,我们需要进行模型、视图、投影、视口等变换来将三角形显示在屏幕上。其中视图和视口变换已经实现了,只需要实验模型和投影变换。

实验步骤

首先结合代码分析一哈明确要解决的问题:

模型变换

对应get_model_matrix函数
可以进行平移,旋转,缩放等操作,本次实验只要求实现绕z轴的旋转操作
那么旋转矩阵对应
[ c o s α − s i n α 0 0 s i n α c o s α 0 0 0 0 1 0 0 0 0 1 ] \begin{gathered} \begin{bmatrix} cos\alpha & -sin\alpha & 0 & 0 \\ sin\alpha & cos\alpha & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \end{gathered} cosαsinα00sinαcosα0000100001

这里有个注意的点是函数给的参数是角度而不是弧度,所以直接用的话会发现运行时按a和d旋转不对,注意做个转化:
π ∗ α / 180 \pi*\alpha/180 πα/180
在这里插入图片描述

投影变换

对应get_projection_matrix函数
首先分析一下参数:
eye_fov:垂直可视角度
aspect_ratio:长宽比
zNear和zFar: z轴的n,f

首先需要根据参数求出来l,r,b,t(具体推倒过程见lecture 5)
t

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值