Hallo,
wie das Thema schon sagt, habe ich ein kleines Programm geschrieben um lineare Funktionen zu berechnen. Zunächste gebe ich die Koordinaten der geraden ein und berechne dann das dadurch entstehende Dreieck. Jedoch ist das für mich noch sehr rätselhaft wie ich auf die Winkelwerte komme. Auf meinem Taschenrechner nehme ich die anstiegswerte der Gerade also m1 und m2 bei der standart formel y=mx+n ist "m" ja nunmal der anstieg der Geraden. auf dem Taschenrechner gebe ich nun den anstieg ein, drücke Shift und dann die Tangenstaste.
Also berechnet er damit ja dann tan(hoch -1) = alpha als beispiel.
aber mit jedem versuch den ich unternahm kam ich nie auf meinen Winkel hier ist mal der gesammte code..ist quick and dirty..habs wärend des unterrichtes am abendgymnasium gemacht
ich nahm hier erstmal feste werte um schneller testen zu können...
und der rest der ausgabe wobei ich mich hier frage, wie m1 nicht glatt 0,4 ist..was es ja eigentlich ist! wobei aber alle anderen werte wieder richtig gerundet sind..mhh
-----------------------------------------------------------------------
Geben Sie alle Koordinaten ein:
A: (-5.0 ; 0.4) B: (1.0 ; 2.8)
D: (-6.0 ; -14.0) C: (6.0 ; 4.0)
m1= 0.39999999999999997
m2= 1.5
n1= 2.4
n2= -5.0
x01= -6.0
x02= 3.3333333333333335
g= 9.333333333333334
Gleichungen:
0.39999999999999997x + 2.4 = 1.5x + -5.0
S(x;y/h)= (6.727272727272727 ; 5.09090909090909)
Seiten:
a= 6.1185112553328285 LE
b= 13.707692236342373 LE
c= 9.333333333333334 LE
u= 29.159536825008537 LE
A= 23.757575757575754 FE
-----------------------------------------------------------------------
bei genau diesem beispiel müsste die winkel folgendermaßen sein:
α=21,80° β=123,69° γ=34,51°
wie das Thema schon sagt, habe ich ein kleines Programm geschrieben um lineare Funktionen zu berechnen. Zunächste gebe ich die Koordinaten der geraden ein und berechne dann das dadurch entstehende Dreieck. Jedoch ist das für mich noch sehr rätselhaft wie ich auf die Winkelwerte komme. Auf meinem Taschenrechner nehme ich die anstiegswerte der Gerade also m1 und m2 bei der standart formel y=mx+n ist "m" ja nunmal der anstieg der Geraden. auf dem Taschenrechner gebe ich nun den anstieg ein, drücke Shift und dann die Tangenstaste.
Also berechnet er damit ja dann tan(hoch -1) = alpha als beispiel.
aber mit jedem versuch den ich unternahm kam ich nie auf meinen Winkel hier ist mal der gesammte code..ist quick and dirty..habs wärend des unterrichtes am abendgymnasium gemacht
ich nahm hier erstmal feste werte um schneller testen zu können...
und der rest der ausgabe wobei ich mich hier frage, wie m1 nicht glatt 0,4 ist..was es ja eigentlich ist! wobei aber alle anderen werte wieder richtig gerundet sind..mhh
-----------------------------------------------------------------------
Geben Sie alle Koordinaten ein:
A: (-5.0 ; 0.4) B: (1.0 ; 2.8)
D: (-6.0 ; -14.0) C: (6.0 ; 4.0)
m1= 0.39999999999999997
m2= 1.5
n1= 2.4
n2= -5.0
x01= -6.0
x02= 3.3333333333333335
g= 9.333333333333334
Gleichungen:
0.39999999999999997x + 2.4 = 1.5x + -5.0
S(x;y/h)= (6.727272727272727 ; 5.09090909090909)
Seiten:
a= 6.1185112553328285 LE
b= 13.707692236342373 LE
c= 9.333333333333334 LE
u= 29.159536825008537 LE
A= 23.757575757575754 FE
-----------------------------------------------------------------------
bei genau diesem beispiel müsste die winkel folgendermaßen sein:
α=21,80° β=123,69° γ=34,51°
Java:
package LineareFunktion;
import java.util.Scanner;
public class Main
{
//####################################################
public static void main( String[] args )
{
//double Ax, Bx, Cx, Dx;
//double Ay, By, Cy, Dy;
double Sx, Sy;
double h2;
double m1, m2;
double x01, x02;
double x01g = 0, x02g = 0;
double n1, n2;
double af, u;
double a1, a, b1, b, c;
double aw, bw, cw;
System.out.println( "Geben Sie alle Koordinaten ein:" );
Scanner sc = new Scanner( System.in );
double ax = -5,
ay = 7.3,
bx = 1,
by = 4.9,
cx = -6,
cy = 4,
dx = 5,
dy = -12.5;
/*
* System.out.println( "A-x:" );
double ax = sc.nextDouble();
System.out.println( "A-y:" );
double ay = sc.nextDouble();
System.out.println( "B-x:" );
double bx = sc.nextDouble();
System.out.println( "B-y:" );
double by = sc.nextDouble();
System.out.println( "C-x:" );
double cx = sc.nextDouble();
System.out.println( "C-y:" );
double cy = sc.nextDouble();
System.out.println( "D-x:" );
double dx = sc.nextDouble();
System.out.println( "D-y:" );
double dy = sc.nextDouble();
*/
System.out.println( "A: (" + ax + " ; " + ay + ") B: (" + bx + " ; " + by + ")" );
System.out.println( "D: (" + cx + " ; " + cy + ") C: (" + dx + " ; " + dy + ")" );
//"C ""x:" "y:" "D ""x:" "y:";
sc.close();
//BERECHNUNGEN########################################
//m1/m2
m1 = ( by - ay ) / ( bx - ax );
m2 = ( dy - cy ) / ( dx - cx );
System.out.println( "m1= " + m1 + "\n" + "m2= " + m2 );
//n1/n2
n1 = ( m1 * ax * -1 ) + ay;
n2 = ( m2 * cx * -1 ) + cy;
System.out.println( "n1= " + n1 + "\n" + "n2= " + n2 );
//x0
x01 = ( n1 * -1 ) / m1;
x02 = ( n2 * -1 ) / m2;
System.out.println( "x01= " + x01 + "\n" + "x02= " + x02 );
//g
if ( x01 < 0 )
{
x01g = x01 * -1;
}
else
x01g = x01;
if ( x02 < 0 )
{
x02g = x02 * -1;
}
else
x02g = x02;
c = x01g + x02g;
System.out.println( "g= " + c );
//S
System.out.println( "Gleichungen:\n" + m1 + "x + " + n1 + " = " + m2 + "x + " + n2 );
double m3 = ( m2 * -1 ) + m1;
double n3 = ( n1 * -1 ) + n2;
Sx = n3 / m3;
Sy = m1 * Sx + n1;
System.out.println( "S(x;y/h)= (" + Sx + " ; " + Sy + ")" );
//seiten
h2 = Sy * Sy;
double qx1 = 0;
double qx01 = 0;
qx1 = x01 - Sx;
qx01 = qx1 * qx1;
b1 = qx01 + h2;
b = Math.sqrt( b1 );
double qx2 = 0;
double qx02 = 0;
qx2 = x02 - Sx;
qx02 = qx2 * qx2;
a1 = qx02 + h2;
a = Math.sqrt( a1 );
System.out.println( "Seiten:\na= " + a + " LE\nb= " + b + " LE\nc= " + c + " LE" );
//U + A
u = a + b + c;
af = 0.5 * c * Sy;
System.out.println( "u= " + u + " LE\nA= " + af + " FE" );
//winkel //math.tan(VAR)
//double cosa, cosb, cosc, va, vb, vc;
//cosa = Math.cos( m1 );
//va = 180 / ( cosa * Math.PI );
//cosa = ( ( b * b ) + ( c * c ) - ( a * a ) ) / ( 2 * b * c );
//va = ( Math.cos( cosa ) );
//cosb = ( ( a * a ) + ( c * c ) - ( b * b ) ) / ( 2 * a * c );
//cosc = ( ( a * a ) + ( b * b ) - ( c * c ) ) / ( 2 * a * b );
//aw = Math.cos( cosa );
System.out.println();
System.out.println();
//if (steigung anders)
//bw = Math.tan( m2 );
//if (steigung anders)
//System.out.println( "\n" + va /*+ "\n" + vb + "\n" + vc */ );
}
}