⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 number2d.as

📁 flash 360全景浏览
💻 AS
字号:
package org.papervision3d.core.math {	import org.papervision3d.Papervision3D;			/**	 * PLUG-IN MEDIA 2D Vector Class, by Seb Lee-Delisle re-written for Papervision3D as Number2D. 	 *  	 * Version 0.1 10 Feb 2008		 */	public class Number2D 	{		public static const RADTODEG : Number = 180/Math.PI;				public static const DEGTORAD : Number = Math.PI/180;				public var x:Number; 		public var y:Number; 				public function Number2D (x:Number = 0, y:Number = 0)		{			this.x = x; 			this.y = y; 		}			 	 	public function toString():String		{		    var x:Number = Math.round (this.x * 1000) / 1000;			var y:Number = Math.round (this.y * 1000) / 1000;			return "[" + x + ", " + y + "]";		}				public function clone():Number2D		{			return new Number2D(this.x, this.y);		}				public function copyTo(v:Number2D):void		{			v.x = this.x;			v.y = this.y;		}		public function copyFrom(v:Number2D):void		{			this.x = v.x;			this.y = v.y;		}					public function get modulo():Number 		{			return Math.sqrt((x*x)+(y*y));		}				public function normalise():void 		{			var m:Number = this.modulo;						this.x = this.x/m;			this.y = this.y/m;						}				public function reverse():void 		{			this.x = -this.x;			this.y = -this.y;		}				public static function add(v:Number2D, w:Number2D): Number2D {						return new Number2D( v.x+=w.x, v.y+w.y);			}		public static function subtract(v:Number2D, w:Number2D): Number2D {						return new Number2D( v.x-w.x, v.y-w.y);			}							public static function multiplyScalar(v:Number2D, n:Number) : Number2D		{			return new Number2D			(				v.x*n,				v.y*n			);					}					public static function dot(v:Number2D, w:Number2D):Number		{			return v.x * w.x + v.y * w.y ;		}						public function angle():Number		{						if(Papervision3D.useDEGREES)				return ( RADTODEG*(Math.atan2(y,x)));			else 				return (Math.atan2(y,x));						}							public function rotate(angle:Number) :void{			if(Papervision3D.useDEGREES) angle*=DEGTORAD;			var cosRY:Number = Math.cos(angle);			var sinRY:Number = Math.sin(angle);			var temp:Number2D;				temp = clone();									this.x= (temp.x*cosRY)-(temp.y*sinRY);			this.y= (temp.x*sinRY)+(temp.y*cosRY);								}							public function set(x:Number, y:Number) :void		{						this.x = x;			this.y = y;			}		// ______________________________________________________________________				/**		 * Super fast modulo(length, magnitude) comparisons.		 * 		 *  		 */		 		public function isModuloLessThan(v:Number):Boolean		{							return (moduloSquared<(v*v)); 					}				public function isModuloGreaterThan(v:Number):Boolean		{							return (moduloSquared>(v*v)); 					}		public function isModuloEqualTo(v:Number):Boolean		{							return (moduloSquared==(v*v)); 					}					public function get moduloSquared():Number		{			return ( this.x*this.x + this.y*this.y );		}								}			}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -