游戏开发中的数学和物理算法(18):缩放
2D缩放的数学形式:
Sx代表x方向的缩放量,Sy代表y方向的缩放量。当Sx=Sy代表等比例缩放。
例如:将下图的矩形ABCD放大3倍。
设A(10,10),那么缩放后的A',将通过下列计算获得A'(30,30)。
同理可以计算出缩放后的B'(150,30), C'(150,120),和 D'(30,120)。如图:
虚线框表示的为缩放前的图形,实线框表示为缩放后的图形。
2D缩放在计算机中的实现:
Matrix3X1 scale2DByMultiplication(Matrix3X1 start, float dx, float dy)
{
Matrix3X3 temp;
Matrix3X1 result;
//Zero out the matrix.
temp = createFixed3X3Matrix(0);
//setup the 3x3 for multiplication;
temp.index[0][0] = dx;
temp.index[1][1] = dy;
temp.index[2][2] = 1;
result = multiplyMatrixNxM(temp,start);
return result;
}
3D缩放的数学形式:
3D缩放在计算机中的实现:
Matrix4X1 scale3DByMultiply(Matrix4X1 start, float dx, float dy, float dz)
{
Matrix4X4 temp;
Matrix4X1 result;
//Zero out the matrix to make sure nothing is left uninitialized.
temp = createFixed4X4Matrix(0);
//setup the 3x3 for multiplication;
temp.index[0][0] = dx;
temp.index[1][1] = dy;
temp.index[2][2] = dz;
temp.index[3][3] = 1;
result = multiplyMatrixNxM(temp,start);
return result;
}
转载于:https://www.cnblogs.com/HelloCG/archive/2009/01/21/1379643.html
游戏开发中的数学和物理算法(18):缩放相关推荐
- 游戏开发中的数学和物理算法10-18
1.标量 标量只有大小没有方向. 2.矢量 矢量既有大小又有方向. 3.常用举例: 物理上常用的矢量与标量的对应概念有:速度和速率:距离和位移等.如图: 距离: 假设A到B的距离为a,B到C的距离为b ...
- 游戏开发中的数学和物理算法(7):角度 vs 弧度
我们通常使用的笛卡尔坐标系统,角点通常在(0,0),即原点.初始边在x轴正半轴,终边与初始边成夹角. 初始边逆时针旋转为正值,顺时针旋转为逆值. 数学表示:角度:degre ...
- 游戏开发中的数学和物理算法(13):点积和叉积
代数中的乘法应称为数乘,比如2×3=6,2·3=6.但是在几何中2·3为点积,2×3为叉积. 1.点积 A·B=|A| |B| cosq 2D:定义矢量A[a1,a2],矢量B[b1,b2] :那么点 ...
- 游戏开发中常用的数据结构和算法
转载Loving_初衷 前言 时间流逝,物是人非,就好像涌动的河流,永无终焉,幼稚的心智将变得高尚,青年的爱慕将变得深刻,清澈之水折射着成长. ----------<塞尔塔传说> PS:为 ...
- 游戏开发中的数学、向量的应用
点 数学中的坐标系统(笛卡尔坐标系统) 这里A(0,0), B(1,2), C(4,3), D(–1,2), E(–2,–1), F(3,–2). 计算机中的坐标系统(屏幕坐标系统) 注意这里的y轴在 ...
- 游戏开发中的数学问题:技能伤害的区域检测(方形,圆形,三角形,扇形)
众所周知,moba中的每个英雄都有一套自己的技能的攻击范围方式,有如廉颇一样的圆形范围,有火舞一样的直线范围,吕布的扇形方天戟范围,还有牛魔大招时的矩形范围等等 一些技能是通过物理的碰撞检测来判断的, ...
- 手把手教你架构3d游戏引擎pdf_游戏开发中的算法
游戏技术这条路,可深可浅.你可以满足于完成GamePlay玩法层面的东西,你也可以满足于架构和框架设计层面的东西,你也可以醉心于了解某一游戏引擎带来的掌控感.但是,我们不该止步于此,止步与目前所见或所 ...
- 斗牛怎么玩法算法_游戏开发中的算法
游戏技术这条路,可深可浅.你可以满足于完成GamePlay玩法层面的东西,你也可以满足于架构和框架设计层面的东西,你也可以醉心于了解某一游戏引擎带来的掌控感.但是,我们不该止步于此,止步与目前所见或所 ...
- 游戏开发中的进阶向量数学
游戏开发中的进阶向量数学 飞机 到飞机的距离 远离原点 以2D方式构建平面 飞机的一些例子 3D碰撞检测 更多信息 飞机 点积具有带有单位向量的另一个有趣的属性.想象一下,垂直于该矢量(并通过原点)的 ...
- Java ME游戏开发中,碰撞检测算法在Java?ME中的实现(
2019独角兽企业重金招聘Python工程师标准>>> 在Java ME游戏开发中,碰撞检测算法在Java?ME中的实现(百搜技术) 在Java ME游戏开发中,经常需要进行碰撞检测 ...
最新文章
- 面试文员计算机水平考题,一般电脑文员面试上机操作的时候会考什么?
- kaios好用吗_印度 KaiOS操作系统有可能会成为世界第三大操作系统?
- 使用ABBYY FineReader进行自动图像预处理
- .NET Core加解密实战系列之——RSA非对称加密算法
- 2011年上半年软考成绩查询网站,祝贺自己顺利通过2011年系统分析师考试!
- 自己在OC考试中的试题
- Java字符串与日期互转
- vscode插件推荐2020_2020年,前端开发者必备的10个VS Code扩展插件
- Min_25筛(LibreOJ #6053: 简单的函数)
- 对 pretext tasks 的理解
- HP笔记本ProBook 445R G6刷BIOS历险记
- Pixhawk原生固件PX4之调节怠速
- Word技巧和快捷键
- 待机、休眠、睡眠的区别(整理)
- 使用TIBCO Rendezvous发送hello world,实现监听和发送
- python面试题No5
- 关于Python、R、VBA、SAS的生成批量变量名与动态变量引用的问题
- .xb文件腾讯云备份恢复
- oracle 推进scn号
- DeepLabv2 caffe创建可编译环境