Dreieck Berechnung Java?
Hallo
wie kann man Seitenlängen in Java zusammen berechnen.
z.b: Dreieck mit den Seitenlängen A/B/C
Seitenlänge A = (5, 5, 5)
Seitenlänge B = (3, 4, 6)
Seitenlänge C = (5, 8, 3)
ich möchte nun wissen wie man die Seiten A B und BC und AC in Java rechnen kann.
danke für eure Hilfe
4 Antworten
Die trigonometrischen Funktionen stehen in der Math-Klasse der Java Bibliothek bereit. Darüber kannst Du bspw. Math.sin() oder Math.cos() aufrufen.
Wie Du die Seitenlängen berechnest, werde ich an dieser Stelle aber nicht erklären. Das wird jeder im Schulunterricht gelernt haben.
danke für die Antwort. Ich weiß wie man die Seitenlängen berechnet
(B-A / B-C /A-C )
ich muss prüfen ob das Dreieck gleichschenklig / gleichseitig / rechtwinklig ist.
dafür brauch ich die Vektorrechnung.
meine Frage ist, wie ich es in Java ausführen kann.
z.b
int [ ] a = (5, 5, 5) ;
int [ ] b = (3, 4, 6) ;
int [ ] c = (5, 8, 3) ;
aber wie kann ich jetzt nun die Rechnung ausführen in Java ? um die Seitenlänge zu bestimmen z.b ist die Seitenlänge
AB = (5-3/5-4/5-6= wurzel 2²+1²+1²) =4
wie kann man in Java die Zahlen (5,5,5) - (3,4,6) minus rechnen
was muss ich davor und danach setzten damit er es mir berechnet.
danke vielmals
Du musst dir eine geeignete Datenstruktur überlegen, um einen Vektor in Java modellieren zu können. Wesentliche Eigenschaft ist, dass ein Vektor drei Komponenten besitzt. Daher kannst du folgende Klasse erstellen:
public class Vector {
private double x, y, z;
public Vector(double x, double y, double z) {
this.x = x;
this.y = y;
this.z = z;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public double getZ() {
return z;
}
}
Nun benötigst du noch eine Methode zum Addieren zweier Vektoren, wobei dazu die Komponenten addiert werden müssen:
public Vector add(Vector b) {
return new Vector(
x + b.getX(),
y + b.getY(),
z + b.getZ()
);
}
Außerdem ist eine Methode zur Berechnung der Länge eines Vektors erforderlich:
public double length() {
return Math.sqrt(
Math.pow(x, 2) +
Math.pow(y, 2) +
Math.pow(z, 2)
);
}
Dadurch kannst du nun die Längen der Seitenkanten bestimmen:
public static double getSideLength(Vector a, Vector b) {
return a.add(b).length();
}
Somit ergibt sich folgendes vollständige Codebeispiel:
public class Vector {
private double x, y, z;
public Vector(double x, double y, double z) {
this.x = x;
this.y = y;
this.z = z;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public double getZ() {
return z;
}
public Vector add(Vector b) {
return new Vector(
x + b.getX(),
y + b.getY(),
z + b.getZ()
);
}
public double length() {
return Math.sqrt(
Math.pow(x, 2) +
Math.pow(y, 2) +
Math.pow(z, 2)
);
}
public static double getSideLength(Vector a, Vector b) {
return a.add(b).length();
}
}
class Main {
public static void main(String[] args) {
Vector a = new Vector(5, 5, 5);
Vector b = new Vector(3, 4, 6);
Vector c = new Vector(5, 8, 3);
System.out.println("|AB| = " + Vector.getSideLength(a, b));
System.out.println("|BC| = " + Vector.getSideLength(b, c));
System.out.println("|AC| = " + Vector.getSideLength(a, c));
}
}
Wenn du nach einer bereits existierenden Lösung suchst, kannst du dir auch mal Vector3d anschauen.
Stelle zuerst die mathematische Formel auf, die du benötigst, um die Seitenlängen AB, AC und BC zu berechnen. Danach kannst du dir überlegen, wie du die einzelnen Daten der gegebenen Koordinaten darstellst. Vielleicht via Objekt Koordinate, welches über die Attribute x, y und z verfügt oder über ein Array.
Der Rest ist nur noch Tipparbeit. Objekte / Arrays erstellen und auf die jeweiligen Attribute / den jeweiligen Index zugreifen und diese in die Formel setzen.
Genau, wie man es auf dem Papier tut.
Hinweis: Math.sqrt()