![]() |
[Mathematik] Suche Vektoren für Körper
Hallo zusammen.
Ich muss etwas mit räumlichen Körpern programmieren. Das eigentliche Problem ist soweit gelöst, aber ich bin dabei über ein mathematisches Problem gestoßen, wo ich nicht weiterkomme und auch Tante Google nichts brauchbares ausspuckt. Ich hoffe, hier finden sich einige mit passenden Mathekenntnissen. Es geht um folgendes: Wie komme ich bei räumlichen Körpern (Pyramide, 8-Flächenkörper (Oktaeder), 10-Flächenkörper (??), 12-Flächenkörper (Dodekaeder), 20-Flächenkörper (Ikosaeder)) auf die Vektoren, die vom Körpermittelpunkt jeweils in Richtung der Mittelpunkte der Flächen zeigen? Beispiel: Ich suche bei Ikosaeder nach genau 20 Vektoren, von denen jeder die Richtung beschreibt, vom Körpermittelpunkt zum Mittelpunkt jeweils einer der Flächen. |
AW: [Mathematik] Suche Vektoren für Körper
Hast du denn die Punkte zu einer Fläche gegeben? Falls ja, dann kannst du einfach koordinatenweise den „Mittelwert“ berechnen (m.x = (p_1.x + p_2.x + ... + p_n.x)/n; m.y = (p_1.y + p_2.y + ... + p_n.y)/n), um den Mittelpunkt der Fläche zu bekommen und dann die Differenz zum Mittelpunkt des Körpers berechnen. Sorry falls das am Thema vorbeigeht...
|
AW: [Mathematik] Suche Vektoren für Körper
Nein, ich weiß nur was es für ein Körper ist, wo der Mittelpunkte ist und theoretisch die Skalierung
|
AW: [Mathematik] Suche Vektoren für Körper
Vielleicht hilft dir
![]() |
AW: [Mathematik] Suche Vektoren für Körper
Danke für den Link. Da steht schon mal eine Menge drin, aber das einzige ähnliche sind die Vektoren für die Vertices. Evtl. kann ich mir daraus was stricken und von den Ecken jeweils auf die Flächen schließen.
Ich wäre trotzdem interessiert, wenn jemand für sowas Formeln oder Lösungen zur Hand hat :thumb: |
AW: [Mathematik] Suche Vektoren für Körper
Willst du den Richtungsvektor jeweils vom Ursprung zu den einzelnen Flächen des Körpers ermittelnt oder den Vektor mit korrektem Abstand (also normaler Vektor vom Ursprung bis zum Mittelpunkt einer Fläche)?
Fürs erstere gibts bestimmt schon ne Lösung.. ich würd mir dann gedanken darüber machen, aber erst mal warte ich auf deine Antwort. |
AW: [Mathematik] Suche Vektoren für Körper
Die Länge des Vektors ist für mich erstmal irrelevant, mir reicht also lediglich die Richtung. Ich wollte mit einem Vektor der Länge 1 arbeiten, den kann ich bei Bedarf dann entsprechend skalieren, falls nötig
|
AW: [Mathematik] Suche Vektoren für Körper
Ok, mein erster Gedanke dazu ist/war:
mit der Kugelformel rumspielen und die einzelnen Eckpunkte ermitteln (diese sind dann auch die gewollten Richtungsvektoren) Bin mir aber noch nicht sicher, ob das so klappen würde. Weiß nicht, ob man damit wirklich all diese Körper darstellen lassen kann. [Edit] Ein anderer sollte vorher das klarstellen, bevor du das einsetzt [/Edit] ![]() ![]() [Edit] Ach, man kann die Formel nicht lesen. x = sin(w1) * cos(w2) y = sin(w1) * sin(w2) z = cos(w1) [/Edit] Du müsstest hier bei die Kugel horizontal und vertikal jeweils in Slices (bei der Skizze mit Stacks und Slices versehen) unterteilen (dementsprechende Winkel verwenden, sofern das noch verständlich ist) ![]() ![]() |
AW: [Mathematik] Suche Vektoren für Körper
Also ich fürchte, das musst du "per Hand" einprogrammieren als Konstante.
Bei einem Ikosaeder (als Bsp.) habe ich die Formel für die Eckpunkte gefunden ( ![]() Daraus kannst du dann die Vektoren zu den Flächenmittelpunkten errechnen. (Der Mittelwert aus Eckpunkten einer Fläche ist der Vektor zum Flächenmittelpunkt) Eine einfache Lösung wie "Dodekaeder" rein, Koordinaten raus wird's wohl nicht geben. Das wird vermutlich auf große, konstante Arrays im Code hinauslaufen ;-) (Vielleicht lässt sich da noch was sparen, weil die Teile alle zwei Symmetrieebenen oder so haben, aber ob's das dann bringt weiß ich nicht) |
AW: [Mathematik] Suche Vektoren für Körper
Zitat:
Und ich würde vom Grundkörper ausgehen, d.h. ohne Rotationen, Verschiebungen oder Skalierungen. Damit dürfte die Lösung meines Erachtens eindeutig bleiben, wenn ich von normierten Vektoren ausgehe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz