查看: 1354|回复: 5
打印 上一主题 下一主题

游戏的世界 矢量的世界

[复制链接]

4

主题

0

听众

63

积分

设计初学者

Rank: 1

纳金币
51
精华
0
跳转到指定楼层
楼主
发表于 2012-8-21 23:01:11 |只看该作者 |倒序浏览
游戏的算法中,离不开矢量的计算,连现今先进战斗机都号称“矢量”战机。因此掌握矢量计算是十分必要的。既然说矢量计算,那也离不开矢量的加减乘除。先看矢量加法。

   矢量加:

   矢量的加法满足平行四边形法则和三角形法则。具体地,两个矢量a和b相加,得到的是另一个矢量。这个矢量可以表示为a和b的起点重合后,以它们为邻边构成的平行四边形的一条对角线,或者表示为将a 的终点和b 的起点重合后,从a的起点指向b的终点的矢量,如下图。







矢量的加法,常可以这样理解,即第二个矢量在第一个矢量基础上的“推进”或“跳跃”。例如,如果把第一个矢量看做是空间中的某个点,则第二个点可以看做从此点位置上的“偏移”或“跳跃”。如下面的语句:代表地面上某个点,正上方5个单位的点

var pointInAir = pointOnGround + new Vector3(0, 5, 0);

另外,如果把第一个矢量的点,作为一个物体局部坐标系的原点,则可以把第二个矢量看做物体局部空间中的一个矢量,此时,则可以理解局部坐标系和世界坐标系的某些关系。

矢量减:

矢量的减法常用计算两个物体间的距离和方向。如下图。







请注意,矢量的减法是有序的,即a-b不等于b-a,因为矢量是有方向的,这两个减法结果的区别就是方向是相反的,而长度(或模)是相同的。

矢量的标量乘法和除法:

在我们讨论矢量时,常把一个普通的数字(例如,一个float值)称为“标量”。这表示标量只有大小,而矢量有大小和方向。



标量乘法,就是常数与矢量相乘,其值是此常量与此矢量中的各个分量分别相乘,或此值与矢量的“模”相乘,结果仍然是一个矢量,且方向与原矢量方向相同,但模变长了(原模与标量的乘积)。

同样的,标量的除法等于矢量的模除以此“标量”,矢量的方向仍然是不变的。若一个矢量除以自己的“模”,则结果是一个方向与原矢量相同,但“模”为1的矢量,这称为normalized vector (矢量的标准化)。若一个标准化矢量与一个数值相乘,则此矢量的模就等于此数值,这常用来表示一个方向不变,但强度可以控制的“力”,例如,一个车轮的力总是向前的(当然不倒车的情况下),但力的大小由油门控制。







































  
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

沙发
发表于 2012-8-22 00:15:35 |只看该作者
不错的内容,很值得参考的技术介绍。
回复

使用道具 举报

195

主题

1

听众

4646

积分

中级设计师

Rank: 5Rank: 5

纳金币
4629
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-8-22 20:58:02 |只看该作者
回复

使用道具 举报

498

主题

1

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
13519
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-8-24 19:32:23 |只看该作者
  好东西啊
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2012-12-30 04:26:54 |只看该作者
学习了,虽然还是有难度,谢谢楼主的用心
回复

使用道具 举报

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2012-12-31 00:30:50 |只看该作者
谢谢楼主的帖子分享,学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-22 12:54 , Processed in 0.071660 second(s), 38 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部