OpenGL超级宝典(第7版)笔记16 向量 矩阵 它们都有什么用

这篇博客从实际应用角度介绍了向量和矩阵在OpenGL中的作用,包括四大坐标系、向量基础与运算、矩阵基础及乘法。强调了向量点乘和叉乘在计算投影、判断方向等方面的应用,以及矩阵在坐标系转换中的核心角色。
摘要由CSDN通过智能技术生成

OpenGL超级宝典(第7版)笔记16 向量 矩阵 它们都有什么用


前言

本篇并不是纯数学上的介绍,而是从实际应用的角度来想大家介绍向量矩阵的内容,所以说并不会十分枯燥,我们采用先介绍计算的细节和过程,然后介绍我们将在哪些地方用到它们,所以当大家看到复杂的计算时候不要抵触,这样或那样复杂的计算(比如矩阵乘法)都是为了能够实现各种各样的效果,并不是为了为难大家。

因为这并不是纯数学上的教学,所以我们并不会解释例如矩阵是怎么发明的,矩阵背后到底是什么(其实是多元一次方程组O(∩_∩)O)等等“数学”上的问题,我们只要知道怎么计算、一般要在哪里用就行了。

如果你想学习权威的数学上的内容,可以参考线性代数的书籍(但其实很多线性代数的知识我们并不会用到),教科书就行。

1 从坐标系开始

由于渲染都是在三维空间中展开,所以我们的所有点的坐标都是三维坐标,在OpenGL中有四大坐标其中包括:
1 对象坐标系(对于每个模型都会在建模的时候建立一个自己的坐标系,这是为了方便建模)
2 世界坐标系(当所有建模完成后要把这些模型放到一起,而这个坐标系就是世界坐标系)
3 视图坐标系(由于我们看到的画面是从一个特定的摄像机位置看过去的,所以会根据摄像机所建立的坐标系,用于将摄像机看到的画面处理出来)
4 裁剪和标准化坐标系(由于很多显示设备的不同,显示的大小比例都有所不同,并不是所有的物体都在我们的视线内,所以我们需要对这些坐标系进行标准化的转换,统一的进行缩放,这里用到的就是裁剪和标准化坐标系)
在这里插入图片描述

2 向量

2.1 向量基础

虽然说在数学上的向量是有起点和方向两个要素的,但是我们在OpenGL中并不考虑向量的起点,我们都认为向量的起点是原点,如果知道向量的两个顶点位置,那么只需要把终点位置减去起点位置就得到了向量的坐标。
在这里插入图片描述
对于坐标系来说都有一组基础的向量,分别指向XYZ轴的正方向(分别为i,j,k),而且它们的长度都为1,由于XYZ轴之间两两相互垂直,这组向量组成了一个正交体系,每个向量都可以由i、j、k来表示,比如下图:
在这里插入图片描述
ijk的相互垂直非常重要,当前我们很多的错误可能就来自于坐标系ijk并不相互垂直的问题。

2.2 向量运算

向量的长度(略)

点乘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值