nowayout Geschrieben 11. Mai 2009 Teilen Geschrieben 11. Mai 2009 Guten Tag, ich grübel, wie man im zweidimensionalen zwei bestimmte Punkte verbindet. Diese Punkte liegen auf dem Rand verschiedener geometrischer Figuten(Kreis, Rechteck, Raute), die über ihre Größenangaben(width, height) begrenzt werden. Diese Figuren sind eigentlich über ihre Mittelpunkte mit einer Linie miteinander verbunden, jedoch soll nur der Teil der Verbindung grafisch angezeigt werden, der außerhalb der Ränder der beiden Figuren liegt. Ich müsste also das Wertepaar (x,y) berechnen, das den Schnittpunkt der Geraden von Mittelpunkt zu Mittelpunkt und dem Rand der geometrischen Figur darstellt. Hat jemand eine Idee? viele Grüße franz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 11. Mai 2009 Teilen Geschrieben 11. Mai 2009 Du kannst das ganze über einfache Vektoroperationen lösen: Dein Mittelpunkt einer Figur ist der Ortsvektor, die Verbindungslinie vom Mittelpunkt zu einem anderen Mittelpunkt einer anderen Figur ist der Richtungsvektor. Eine Ecke ist ebenfalls ein Ortsvektor und eine Seite ein Richtungsvektor. Du hast damit 2 Geradengleichungen der Form: g1: a + u*b und g2: c+ v*d. Das LGS was sich daraus ergibt lässt sich widerspruchsfrei lösen, wenn ein Schnittpunkt existiert. Bei komplexeren Figuren ist es ähnlich. Algorithmen auch für 3D sind in der Literatur über Computergraphik zu finden Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nowayout Geschrieben 12. Mai 2009 Autor Teilen Geschrieben 12. Mai 2009 Sehr gut, danke! Wie macht man das denn beim Kreis? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 12. Mai 2009 Teilen Geschrieben 12. Mai 2009 Als Literatur empfehle ich: Fundamentals of Computer Graphics: Peter Shirley: Amazon.de: Englische Bücher Du hast einen (Orts)Vektor P der außerhalb des Kreises liegt, den Mittelpunkt des Kreises M und den (Vektor)Strahl S der von Punkt P aus in eine beliebige Richtung läuft. Die Strecke P M, der Radius des Kreises und der Vektor S bilden ein Dreieck, wobei der Schnittpunkt genau an dem Punkt liegt, wo sich S und Radius treffen. Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nowayout Geschrieben 13. Mai 2009 Autor Teilen Geschrieben 13. Mai 2009 Hallo Phil, ich hätte noch eine Frage zu den Richtungs/Ortsvektoren bei den Rechtecken: wie bestimmt man mathematisch die passende Ecke(Ortsvektor) und den dazugehörigen Richtungsvektor? Man muss ja relativ zu dem zu verbindenden Objekt die richtige Ecke wählen, von wo es dann ja auch noch 2 mögliche Richtungsvektoren gibt. Das Buch scheint echt gut zu sein, vielleicht kann ich mir das demnächst irgendwo ausleihen. Stehen da zufällig auch die Algorithmen für mein Problem drin oder weißt du, wo man sowas herbekommen könnte? Versuche zwar das gerade zu programmieren, aber ich bin nicht so fit in der ganzen Grafikprogrammierung und von daher dauert alles auch echt ewig - mal ganz davon abgesehen ob es jemals so laufen wird, wie ich es mir vorstelle. grüße franz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 13. Mai 2009 Teilen Geschrieben 13. Mai 2009 wie bestimmt man mathematisch die passende Ecke(Ortsvektor) und den dazugehörigen Richtungsvektor? Man muss ja relativ zu dem zu verbindenden Objekt die richtige Ecke wählen, von wo es dann ja auch noch 2 mögliche Richtungsvektoren gibt. DU kannst sie durchprobieren. Bei wenigen Objekten ist das durchaus so realisierbar. Dir ist ja jeder Mittelpunkt des Objektes bekannt und der Mittelpunkt, das zu dem zu berechnen willst. Ansonsten würde ich Dir empfehlen zu komplexeren Datenstrukturen um zu steigen wie z.B. BV, Octree oder Kd-Tree um Schnitte mit Objekten zu berechnen. Das Buch scheint echt gut zu sein, vielleicht kann ich mir das demnächst irgendwo ausleihen. Stehen da zufällig auch die Algorithmen für mein Problem drin oder weißt du, wo man sowas herbekommen könnte? Nein, das Buch ist ein Grundlagenbuch über Algorithmen der Computergraphik. Algorithmen findest Du in diesem Buch inkl Erklärung Numerical Recipes with Source Code CD-ROM: The Art of Scientific Computing: William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery: Amazon.de: Englische Bücher das aber auch online verfügbar ist Der Ansatz über ein LGS lässt sich noch anschaulich im R^2 beschreiben und ist eben ein naiver Ansatz. Bei komplexeren Strukturen bzw mehr Daten musst Du entsprechenden Algorithmen verwenden Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.