随笔分类 -  3D游戏数学基础

摘要:假设我们需要在一个物体周围生成一些小装饰品, 比如以物体A半径5的圆圈线上生成一些宝箱等等,。 我们先看看如何计算物体x,y坐标的公式: //根据原点,角度,半径获取物体的位置. //x = 原点x + 半径 * 邻边除以斜边的比例, 邻边除以斜边的比例 = cos(弧度) , 弧度 = 角度 *3.14f / 180f; float x = centerPos.x +... 阅读全文
posted @ 2015-08-21 16:37 盘子脸 阅读(684) 评论(0) 推荐(1)
摘要:实现一个按钮的上下漂浮效果,我们通常会想到animation 和 itween来实现. 这次我们来使用三角函数实现 如图: 代码实现: using UnityEngine; using System.Collections; public class Demo : MonoBehaviour { private float radian = 0; ... 阅读全文
posted @ 2015-08-16 00:48 盘子脸 阅读(746) 评论(0) 推荐(0)
摘要:我们常常在游戏中遇到这种问题. 比如敌人遇到了主角就会朝他旋转过去. 或者判断主角在左边还是右边等等 效果图: 向量A,B的叉乘获得一个垂直于他们的C向量,我们可以通过这上面的值来判断敌人四个区域的某一区 代码的实现: using UnityEngine; using System.Collections; public class Test : MonoB... 阅读全文
posted @ 2015-08-10 00:32 盘子脸 阅读(1680) 评论(0) 推荐(0)
摘要:向量是有方向和大小的量,所谓单位化就是保持其方向不变,将其长度化为1 有一向量a(标箭头),其长度为绝对值a,单位化为(a/绝对值a) 公式: 向量a的坐标为(x,y),那么其长度(又称为模)为:√(x²+y²)。单位化后为(x,y)/√(x²+y²)或(x/√(x²+y²) , y/√(x²+y²)) 代码实现方式: public void normalized... 阅读全文
posted @ 2015-08-09 22:52 盘子脸 阅读(1723) 评论(0) 推荐(0)
摘要:2维向量如何计算与某一个交点之间的夹角,假设A,B是向量,C是他们共同连接的一个点计算出A-C-B形成的角度 我们先了解几个简单的计算: 2D向量的乘积计算 (A.x * B.x + A.y * B.y) 2D向量的取摸 开平方(A.x * A.x + A.y * A.y) ... 阅读全文
posted @ 2015-08-09 01:41 盘子脸 阅读(3413) 评论(0) 推荐(0)
摘要:来一起复习下初中三角函数, 我记得当初我数学能考65分 勾股定理: 直角三角形两直角边a,b的平方等于斜边c的平方 三角函数: sinA = a / c cosA = b / c tanA = a / b cotA = b / a 已知两条边求角度: sinA = a /c. 那么我们知道a和c的长度要计算A的... 阅读全文
posted @ 2015-08-07 21:19 盘子脸 阅读(744) 评论(0) 推荐(0)
摘要:缩放在目前代码只有3D的,2D自己想想(╯▽╰)吧 投影矩阵公式: 3D using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication6 { class M... 阅读全文
posted @ 2015-04-26 22:10 盘子脸 阅读(614) 评论(0) 推荐(0)
摘要:1. 矩阵和矩阵相乘 2. 矩阵和向量相乘 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication6 { class Program { ... 阅读全文
posted @ 2015-04-26 19:09 盘子脸 阅读(390) 评论(0) 推荐(0)
摘要:负向量运算: (把一个向量中所有的数字取负) [1,2,3] -> [-1,-2,-3] 几何中的负向量解释: ============================================================================== 向量求模: (取向量的长度) 2D向量求长度: 3D向量求长度: [x,y,z]求长度 = || [x,... 阅读全文
posted @ 2015-03-21 16:50 盘子脸 阅读(2834) 评论(0) 推荐(0)
摘要:向量在数学的定义中表示一个数组: 1D: [1],[2],[3] 不知道代表什么东西.. 2D: [1,2], [6,5] 代表2D空间中的一条线 3D: [1,2,3] , [4,5,6] 代表3D空间中的一条线 向量的几何定义: (具有方向和大小) 向量和标量怎么区分: 向量 = 标量 - 标量 标量 = 标量 阅读全文
posted @ 2015-03-21 15:36 盘子脸 阅读(1022) 评论(0) 推荐(0)