亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? plane3d.as

?? flash 360全景瀏覽
?? AS
字號(hào):
/* *  PAPER    ON   ERVIS  NPAPER ISION  PE  IS ON  PERVI IO  APER  SI  PA *  AP  VI  ONPA  RV  IO PA     SI  PA ER  SI NP PE     ON AP  VI ION AP *  PERVI  ON  PE VISIO  APER   IONPA  RV  IO PA  RVIS  NP PE  IS ONPAPE *  ER     NPAPER IS     PE     ON  PE  ISIO  AP     IO PA ER  SI NP PER *  RV     PA  RV SI     ERVISI NP  ER   IO   PE VISIO  AP  VISI  PA  RV3D *  ______________________________________________________________________ *  papervision3d.org ? blog.papervision3d.org ? osflash.org/papervision3d *//* * Copyright 2006 (c) Carlos Ulloa Matesanz, noventaynueve.com. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */// ______________________________________________________________________//                                                               Plane3Dpackage org.papervision3d.core.math{import org.papervision3d.core.geom.renderables.Vertex3D;/*** The Plane3D class represents a plane in 3D space.* * @author Tim Knip*/public class Plane3D{	/**	* The plane normal (A, B, C).	*/	public var normal: Number3D;	/**	 * D.	 */	public var d: Number;	/**	 * Constructor.	 *	 * @param	normal		The plane normal.	 * @param	ptOnPlane	A point on the plane.	 */	public function Plane3D( normal : Number3D = null, ptOnPlane : Number3D = null ) : void	{		if(normal && ptOnPlane) 		{			this.normal = normal;			this.d = -Number3D.dot(normal, ptOnPlane);		}		else		{			this.normal = new Number3D();			this.d = 0;			}	}		/**	 * Creates a plane from coefficients.	 *	 * @param	a	 * @param	b	 * @param	c	 * @param	d	 *	 * @return	The created plane.	 */	public static function fromCoefficients( a:Number, b:Number, c:Number, d:Number ) : Plane3D	{		var plane:Plane3D = new Plane3D();		plane.setCoefficients(a, b, c, d);		return plane;	}		/**	 * Creates a plane from a normal and a point.	 *	 * @param	normal	 * @param	point	 *	 * @return	The created plane.	 */	public static function fromNormalAndPoint( normal : *, point : * ) : Plane3D 	{		var n : Number3D = normal is Number3D ? normal : new Number3D(normal.x, normal.y, normal.z);		var p : Number3D = point is Number3D ? point : new Number3D(point.x, point.y, point.z);		return new Plane3D(n, p);	}		/**	 * Creates a plane from three points.	 *	 * @param	p0	First point.	 * @param	p1	Second point.	 * @param	p2	Third point.	 *	 * @return	The created plane.	 */	public static function fromThreePoints( p0:*, p1:*, p2:* ):Plane3D	{		var plane:Plane3D = new Plane3D();		var n0 : Number3D = p0 is Number3D ? p0 : new Number3D(p0.x, p0.y, p0.z);		var n1 : Number3D = p1 is Number3D ? p1 : new Number3D(p1.x, p1.y, p1.z);		var n2 : Number3D = p2 is Number3D ? p2 : new Number3D(p2.x, p2.y, p2.z);		plane.setThreePoints(n0, n1, n2);		return plane;	}		/**	 * Get the closest point on the plane.	 *	 * @param	point		The point to 'project'.	 * @param 	ptOnPlane	A known point on the plane.	 */	public function closestPointOnPlane( point : Number3D, ptOnPlane : Number3D ) : Number3D	{		var dist : Number = Number3D.dot(this.normal, Number3D.sub(point, ptOnPlane));		var ret : Number3D = point.clone();		ret.x -= (dist * this.normal.x);		ret.y -= (dist * this.normal.y);		ret.z -= (dist * this.normal.z);		return ret;	}		/**	 * distance of point to plane.	 * 	 * @param	v	 * @return	 */	public function distance( pt:* ):Number	{		var p:Number3D = pt is Vertex3D ? pt.toNumber3D() : pt;		return Number3D.dot(p, normal) + d;	}		/**	 * normalize.	 * 	 * @return	 */	public function normalize():void	{		var n:Number3D = this.normal;				//compute the length of the vector		var len:Number = Math.sqrt(n.x*n.x + n.y*n.y + n.z*n.z);				// normalize		n.x /= len;		n.y /= len;		n.z /= len;		this.d /= len;	}		/**	 * Sets this plane from ABCD coefficients.	 *	 * @param	a	 * @param	b	 * @param	c	 * @param	d	 */	public function setCoefficients( a:Number, b:Number, c:Number, d:Number ):void	{		// set the normal vector		this.normal.x = a;		this.normal.y = b;		this.normal.z = c;		this.d = d;				normalize();	}		/**	 * Sets this plane from a normal and a point.	 *	 * @param	normal	 * @param	pt	 */	public function setNormalAndPoint( normal:Number3D, pt:Number3D ):void	{		this.normal = normal;		this.d = -Number3D.dot(normal, pt);	}		/**	 * Sets this plane from three points.	 *	 * @param	p0	 * @param	p1	 * @param	p2	 */	public function setThreePoints( p0:Number3D, p1:Number3D, p2:Number3D ):void	{						var ab:Number3D = Number3D.sub(p1, p0);		var ac:Number3D = Number3D.sub(p2, p0);		this.normal = Number3D.cross(ab, ac);		this.normal.normalize();		this.d = -Number3D.dot(normal, p0);	}		/**	 * Projects points onto this plane. 	 * <p>Passed points should be in the XY-plane. If the points have Z=0 then the points are	 * projected exactly on the plane. When however Z is greater then zero, the points are	 * moved 'out of the plane' by a distance Z. Negative values for Z move the points 'into the plane'.</p>	 *	 * @param	points	Array of points (any object with x, y, z props).	 * @param	origin	Where to move the points.	 */	public function projectPoints( points : Array, origin : Number3D = null ) : void {		// use other up-vector if angle between plane-normal and up-vector approaches zero.		var dot : Number = Number3D.dot(_yUP, this.normal);				// when the dot-product approaches 1 the angle approaches 0		var up : Number3D = Math.abs(dot) > 0.99 ? _zUP : _yUP;				// get side vector		var side:Number3D = Number3D.cross(up, normal);		side.normalize();		// adjust up vector		up = Number3D.cross(normal, side);		up.normalize();				// create the matrix!		var matrix : Matrix3D = new Matrix3D([			side.x, up.x, normal.x, 0,			side.y, up.y, normal.y, 0,			side.z, up.z, normal.z, 0,			0, 0, 0, 1]);				// translate if wanted			if(origin)			matrix = Matrix3D.multiply(Matrix3D.translationMatrix(origin.x, origin.y, origin.z), matrix);				// project!		var n : Number3D = new Number3D();		for each( var point:* in points ) {			n.x = point["x"];			n.y = point["y"];			n.z = point["z"];						Matrix3D.multiplyVector(matrix, n);						point["x"] = n.x;			point["y"] = n.y;			point["z"] = n.z;		}	}		public function toString():String	{		return "[a:" + normal.x  +" b:" +normal.y + " c:" +normal.z + " d:" + d + "]";	}	private static var _yUP : Number3D = new Number3D(0, 1, 0);		private static var _zUP : Number3D = new Number3D(0, 0, 1);}}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品欧美一区二区三区| 国产精品久久久久久久久动漫 | 色偷偷一区二区三区| 丝袜美腿高跟呻吟高潮一区| 国产日本亚洲高清| 91精品国产一区二区| 色老综合老女人久久久| 国产盗摄女厕一区二区三区| 日日嗨av一区二区三区四区| 一区二区高清在线| 国产精品家庭影院| 国产色产综合产在线视频| 91精品国产乱码| 欧美日韩一区高清| 欧美亚洲综合一区| 色哟哟精品一区| 麻豆精品在线看| 日韩理论片一区二区| 久久精品一级爱片| 欧美不卡在线视频| 91精品国模一区二区三区| 91黄色免费观看| 色香色香欲天天天影视综合网| 国产激情偷乱视频一区二区三区| 黄页视频在线91| 蜜臀av性久久久久av蜜臀妖精| 亚洲成av人片在www色猫咪| 亚洲人亚洲人成电影网站色| 国产精品福利一区二区| 国产精品久久久久精k8| 国产免费观看久久| 国产免费成人在线视频| 中文字幕第一页久久| 久久精品视频一区| 国产日本一区二区| 国产精品久久久久久久久搜平片| 国产欧美日韩麻豆91| 亚洲国产精品成人综合色在线婷婷| 国产色婷婷亚洲99精品小说| 国产午夜精品美女毛片视频| 中文字幕第一区综合| 亚洲欧美自拍偷拍| 亚洲精品综合在线| 亚洲国产婷婷综合在线精品| 天天综合色天天综合色h| 日本午夜一区二区| 黑人精品欧美一区二区蜜桃| 国产精品影视在线| 波多野洁衣一区| 色域天天综合网| 91精品国产一区二区三区香蕉| 欧美大胆人体bbbb| 国产欧美一区二区三区沐欲| 中文字幕在线不卡| 亚洲一区影音先锋| 免费一级片91| 国产一区二区精品久久99| 91在线porny国产在线看| 国产精品中文欧美| 91麻豆.com| 4hu四虎永久在线影院成人| wwww国产精品欧美| 亚洲欧洲成人精品av97| 亚洲18女电影在线观看| 精品一区二区三区久久久| 国产a视频精品免费观看| 91亚洲永久精品| 欧美日韩一区二区在线观看| 日韩欧美成人激情| 国产精品另类一区| 亚洲综合在线视频| 久久精品国产免费| 91免费版pro下载短视频| 欧美三级电影在线观看| 国产亚洲午夜高清国产拍精品 | 亚洲免费观看高清完整版在线观看 | 欧美日韩aaaaa| 91麻豆精品国产91| 国产女主播视频一区二区| 夜夜嗨av一区二区三区网页| 韩国成人福利片在线播放| 色婷婷久久久久swag精品| 日韩精品中文字幕一区二区三区| 国产精品久久三| 男人的j进女人的j一区| 成人av在线播放网址| 欧美一区二区三区免费视频 | 欧美日韩精品一区二区在线播放 | 午夜精品久久久久久久 | 欧美性videosxxxxx| 久久先锋资源网| 亚洲国产精品久久一线不卡| 国产成人精品亚洲午夜麻豆| 欧美福利视频一区| 亚洲精品视频在线| 国产精品一区在线观看你懂的| 欧美日韩成人一区二区| 亚洲欧洲精品成人久久奇米网| 91麻豆swag| 久久机这里只有精品| 色悠久久久久综合欧美99| 久久一日本道色综合| 午夜精品福利一区二区蜜股av| av电影在线观看一区| 国产亚洲综合av| 美女看a上一区| 欧美日韩久久不卡| 亚洲综合免费观看高清完整版在线 | 久久国产成人午夜av影院| 91蜜桃网址入口| 久久久亚洲欧洲日产国码αv| 日本免费在线视频不卡一不卡二| 91丨九色丨国产丨porny| 国产欧美va欧美不卡在线| 国产一区二三区好的| 欧美大片拔萝卜| 美女视频黄免费的久久 | 在线观看网站黄不卡| 国产精品少妇自拍| 国产乱码精品一区二区三区av| 欧美mv日韩mv国产| 国产精品久久久久一区| 久久国产三级精品| 91精品国产一区二区| 亚洲午夜精品在线| 在线精品视频免费观看| 亚洲免费av网站| 91色porny蝌蚪| 亚洲人成影院在线观看| 91女人视频在线观看| 亚洲人成在线观看一区二区| 91麻豆精品在线观看| 亚洲人成网站影音先锋播放| av中文字幕一区| 亚洲精品国产a久久久久久| aaa欧美日韩| 亚洲欧美区自拍先锋| 在线观看日韩毛片| 午夜视频在线观看一区二区| 欧美一区二区三区小说| 久久成人久久爱| 欧美国产1区2区| 97se狠狠狠综合亚洲狠狠| 亚洲欧美激情插| 欧美日韩一卡二卡| 免费高清在线一区| 久久精品一区二区三区四区| 成人一区二区三区视频在线观看 | 国产盗摄精品一区二区三区在线| 国产三级精品视频| 99在线热播精品免费| 夜夜精品浪潮av一区二区三区| 欧美高清精品3d| 国产在线播放一区二区三区| 亚洲国产高清在线观看视频| 91蜜桃免费观看视频| 亚洲va国产天堂va久久en| 欧美一区二区精品久久911| 国内久久精品视频| 中文字幕日本乱码精品影院| 欧美丝袜第三区| 精品中文av资源站在线观看| 国产精品网站一区| 欧美精品久久天天躁| 国产综合成人久久大片91| 综合久久久久久久| 制服丝袜成人动漫| 成人精品电影在线观看| 亚洲国产另类精品专区| 久久久99精品久久| 欧美三级三级三级| 国产精品一区专区| 亚洲1区2区3区视频| 国产欧美一区二区精品忘忧草| 欧亚洲嫩模精品一区三区| 国产中文字幕一区| 一区二区三区小说| 久久色视频免费观看| 在线观看日韩电影| 粉嫩av一区二区三区粉嫩 | 经典三级视频一区| 亚洲天堂精品在线观看| 欧美mv日韩mv国产网站app| 色婷婷精品大在线视频| 国产剧情在线观看一区二区 | 成人av片在线观看| 热久久久久久久| 亚洲欧美日韩久久| 久久久av毛片精品| 91精品国产91热久久久做人人 | 精品欧美一区二区三区精品久久 | 久久99精品视频| 一级做a爱片久久| 国产偷国产偷亚洲高清人白洁| 欧美日韩一区不卡| 91麻豆文化传媒在线观看| 国产剧情av麻豆香蕉精品| 日韩vs国产vs欧美| 亚洲国产另类av| 亚洲女同一区二区|