Javascript 向量简单应用
2012-03-31 20:52
441 查看
本人学习基本上参考了他们三位,在这里感谢他们的分享 当耐特专家 岑安 miloyip
向量
既有大小又有方向的量叫做向量(亦称矢量),与标量相对,用JS实现代码如下,直接搬miloyip的了
实现效果
主要实现小方朝某个固定的方向移动,到达目的地后再分散开,重复上面两个步骤。
为了实现物体朝某个点移动,这里需要进行一个向量的计算
如一个点(100,100)移动到目标点(200,200),subtract()返回的就是一个向量,normalize()就是获取单位向量,因为向量是有方向的,所以点也就知道移动的方向了。
效果演示
向量
既有大小又有方向的量叫做向量(亦称矢量),与标量相对,用JS实现代码如下,直接搬miloyip的了
Vector2 = function(x, y) { this.x = x; this.y = y; }; Vector2.prototype = { copy: function() { return new Vector2(this.x, this.y); }, length: function() { return Math.sqrt(this.x * this.x + this.y * this.y); }, sqrLength: function() { return this.x * this.x + this.y * this.y; }, normalize: function() { var inv = 1 / this.length(); return new Vector2(this.x * inv, this.y * inv); }, negate: function() { return new Vector2(-this.x, -this.y); }, add: function(v) { return new Vector2(this.x + v.x, this.y + v.y); }, subtract: function(v) { return new Vector2(this.x - v.x, this.y - v.y); }, multiply: function(f) { return new Vector2(this.x * f, this.y * f); }, divide: function(f) { var invf = 1 / f; return new Vector2(this.x * invf, this.y * invf); }, dot: function(v) { return this.x * v.x + this.y * v.y; } };
实现效果
主要实现小方朝某个固定的方向移动,到达目的地后再分散开,重复上面两个步骤。
为了实现物体朝某个点移动,这里需要进行一个向量的计算
targetPos.subtract(obj.pos).normalize();
如一个点(100,100)移动到目标点(200,200),subtract()返回的就是一个向量,normalize()就是获取单位向量,因为向量是有方向的,所以点也就知道移动的方向了。
效果演示
相关文章推荐
- javascript的应用,简单设计切换网页主题的应用
- javascript dom代码应用 简单的相册[firefox only]
- Javascript 最简单检测网速的方法和应用
- JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
- 40-JavaScript-折叠与显示-复选框的简单应用
- JavaScript的简单应用
- 二维向量叉乘的简单介绍及应用
- 在html页面用ajax的简单应用通过javascript得到数据库中的图片路径并在表格中显示出来
- JavaScript实际应用:简单二级联动菜单实现
- Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
- javascript dom代码应用 简单的相册[firefox only]
- JavaScript实际应用:简单二级联动菜单实现
- JavaScript 简单应用
- JavaScript 学习笔记3 CSS的ID、CLASS简单应用
- 从零开始学_JavaScript_系列(54)——Generator函数(2)简单应用、throw和return
- JavaScript调试工具以及简单应用
- 向量的范数及其一个简单的应用
- Javascript 最简单检测网速的方法和应用
- Javascript 拖拽的一些简单的应用——逐行分析代码,让你轻松了解拖拽的原理
- JavaScript中简单应用正则表达式的小实例_文本替换_replace