Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.89 KB | None | 0 0
  1. // @author: Jan-David Schulz
  2.  
  3.  
  4. // Dreieck mit den Punkten p1 = (2,3), p2 = (-4,-1), p3 = (3,-3)
  5.  
  6.  
  7.  
  8. PVector p1 = new PVector(2, 3);
  9. PVector p2 = new PVector(-4, -1);
  10. PVector p3 = new PVector(3, -3);
  11. PVector v1To2 = new PVector();
  12. PVector v1To3 = new PVector();
  13. PVector v2To3 = new PVector();
  14. PVector normal1 = new PVector();
  15. PVector normal2 = new PVector();
  16.  
  17. void setup() {
  18. a();
  19. b();
  20. c();
  21. d();
  22. e();
  23. f();
  24. g();
  25. h();
  26. i();
  27. j();
  28. }
  29.  
  30.  
  31. //Aufgabe a)
  32. void a() {
  33. println("a)");
  34. v1To2 = PVector.sub(p2, p1);
  35. v1To3 = PVector.sub(p3, p1);
  36. println("v1To2: "+ v1To2+ " und v1To3: "+ v1To3);
  37. println(" ");
  38. }
  39. void b() {
  40. //Aufgabe b)
  41. println("b)");
  42. println("Die Länge von v1To2 beträgt: "+v1To2.mag());
  43. println("Die Länge von v1To3 beträgt: "+v1To3.mag());
  44. println(" ");
  45. }
  46. void c() {
  47. //Aufgabe c)
  48. println("c)");
  49. v2To3 = PVector.sub(p3, p2);
  50. println("Der Abstand von v1To2 zu v1To3 beträgt: "+v2To3.mag());
  51. println(" ");
  52. }
  53.  
  54. void d() {
  55. //Aufgabe d);
  56. println("d)");
  57. PVector neu = new PVector(-6, -4);
  58. neu.x *=-2;
  59. neu.y *=-2;
  60. println(v1To2+" wird um den Faktor -2 berechnet: "+neu);
  61. PVector neuer = new PVector(-6, -4);
  62. neuer.x *=3;
  63. neuer.y *=3;
  64. println(v1To2+" wird um den Faktor 3 berechnet: "+neuer);
  65. println(" ");
  66. }
  67.  
  68. void e() {
  69. //Aufgabe e);
  70. println("e)");
  71. normal1 = new PVector (-6, -4);
  72. normal2 = new PVector (1, -6);
  73. normal1.normalize();
  74. normal2.normalize();
  75. println(v1To2+" wird normalisiert: "+normal1);
  76. println(v1To3+" wird normalisiert: "+normal2);
  77. println(" ");
  78. }
  79.  
  80. void f() {
  81. //Aufgabe f
  82. println("f)");
  83.  
  84. float skalarProdukt = v1To2.dot(v1To3);
  85.  
  86. float ergebnis= (skalarProdukt/(v1To2.mag()*v1To3.mag()));
  87. println("Der Winkel zwischen den Vektoren beträgt "+degrees(acos(ergebnis))+"°.");
  88. println(" ");
  89. }
  90.  
  91. void g() {
  92. //Aufgabe g
  93. println("g)");
  94. println("Die normale von v1To2 und v1To3 ist der Vektor :"+v1To2.cross(v1To3));
  95. println(" ");
  96. }
  97.  
  98. void h() {
  99. //Aufgabe h
  100. println("h)");
  101. float neux=(p1.x+p2.x+p3.x) / 3;
  102. float neuy=(p1.y+p2.y+p3.y) / 3;
  103. println("Der Schwerpunkt des Dreiecks liegt bei: "+neux +"/" + neuy);
  104.  
  105. println(" ");
  106. }
  107.  
  108. void i() {
  109. //Aufgabe i
  110. println("i)");
  111. //p(s)= p + s * v
  112. PVector skalMin2 = new PVector (normal1.x*(-2), normal1.y*(-2));
  113. PVector skal3 = new PVector (normal1.x*6, normal1.y*6);
  114.  
  115. println("Das Objekt befand sich vor einer Sekunde bei " + p1.add(skalMin2));
  116. p1.sub(skalMin2);
  117. println("Das Objekt wird sich in drei Sekunden bei " + p1.add(skal3)+" befinden.");
  118. println(" ");
  119. }
  120.  
  121. void j() {
  122. //Aufgabe j
  123. println("j)");
  124. println("Sind v1To2 und v1To3 orthogonal zueinander: "+isOrthogonal());
  125. }
  126.  
  127. private boolean isOrthogonal() {
  128. float ergebnis;
  129. ergebnis = v1To2.x * v1To3.x + v1To2.y * v1To3.y;
  130. if (ergebnis == 0) {
  131. return true;
  132. }
  133. return false;
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement