Guest User

Untitled

a guest
Jun 18th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. package
  2. {
  3. import flash.geom.*;
  4. import flash.display.*;
  5. import flash.geom.Vector3D;
  6.  
  7. public class Nadir extends Sprite
  8. {
  9. public function Nadir()
  10. {
  11. var lineDrawing:MovieClip = new MovieClip();
  12. this.addChild(lineDrawing);
  13.  
  14. var lineA:Vector3D = new Vector3D(0, 0, 0);
  15. var lineB:Vector3D = new Vector3D(stage.stageWidth, stage.stageHeight, 0);
  16. var point:Vector3D = new Vector3D(400, 120, 0);
  17. var v:Vector3D = getNadir(lineA, lineB, point);
  18.  
  19. lineDrawing.graphics.lineStyle(1);
  20. lineDrawing.graphics.moveTo(lineA.x, lineA.y);
  21. lineDrawing.graphics.lineTo(lineB.x, lineB.y);
  22. lineDrawing.graphics.moveTo(point.x, point.y);
  23. lineDrawing.graphics.lineTo(v.x, v.y);
  24.  
  25. }
  26. public function getNadir(lineA:Vector3D, lineB:Vector3D, point:Vector3D):Vector3D
  27. {
  28. var d, ca, sa, mx:Number;
  29. var result:Vector3D = new Vector3D(0, 0, 0);
  30.  
  31. var v:Vector3D = new Vector3D(lineB.x, lineB.y, lineB.z);
  32. v = v.subtract(lineA);
  33. d = v.length;
  34. ca = v.x / d;
  35. sa = v.y / d;
  36.  
  37. mx = (-lineA.x + point.x) * ca + (-lineA.y + point.y) * sa;
  38.  
  39. result.x = lineA.x + mx * ca;
  40. result.y = lineA.y + mx * sa;
  41.  
  42. return result;
  43. }
  44. }
  45. }
Add Comment
Please, Sign In to add comment