Autor |
Beitrag |
Surface
Hält's aus hier
Beiträge: 2
|
Verfasst: Mo 19.11.07 13:53
Hallo,
ich hab ein ziemlich großes Problem. Für den Informatikunterricht soll ich in Verbindung mit einem genetischen Algorithmus den Flächeninhalt von 4ecken berechnen. Die Punkte werden dabei zufällig generiert und der Reihe nach verbunden. Die Flächenberechnung für normale 4ecke hab ich auch schon gelöst, siehe code:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| function tform1.Fdreieck (xa,ya,xb,yb,xc,yc:real) : real; var la:real; lb:real; lc:real; gamma:extended; F:real; begin la := sqrt( sqr(xb-xc) + sqr(yb-yc) ); lb := sqrt( sqr(xa-xc) + sqr(ya-yc) ); lc := sqrt( sqr(xa-xb) + sqr(ya-yb) ); gamma:=RadToDeg(ArcCos((sqr(lc)-sqr(la)-sqr(lb))/(-2*la*lb))); F:=1/2*la*lb*sin(DegToRad(gamma)); result:= F; end;
function Flaeche (xa,ya,xb,yb,xc,yc,xd,yd):real; begin Fa:=Fdreieck (xa,ya,xb,yb,xc,yc); Fb:=Fdreieck (xa,ya,xc,yc,xd,yd); result:=Fa+Fb; end; |
Das Problem besteht nun darin, dass es sein kann das 4ecke entstehen, die, naja wie soll ich es beschreiben, eher 2 3ecke sind die im Schnittpunkt der Strecken AB und CD verbunden sind. Wo also die Punkte A (erster generierte Punkte) und B (zweite generierte Punkte) gegenüberliegen. Jetzt die Frage an euch, wie frage ich am besten ab, ob so ein 4eck vorliegt und wie berechne ich dessen Fläche?
Vielen Danke
Alexander
Moderiert von Narses: Delphi-Tags hinzugefügt
|
|
Wonko
      
Beiträge: 69
|
Verfasst: Mo 19.11.07 16:19
Hallo Alexander,
ob ein von Dir beschriebenes (wikipedia --> überschlagenes?) Viereck vorliegt, kannst Du testen, wie Du es selbst beschrieben hast: schneiden sich die Strecken AD und BC bzw. AB und CD. Am besten geht das möglicherweise über die klassische Schnittpunktberechnung zweier Geraden.
Die Flächenberechnung ist dann über die Flächen der beiden Dreiecke möglich, den Schnittpunkt erhältst Du ja aus dem ersten Teil.
Viel Erfolg dabei.
_________________ "Read the directions, even if you don't follow them.", Mary Schmich
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 19.11.07 16:32
Mit der "Flächenberechnung nach Gauss - Elling" solltest du eigentlich die Fläche jedes beliebigen Vielecks berechnen können.
|
|
Surface 
Hält's aus hier
Beiträge: 2
|
Verfasst: Mo 19.11.07 19:34
Danke erstmal für eure Antwort.
Zu Wonko kann ich nur sagen, dass sich die gegenüberliegenden Kanten (z.b. AD, BC) in der Ebene immer schneiden, wenn sie nicht parallel sind (was bei meinem Problem ein zufall wäre)
Und mit den Wikipediahilfen komm ich nicht weiter, weil ich zu den Stichpunkten nichts finde. Meiner Meinung nach sind diese 4ecke die dabei zustande kommen können gar keine 4ecke, sondern einfach nur 2 Dreiecke die sich in EINEM Punkt berühren. Meiner Meinung nach müssen 4ecke immer aus zwei 3ecken bestehen die eine gleiche KANTE haben und die Punkte müssen im Uhrzeigersinn sein. Das beides nicht der Fall hier, aber ich habs nicht in der Hand ..
|
|
Wonko
      
Beiträge: 69
|
Verfasst: Di 20.11.07 09:40
Hallo,
vielleicht solltest Du klar die Begriffe [Kanten und Strecken] und [Geraden] trennen. Die einen sind endlich, die anderen nicht. Folglich schneiden sich nicht parallele Objekte der einen Art nicht immer, der anderen Art aber wohl (in der Ebene). Nur zur Berechnung des Schnittpunktes muss man auf das Konzept der Gerade zurückgreifen.
Weshalb ich zwei Kantenpaare zu betrachten vorschlug wird vielleicht mit dem angehangenen jpg deutlich.
Ob das wirklich Vierecke sind, solltest Du in einem autorisierten Nachschlagewerk finden. Im Bronstein steht: Zitat: | Im allgemeinen Viereck gibt es keine parallelen Seiten, d.h. alle vier Seiten sind verschieden lang. Verlaufen die Diagonalen vollständig im Innern des Vierecks, dann ist es ein konvexes Viereck , anderenfalls ein konkaves . Das allgemeine Viereck kann durch jeweils eine Diagonale in zwei Dreiecke zerlegt werden. |
Ich denke, überschlagene Vierecke werden da mit erfasst.
Einloggen, um Attachments anzusehen!
_________________ "Read the directions, even if you don't follow them.", Mary Schmich
|
|
jackle32
      
Beiträge: 183
Erhaltene Danke: 7
Win7
Delphi XE5 Starter, RAD Studio XE7 Pro
|
Verfasst: Di 20.11.07 12:03
Hi,
schau doch mal unter folgenden Link, dort steht "Der Satz von Varignon". Denke, da bei dieser Methode immer Vierecke entstehen, die nicht verschränkt sind kannst du sogar den Algorithmus benutzen, den du schon hast, musst einfach nur den Faktor 2 berücksichtigen.
matheplanet.com/defa...%2Bviereck%26meta%3D
Link öffnet sich leider als pdf, fand keinen besseren
Oder einfach mal mit "fläche überschlagenes viereck" bei google suchen und da war es dann bei mir der fünfte Link.
Gruß Jack
_________________ Es gibt keine dummen Fragen, nur dumme Antworten.
|
|
|