Dreieck-Konstruktion

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dreieck-Konstruktion

    Hallo,
    ich habe folgendes Script:
    PHP Code:
                $a $_GET['a'];
                
    $b $_GET['b'];
                
    $c $_GET['c'];
                
    header("Content-type: image/png"); // Grafik-Header (image/png) an den Browser senden
                
    $breite 250// Breite der Grafik
                
    $hoehe 150// Höhe der Grafik
                
    $bild imageCreateTruecolor($breite$hoehe); // Grafik erstellen
                
    $hintergrundfarbe imageColorAllocate($bild109191210); // Farbe für den Hintergrund erstellen
                
    imageFill($bild00$hintergrundfarbe); // Grafik mit der Hintergrundfarbe füllen
                
    $farbe imageColorAllocate($bild1272550); // Farbe für das Dreieck erstellen
                
    $pos $b/2;
                
    $postion = array(5,5,   $b+5,5,   $pos,$c); // Koordinaten des Dreiecks auf der Grafik
                
    imageFilledPolygon($bild$postion3$farbe); // Dreieck einzeichnen
                
    imagePng($bild); // Grafik an den Browser senden
                
    imageDestroy($bild); // Grafik aus dem Server-Speicher entfernen 
    Nun zum Problem, die oberen beiden Punkte sind ja fest gegeben und auch richtig,
    allerdings benötige ich eine Formel um den letzten Punkt anhand der Steckenlängen zu errechnen.
    Gibt es so eine Formel, bzw. kennt die auch einer?
    mfg
    Last edited by Hexcode; 06-12-2009, 18:02.

  • #2
    Die beiden bekannten Punkte und die Streckenlängen zum gesuchten Punkt beschreiben zwei Kreise. Wenn die Summe der beiden Streckenlängen kleiner ist als der Abstand der zwei Punkte, haben die beiden Kreise immer zwei Schnittpunkte. Beide Schnittpunkte sind Lösungen, d.h. beide Schnittpunkte spannen mit den bekannten Punkten ein Dreieck auf (gespiegelt an der Verbindung der beiden bekannten Punkte).

    Du weißt hoffentlich wie man Kreisschnittpunkte berechnet. Ich gehe darauf erstmal nicht weiter ein, weil ich in deinem Script ganz andere Probleme sehe. Was machst du z.B. mit $a?

    Comment


    • #3
      Handelt es sich um ein gleichschenkliges Dreieck?



      Peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Comment


      • #4
        Die Strecken längen werden per Pytagoras errechnet, d.h. 2 Werte gegeben letzter wird errechnet.
        Somit können die Schenkel auf unterschiedlich lang sein.
        Mit $a mach ich derzeit noch gar nichts Warum auch?
        Das brauch ich ja erst später bzw. jetzt zum berechnen.
        Last edited by Hexcode; 06-12-2009, 18:02.

        Comment


        • #5
          Hallo,

          irgendwie habe ich das Gefühl, dass du dein Vorhaben nicht ausreichend geschildert hast. Dem Code nach erzeugst du immer gleichschenkliche Dreiecke. Als Peter dich darauf ansprach, kamst du mit dem Satz des Pythagoras, der aber nur für rechtwinklige Dreiecke gilt. Grundsätzlich für Dreiecke ist, dass du immer mindestens 3 Angaben brauchst, um sie jeweils eindeutig zu beschreiben:
          • 3 Seitenlängen
          • Seitenlänge, Winkel, Seitenlänge
          • Winkel, Seitenlänge, Winkel


          Ausnahmen von dieser Regel sind Sonderfälle, weil die durch Contraints fehlende Angaben ergänzen, z. B. gleichseitiges Dreieck: eine Seitenlänge legt 3 Seitenlängen fest.

          Gruß,

          Amica
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Comment


          • #6
            Originally posted by AmicaNoctis View Post
            • 3 Seitenlängen
            • Seitenlänge, Winkel, Seitenlänge
            • Winkel, Seitenlänge, Winkel


            Ausnahmen von dieser Regel sind Sonderfälle, weil die durch Contraints fehlende Angaben ergänzen, z. B. gleichseitiges Dreieck: eine Seitenlänge legt 3 Seitenlängen fest.
            Danke. Ich wollt schon was ähnliches schreiben. Da ich aber immer eine Matheniete war, hatte ich zu viel Angst, mich zu vertun – und als ich endlich fertig war mit dem Durchackern diverser Wikipedia-Artikel, seid ihr hier schon fast fertig ;-)
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Comment


            • #7
              Pytagoras = rechtwinklig... das fällt mir grad erst auf, das kann man ja recht einfach zeichnen...

              Comment


              • #8
                OffTopic:
                Originally posted by Hexcode View Post
                Pytagoras = rechtwinklig
                Erst nimmst du ihm sein h weg und dann definierst du ihn als rechtwinklig? Der Mann hat bei dir aber nicht viel zu lachen

                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Comment


                • #9
                  Macht nix, kann sich ja nicht mehr wehren....
                  Wir werden alle sterben

                  Comment


                  • #10
                    [FONT=Arial],Im rechtwinkligen Dreieck ist die Summe der Kathetenquadrate gleich dem Hypotenusenquadrat."= Pytagoras, heißt das Dreieck ist rechtwinklig?

                    http://de.wikipedia.org/wiki/Satz_des_Pythagoras

                    Bei Punkt C ist er Rechtwinklig
                    [/FONT]

                    Comment


                    • #11
                      Willst du nicht vielleicht nochmal von vorne erklären? Wo ist welcher Punkt in der Grafik? Welche Werte sind fest, welche sind vom Benutzer veränderbar, welche werden berechnet?
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Comment


                      • #12
                        Die Strecken sind gegeben und der oberste Punkt, ich zeig nachher mal das Script wenn ich fertig bin.

                        Comment


                        • #13
                          Gemessen an der Präzision der Frage ist deine Antwort absolut enttäuschend.
                          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                          Super, danke!
                          [/COLOR]

                          Comment


                          • #14
                            Originally posted by Hexcode View Post
                            Die Strecken sind gegeben und der oberste Punkt, ich zeig nachher mal das Script wenn ich fertig bin.
                            Zeig uns doch bitte erst mal das Dreieck. Also so, wie es aussehen sollte.

                            Peter
                            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                            Meine Seite

                            Comment


                            • #15
                              PHP Code:
                                          $a $_GET['a'];
                                          
                              $b $_GET['b'];
                                          
                              $strecke_a $a;
                                          
                              $strecke_b $b;
                                          
                              $strecke_c $_GET['c'];
                                          while(
                              $a 1000 OR $b 1000)
                                          {
                                              
                              $a$a/2;
                                              
                              $b$b/2;
                                          }
                                          while(
                              $a 100 OR $b 100)
                                          {
                                              
                              $a$a*2;
                                              
                              $b$b*2;
                                          }
                                          
                              header("Content-type: image/png"); // Grafik-Header (image/png) an den Browser senden
                                          
                              $breite $b+20// Breite der Grafik
                                          
                              $hoehe $a+20// Höhe der Grafik
                                          
                              $bild imageCreateTruecolor($breite$hoehe); // Grafik erstellen
                                          
                              $hintergrundfarbe imageColorAllocate($bild109191210); // Farbe für den Hintergrund erstellen
                                          
                              imageFill($bild00$hintergrundfarbe); // Grafik mit der Hintergrundfarbe füllen
                                          
                              $farbe imageColorAllocate($bild1272550); // Farbe für das Dreieck erstellen
                                          
                              $postion = array(10,10,   10,$a+10,   $b+10,$a+10); // Koordinaten des Dreiecks auf der Grafik
                                          
                              imageFilledPolygon($bild$postion3$farbe); // Dreieck einzeichnen
                                          
                              $textfarbe imageColorAllocate($bild,0,0,0); // Textfarbe für Beschriftungen
                                          
                              imagestring($bild,5,$b+10,$a+5,"A",$textfarbe); // Beschriftung für Ecke A einfügen.
                                          
                              imagestring($bild,5,2,-2,"B",$textfarbe); // Beschriftung für Ecke B einfügen.
                                          
                              imagestring($bild,5,2,$a+5,"C",$textfarbe); // Beschriftung für Ecke C einfügen.
                                          
                              imagestring($bild,2,12,$a/2+5,"a=".$strecke_a."cm",$textfarbe); // Beschriftung für Strecke a einfügen.
                                          
                              imagestring($bild,2,$b/2,$a-3,"b=".$strecke_b."cm",$textfarbe); // Beschriftung für Strecke b einfügen.
                                          
                              imagestring($bild,2,$b/2+15,$a/2+5,"c=".$strecke_c."cm",$textfarbe); // Beschriftung für Strecke c einfügen.
                                          
                              imagePng($bild); // Grafik an den Browser senden
                                          
                              imageDestroy($bild); // Grafik aus dem Server-Speicher entfernen 
                              Das ist jetzt der fertige Code funktioniert ganz gut.

                              Comment

                              Working...
                              X