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缩放在计算机中的实现:

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缩放在计算机中的实现:

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):缩放相关推荐

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

    1.标量 标量只有大小没有方向. 2.矢量 矢量既有大小又有方向. 3.常用举例: 物理上常用的矢量与标量的对应概念有:速度和速率:距离和位移等.如图: 距离: 假设A到B的距离为a,B到C的距离为b ...

  2. 游戏开发中的数学和物理算法(7):角度 vs 弧度

    我们通常使用的笛卡尔坐标系统,角点通常在(0,0),即原点.初始边在x轴正半轴,终边与初始边成夹角. 初始边逆时针旋转为正值,顺时针旋转为逆值.               数学表示:角度:degre ...

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

    代数中的乘法应称为数乘,比如2×3=6,2·3=6.但是在几何中2·3为点积,2×3为叉积. 1.点积 A·B=|A| |B| cosq 2D:定义矢量A[a1,a2],矢量B[b1,b2] :那么点 ...

  4. 游戏开发中常用的数据结构和算法

    转载Loving_初衷 前言 时间流逝,物是人非,就好像涌动的河流,永无终焉,幼稚的心智将变得高尚,青年的爱慕将变得深刻,清澈之水折射着成长. ----------<塞尔塔传说> PS:为 ...

  5. 游戏开发中的数学、向量的应用

    点 数学中的坐标系统(笛卡尔坐标系统) 这里A(0,0), B(1,2), C(4,3), D(–1,2), E(–2,–1), F(3,–2). 计算机中的坐标系统(屏幕坐标系统) 注意这里的y轴在 ...

  6. 游戏开发中的数学问题:技能伤害的区域检测(方形,圆形,三角形,扇形)

    众所周知,moba中的每个英雄都有一套自己的技能的攻击范围方式,有如廉颇一样的圆形范围,有火舞一样的直线范围,吕布的扇形方天戟范围,还有牛魔大招时的矩形范围等等 一些技能是通过物理的碰撞检测来判断的, ...

  7. 手把手教你架构3d游戏引擎pdf_游戏开发中的算法

    游戏技术这条路,可深可浅.你可以满足于完成GamePlay玩法层面的东西,你也可以满足于架构和框架设计层面的东西,你也可以醉心于了解某一游戏引擎带来的掌控感.但是,我们不该止步于此,止步与目前所见或所 ...

  8. 斗牛怎么玩法算法_游戏开发中的算法

    游戏技术这条路,可深可浅.你可以满足于完成GamePlay玩法层面的东西,你也可以满足于架构和框架设计层面的东西,你也可以醉心于了解某一游戏引擎带来的掌控感.但是,我们不该止步于此,止步与目前所见或所 ...

  9. 游戏开发中的进阶向量数学

    游戏开发中的进阶向量数学 飞机 到飞机的距离 远离原点 以2D方式构建平面 飞机的一些例子 3D碰撞检测 更多信息 飞机 点积具有带有单位向量的另一个有趣的属性.想象一下,垂直于该矢量(并通过原点)的 ...

  10. Java ME游戏开发中,碰撞检测算法在Java?ME中的实现(

    2019独角兽企业重金招聘Python工程师标准>>> 在Java ME游戏开发中,碰撞检测算法在Java?ME中的实现(百搜技术) 在Java ME游戏开发中,经常需要进行碰撞检测 ...

最新文章

  1. 面试文员计算机水平考题,一般电脑文员面试上机操作的时候会考什么?
  2. kaios好用吗_印度 KaiOS操作系统有可能会成为世界第三大操作系统?
  3. 使用ABBYY FineReader进行自动图像预处理
  4. .NET Core加解密实战系列之——RSA非对称加密算法
  5. 2011年上半年软考成绩查询网站,祝贺自己顺利通过2011年系统分析师考试!
  6. 自己在OC考试中的试题
  7. Java字符串与日期互转
  8. vscode插件推荐2020_2020年,前端开发者必备的10个VS Code扩展插件
  9. Min_25筛(LibreOJ #6053: 简单的函数)
  10. 对 pretext tasks 的理解
  11. HP笔记本ProBook 445R G6刷BIOS历险记
  12. Pixhawk原生固件PX4之调节怠速
  13. Word技巧和快捷键
  14. 待机、休眠、睡眠的区别(整理)
  15. 使用TIBCO Rendezvous发送hello world,实现监听和发送
  16. python面试题No5
  17. 关于Python、R、VBA、SAS的生成批量变量名与动态变量引用的问题
  18. .xb文件腾讯云备份恢复
  19. oracle 推进scn号
  20. DeepLabv2 caffe创建可编译环境

热门文章

  1. B树与B+树 有动画
  2. Linux怎么取消软链接
  3. 简单的Hibernate入门简介
  4. SpringBoot 一个依赖搞定 session 共享,没有比这更简单的方案了!
  5. 为什么不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程
  6. 硬核! BAT 究竟是怎么玩转中台的!
  7. 为什么 String hashCode 方法选择数字31作为乘子?
  8. 华为将发布“鸿蒙”以取代 Android 系统
  9. 互联网基础运维分工、职责和技能要求
  10. 【ubuntu】出现device not managed连接不上网络