diff --git a/VectorDemo/.classpath b/VectorDemo/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..a1b9f764a6fbdc7a44d922512e628a040f066974 --- /dev/null +++ b/VectorDemo/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/VectorDemo/.gitignore b/VectorDemo/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53 --- /dev/null +++ b/VectorDemo/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/VectorDemo/.project b/VectorDemo/.project new file mode 100644 index 0000000000000000000000000000000000000000..be10c223da8f6833c290c8c8b8e495de7af6f19f --- /dev/null +++ b/VectorDemo/.project @@ -0,0 +1,17 @@ + + + VectorDemo + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/VectorDemo/.settings/org.eclipse.core.resources.prefs b/VectorDemo/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c --- /dev/null +++ b/VectorDemo/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/VectorDemo/.settings/org.eclipse.jdt.core.prefs b/VectorDemo/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000000000000000000000000000000000..9a7984bb6c3f1e10e23bb2027abcfa84ae076ca5 --- /dev/null +++ b/VectorDemo/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=21 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 diff --git a/VectorDemo/src/vectorDemo/Main.java b/VectorDemo/src/vectorDemo/Main.java new file mode 100644 index 0000000000000000000000000000000000000000..c7ca59ed8525fcc50c0ae9eb50d930c61c469139 --- /dev/null +++ b/VectorDemo/src/vectorDemo/Main.java @@ -0,0 +1,22 @@ +package vectorDemo; + +public class Main { + public static void main(String[] args) { + Vector2D v1 = new Vector2D(3, 4); + Vector2D v2 = new Vector2D(1, 2); + + System.out.println("v1: " + v1); + System.out.println("v2: " + v2); + + System.out.println("Länge von v1: " + v1.magnitude()); + System.out.println("v1 normalisiert: " + v1.normalize()); + + Vector2D v3 = v1.add(v2); + System.out.println("v1 + v2: " + v3); + + Vector2D v4 = v1.subtract(v2); + System.out.println("v1 - v2: " + v4); + + System.out.println("Skalarprodukt von v1 und v2: " + v1.dot(v2)); + } +} diff --git a/VectorDemo/src/vectorDemo/Vector2D.java b/VectorDemo/src/vectorDemo/Vector2D.java new file mode 100644 index 0000000000000000000000000000000000000000..9cb00e9865d63def9297a1f1b031cf08c8f11cf0 --- /dev/null +++ b/VectorDemo/src/vectorDemo/Vector2D.java @@ -0,0 +1,71 @@ +package vectorDemo; + +// Dummy Vektor.Klasse zur Übungzwecken elementarer Grammatik und merge_request + +public class Vector2D { + private double x; + private double y; + + // Konstruktor + public Vector2D(double x, double y) { + this.x = x; + this.y = y; + } + + // Getter und Setter + public double getX() { + return x; + } + + public void setX(double x) { + this.x = x; + } + + public double getY() { + return y; + } + + public void setY(double y) { + this.y = y; + } + + // Länge des Vektors (Norm) + public double magnitude() { + return Math.sqrt(x * x + y * y); + } + + // Normalisierung des Vektors + public Vector2D normalize() { + double mag = magnitude(); + if (mag == 0) { + throw new ArithmeticException("Cannot normalize a zero vector"); + } + return new Vector2D(x / mag, y / mag); + } + + // Vektoraddition + public Vector2D add(Vector2D other) { + return new Vector2D(this.x + other.x, this.y + other.y); + } + + // Vektorsubtraktion + public Vector2D subtract(Vector2D other) { + return new Vector2D(this.x - other.x, this.y - other.y); + } + + // Skalar-Multiplikation + public Vector2D multiply(double scalar) { + return new Vector2D(this.x * scalar, this.y * scalar); + } + + // Skalarprodukt (Dot-Produkt) + public double dot(Vector2D other) { + return this.x * other.x + this.y * other.y; + } + + // String-Repräsentation + @Override + public String toString() { + return "Vector2D(" + x + ", " + y + ")"; + } +}