【GAMES 101】作业1的实现和思考

本文为闫令琪老师的GAMES 101课程的作业1的个人实现与一些简单的思考,文中如有错漏欢迎指出。

作业要求

本次作业的任务是填写一个旋转矩阵和一个透视投影矩阵。给定三维下三个点v0(2.0, 0.0, −2.0), v1(0.0, 2.0, −2.0), v2(−2.0, 0.0, −2.0), 你需要将这三个点的坐标变换为屏幕坐标并在屏幕上绘制出对应的线框三角形。

代码实现

这里需要实现的是get_model_matrixget_projection_matrix这两个方法,分别对应着模型和投影变换。

在模型变换中,要实现绕z轴旋转rotation_angle角度的变换矩阵,即为如下所示的矩阵:

R 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 ] R_{z}(\alpha)=\left[ \begin{matrix} cos\alpha & -sin\alpha & 0 & 0 \\ sin\alpha & cos\alpha & 0 &0 \\0 & 0 & 1& 0 \\0 & 0 & 0 & 1 \end{matrix} \right] Rz(α)=cosαsinα00sinαcosα000010

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值