游戏开发中的数学和物理算法10-18

 

1.标量

标量只有大小没有方向。

2.矢量

矢量既有大小又有方向。

3.常用举例:

物理上常用的矢量与标量的对应概念有:速度和速率;距离和位移等。如图:

距离:
假设A到B的距离为a,B到C的距离为b,C到D的距离为c;
那么A到D的距离就为a+b+c。

位移:
假设A到B的位移为a,B到C的位移为b,C到D的位移为c;
那么A到D的位移大小为|a+b+c|(数学上也叫a+b+c的模),方向是从A指向D。

4.计算机中矢量的表示:

 

 

游戏开发中的数学和物理算法(11):极坐标 vs 笛卡尔坐标

在1D的系统中利用正负去表示矢量是足够的,但是在2D和3D的系统中利用正负去表示矢量就不是很足够了。但是如果用极坐标系统去表示的话,就会比较直观。

极坐标表示矢量:
矢量 Ā=||A||@ θ   (||A||代表大小, θ代表方向)



笛卡尔坐标表示矢量:
   (i代表x的方向,j代表y的方向)

极坐标和笛卡尔坐标相互转换:


  b1=||B||*cosθ   b2=||B||*sinθ
  θ=tan-1(b2/b1)

2D和3D矢量的矩阵表示形式:
2D:A=2i+3j的矩阵表示为[2,3]或者
3D:A=2i+3j+4k矩阵表示为[2,3,4]或者

游戏开发中的数学和物理算法(12):矢量的加减法

一个矢量,它的几何图形的表示为一个带箭头的线段,线段大小为矢量的大小(矢量的模),箭头的方向为矢量的方向。如图:

矢量的可以用平行四边形法则来进行计算。如下图,虚线表示的B和实线表示的B是等价的,即我们认为是相等的。

矢量的加法计算如图
  
设A=a1i+a2j , B=b1i+b2j那么A+B=(a1+b1)i+(a2+b2)j


一些性质:
矢量A和B,A+B=B+A
|A+B|不等于|A|+|B|。

矢量的减法,我们可以把A-B看成A+(-B)。如图。

设A=a1i+a2j , B=b1i+b2j那么A-B=(a1-b1)i+(a2-b2)j

计算举例:

正则化矢量:

=========================================================================

 

游戏开发中的数学和物理算法(13):点积和叉积

代数中的乘法应称为数乘,比如2×3=6,2·3=6。但是在几何中2·3为点积,2×3为叉积

1.点积

A·B=|A| |B| cosq

2D:定义矢量A[a1,a2],矢量B[b1,b2] ;那么点积A·B=a1b1+a2b2

3D:定义矢量A[a1,a2,a3],矢量B[b1,b2,b3] ;那么点积A·B=a1b1+a2b2+a3b3

性质:
如果A·B = 0, 那么A┴B。
A·B = B· A。
如果 A·B < 0 (负), 那么q > 90°
如果 A·B > 0 (正), 那么q < 90°

举例:

C · D=5(6) + 3(–2) = 30 – 6 = 24

2.叉积

矢量A = [a1 a2 a3] 和矢量 B = [b1 b2 b3]。

A x B = [(a2b3 – a3b2) (a3b1 – a1b3) (a1b2 – a2b1)]

性质:
叉积是矢量(有大小和方向)。
A x B 不等于 B x A。
A × B=0说明A和B平行。
|A×B|=|A||B|sinq

--------------------------------------------------------

 

游戏开发中的数学和物理算法(14):矩阵的相等和转置

矩阵通常在游戏处理表示有行和列的数据。
只有一行的矩阵,我们可以将其看成一个矢量。

数学表示:如图

在计算机中的表示:

矩阵的在计算机中通常有一个二维数组来表示。下面是一个三行三列的矩阵。


 

 

矩阵相等:

矩阵的行数和列数相等,并且对应行列的数值也要相等。

计算机判定实现两矩阵是否相等。

 

 

矩阵的转置数学表示

矩阵的转置的计算机中的实现

 

 

===================================================

 

游戏开发中的数学和物理算法(15):矩阵的加减法

矩阵加法数学表示

矩阵减法数学表示:

计算机中矩阵加法的实现:

 

 

计算机中矩阵减法的实现:


 

 

============================================

 

游戏开发中的数学和物理算法(16):矩阵的乘法

矩阵数乘数学形式:

计算机中矩阵数乘的实现:

 

 

矩阵的乘法:


计算机中矩阵乘法的实现:

 

 

==============================

 

游戏开发中的数学和物理算法(17):平移

点的平移,可以通过矩阵相加相乘来模拟。

2D加法平移:

例如:
点A(20,30),向右移50个像素,向下移100个像素,得到A'。

那么A'(70,-70)。

3D加法平移:

例如:

计算机中实现:



 

 

2D乘法平移:

例如:

计算机中的实现:

 

 

 

 

 




 

 

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《3D数学基础图形与游戏开发第二版》是一本关于3D数学基础和游戏开发的图书。本书的内容包括了3D图形的数学原理、算法和应用,以及与游戏开发相关的技术和实践。本书通过详细介绍和实例演示,帮助读者理解和掌握3D数学基础,并且将其应用到实际的游戏开发。 首先,本书介绍了3D图形的基础数学知识,包括向量、矩阵、坐标系统等内容。这些知识是理解和计算3D图形的基础,能够帮助读者解决与3D图形相关的计算问题。 其次,本书介绍了一些常见的3D图形算法,如平移、旋转、缩放等。这些算法是实现和操作3D图形的基本方法,读者通过学习这些算法可以了解如何在游戏开发实现各种3D效果。 此外,本书还介绍了3D图形的应用,包括光照、阴影、纹理等。这些应用能够使得游戏图形更加真实和细腻,增强游戏的视觉效果。 最后,本书还探讨了与游戏开发相关的一些技术和实践,如碰撞检测、物理模拟等。这些内容能够帮助读者在实际的游戏开发解决各种问题,提高游戏的质量和可玩性。 总的来说,《3D数学基础图形与游戏开发第二版》是一本深入浅出地介绍了3D数学基础和游戏开发的图书。无论是对于初学者还是有经验的开发者来说,都是一本很好的参考书。通过学习本书,读者可以全面了解和掌握3D数学基础,为游戏开发打下坚实的基础。 ### 回答2: 《3D数学基础 图形与游戏开发 第二版》是一本介绍3D数学基础知识和如何应用于游戏开发的书籍。这本书主要包括了三维空间的基本几何概念、向量和矩阵运算、坐标系统转换、相机和光照模型、投影和变换等内容。 在3D图形,我们常常需要处理点、线、面等基本几何元素,这本书会详细介绍它们的性质和应用。同时,我们还需要了解向量和矩阵的运算,这对于进行3D计算和变换是非常重要的。这本书会引导读者学习如何进行向量和矩阵的加减乘除运算,以及如何进行变换矩阵的组合应用。 在实际的3D环境,不同的图形通常使用不同的坐标系统,因此了解坐标系统的转换和变换也是必不可少的。这本书会介绍从局部坐标到世界坐标和相机坐标的转换过程,并讲解如何在游戏开发进行坐标转换和变换。 此外,相机和光照模型是实现逼真图形的关键。这本书会介绍不同的相机模型,包括透视投影和正交投影,并讲解光照模型和阴影算法。读者将学会如何使用相机和光照来渲染3D场景,使得游戏画面更加逼真。 最后,这本书会介绍一些常用的3D变换技术,如平移、旋转、缩放等,并讲解它们在游戏开发的应用。读者将学到如何对游戏场景的物体进行变换操作,从而实现复杂的动画效果。 总之,《3D数学基础 图形与游戏开发 第二版》是一本介绍3D数学基础知识和应用于游戏开发的实用指南。通过学习这本书,读者将掌握3D图形的基础概念和数学运算方法,从而能够在游戏开发应用这些知识,创建出令人惊艳的游戏画面。 ### 回答3: 《3D数学基础图形与游戏开发第二版》是一本介绍3D数学原理和在游戏开发应用的图书。本书通过深入浅出的讲解,系统地介绍了3D图形的基础知识和相关的数学原理。 首先,本书从基本概念入手,详细介绍了3D图形的表示方法、坐标系统、向量和矩阵等。这些基础概念是理解3D图形和游戏开发的必备知识,有助于读者快速掌握后续内容。 其次,本书讲解了3D图形的变换、投影和光照等技术。通过学习这些技术,读者可以了解如何将3D模型进行平移、旋转和缩放等变换,以及如何在图形模拟逼真的光照效果。 此外,本书还介绍了绘制3D图形所需的基本算法,如线段的裁剪、多边形的填充和深度测试等。这些算法游戏开发具有重要的应用价值,能够帮助读者实现高效、快速的图形渲染。 最后,本书还讨论了一些高级的3D图形技术,如阴影、法线贴图和粒子系统等。这些技术能够进一步提升游戏的视觉效果,使游戏更加逼真和生动。 总之,本书通过系统地介绍了3D图形的基础知识和相关的数学原理,帮助读者掌握3D数学游戏开发的应用。无论是对于初学者还是有一定经验的开发者,本书都是一本值得阅读的参考书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值