Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package
- {
- import flash.geom.*;
- import flash.display.*;
- import flash.geom.Vector3D;
- public class Nadir extends Sprite
- {
- public function Nadir()
- {
- var lineDrawing:MovieClip = new MovieClip();
- this.addChild(lineDrawing);
- var lineA:Vector3D = new Vector3D(0, 0, 0);
- var lineB:Vector3D = new Vector3D(stage.stageWidth, stage.stageHeight, 0);
- var point:Vector3D = new Vector3D(400, 120, 0);
- var v:Vector3D = getNadir(lineA, lineB, point);
- lineDrawing.graphics.lineStyle(1);
- lineDrawing.graphics.moveTo(lineA.x, lineA.y);
- lineDrawing.graphics.lineTo(lineB.x, lineB.y);
- lineDrawing.graphics.moveTo(point.x, point.y);
- lineDrawing.graphics.lineTo(v.x, v.y);
- }
- public function getNadir(lineA:Vector3D, lineB:Vector3D, point:Vector3D):Vector3D
- {
- var d, ca, sa, mx:Number;
- var result:Vector3D = new Vector3D(0, 0, 0);
- var v:Vector3D = new Vector3D(lineB.x, lineB.y, lineB.z);
- v = v.subtract(lineA);
- d = v.length;
- ca = v.x / d;
- sa = v.y / d;
- mx = (-lineA.x + point.x) * ca + (-lineA.y + point.y) * sa;
- result.x = lineA.x + mx * ca;
- result.y = lineA.y + mx * sa;
- return result;
- }
- }
- }
Add Comment
Please, Sign In to add comment