berechnen der Fläche des Dreiecks gegeben 3 benutzerdefinierte Punkte -Anfänger
Ich kann meinen code zu kompilieren, aber es produziert nicht der Bereich, der gewünscht wird. Ich bin mir nicht sicher, wo ich gestolpert.
Sie wollen, dass Sie dem Benutzer die Eingabe von 6-Koordinaten (x-und y-Wert) für die 3 Punkte eines Dreiecks und Holen Sie sich die Gegend. Mein code ist wie folgt:
import java.util.Scanner;
public class AreaTriangle {
//find the area of a triangle
public static void main (String [] args) {
double side1 = 0;
double side2 = 0;
double side3 = 0;
Scanner input = new Scanner(System.in);
//obtain three points for a triangle
System.out.print("Enter three points for a triangle (x and y intercept): ");
double side1x = input.nextDouble();
double side1y = input.nextDouble();
double side2x = input.nextDouble();
double side2y = input.nextDouble();
double side3x = input.nextDouble();
double side3y = input.nextDouble();
//find length of sides of triangle
side1 = Math.pow(Math.pow((side2x - side1x), 2) + Math.pow((side2y - side1y), 2) * .05, side1);
side2 = Math.pow(Math.pow((side3x - side2x), 2) + Math.pow((side3y - side2y), 2) * .05, side2);
side3 = Math.pow(Math.pow((side1x - side3x), 2) + Math.pow((side1y - side3y), 2) * .05, side3);
double s = (side1 + side2 + side3) / 2;
double area = Math.sqrt(s * (s - side1) * (s - side2) * (s-side3)) * 0.5;
System.out.println("area" + area);
}
}
Wo hast du diese Formel zu finden, die Länge der Seiten?
An der falschen Stelle. Ich legte ein paar codes zusammen und versuchte zu erraten.
An der falschen Stelle. Ich legte ein paar codes zusammen und versuchte zu erraten.
InformationsquelleAutor Lish | 2013-01-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie versuchen, die Implementierung dieser Gleichung. http://www.mathopenref.com/coordtrianglearea.html
InformationsquelleAutor Michael
@Michael ' s Vorschlag ist gut. Nach deinem code, ich würde verwenden den Satz des Pythagoras so:
In Ihrem code:
side1
ist0
vor der Berechnung, und fast alles was der macht0
1 ist. Daherside1
endet als 1, unabhängig der Punkte.InformationsquelleAutor madth3
Einen anderen Weg, den ich entdeckt habe ist, dass man das Kreuzprodukt zu finden der Fläche eines Dreiecks. Dies kann leicht für Sie einfacher, da Sie bereits über die Punkte. Sie können schalten Sie die drei Punkte in zwei Vektoren und das Kreuz-Produkt.
edit:
Hoppla, vergaß hinzuzufügen, in die Fläche des Dreiecks wäre die Hälfte der Kreuz-Produkt, da das Kreuzprodukt geben würde, Sie die Fläche von einem Parallelogramm gebildet durch die beiden Vektoren (und ein Dreieck ist die Hälfte).
InformationsquelleAutor mitim