Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // @author: Jan-David Schulz
- // Dreieck mit den Punkten p1 = (2,3), p2 = (-4,-1), p3 = (3,-3)
- PVector p1 = new PVector(2, 3);
- PVector p2 = new PVector(-4, -1);
- PVector p3 = new PVector(3, -3);
- PVector v1To2 = new PVector();
- PVector v1To3 = new PVector();
- PVector v2To3 = new PVector();
- PVector normal1 = new PVector();
- PVector normal2 = new PVector();
- void setup() {
- a();
- b();
- c();
- d();
- e();
- f();
- g();
- h();
- i();
- j();
- }
- //Aufgabe a)
- void a() {
- println("a)");
- v1To2 = PVector.sub(p2, p1);
- v1To3 = PVector.sub(p3, p1);
- println("v1To2: "+ v1To2+ " und v1To3: "+ v1To3);
- println(" ");
- }
- void b() {
- //Aufgabe b)
- println("b)");
- println("Die Länge von v1To2 beträgt: "+v1To2.mag());
- println("Die Länge von v1To3 beträgt: "+v1To3.mag());
- println(" ");
- }
- void c() {
- //Aufgabe c)
- println("c)");
- v2To3 = PVector.sub(p3, p2);
- println("Der Abstand von v1To2 zu v1To3 beträgt: "+v2To3.mag());
- println(" ");
- }
- void d() {
- //Aufgabe d);
- println("d)");
- PVector neu = new PVector(-6, -4);
- neu.x *=-2;
- neu.y *=-2;
- println(v1To2+" wird um den Faktor -2 berechnet: "+neu);
- PVector neuer = new PVector(-6, -4);
- neuer.x *=3;
- neuer.y *=3;
- println(v1To2+" wird um den Faktor 3 berechnet: "+neuer);
- println(" ");
- }
- void e() {
- //Aufgabe e);
- println("e)");
- normal1 = new PVector (-6, -4);
- normal2 = new PVector (1, -6);
- normal1.normalize();
- normal2.normalize();
- println(v1To2+" wird normalisiert: "+normal1);
- println(v1To3+" wird normalisiert: "+normal2);
- println(" ");
- }
- void f() {
- //Aufgabe f
- println("f)");
- float skalarProdukt = v1To2.dot(v1To3);
- float ergebnis= (skalarProdukt/(v1To2.mag()*v1To3.mag()));
- println("Der Winkel zwischen den Vektoren beträgt "+degrees(acos(ergebnis))+"°.");
- println(" ");
- }
- void g() {
- //Aufgabe g
- println("g)");
- println("Die normale von v1To2 und v1To3 ist der Vektor :"+v1To2.cross(v1To3));
- println(" ");
- }
- void h() {
- //Aufgabe h
- println("h)");
- float neux=(p1.x+p2.x+p3.x) / 3;
- float neuy=(p1.y+p2.y+p3.y) / 3;
- println("Der Schwerpunkt des Dreiecks liegt bei: "+neux +"/" + neuy);
- println(" ");
- }
- void i() {
- //Aufgabe i
- println("i)");
- //p(s)= p + s * v
- PVector skalMin2 = new PVector (normal1.x*(-2), normal1.y*(-2));
- PVector skal3 = new PVector (normal1.x*6, normal1.y*6);
- println("Das Objekt befand sich vor einer Sekunde bei " + p1.add(skalMin2));
- p1.sub(skalMin2);
- println("Das Objekt wird sich in drei Sekunden bei " + p1.add(skal3)+" befinden.");
- println(" ");
- }
- void j() {
- //Aufgabe j
- println("j)");
- println("Sind v1To2 und v1To3 orthogonal zueinander: "+isOrthogonal());
- }
- private boolean isOrthogonal() {
- float ergebnis;
- ergebnis = v1To2.x * v1To3.x + v1To2.y * v1To3.y;
- if (ergebnis == 0) {
- return true;
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment