AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Volumen und Mittelpunkt von einem 3D-Raum berechnen?
Thema durchsuchen
Ansicht
Themen-Optionen

Volumen und Mittelpunkt von einem 3D-Raum berechnen?

Ein Thema von Maiky · begonnen am 11. Feb 2018 · letzter Beitrag vom 13. Feb 2018
Antwort Antwort
Medium

Registriert seit: 23. Jan 2008
3.687 Beiträge
 
Delphi 2007 Enterprise
 
#1

AW: Volumen und Mittelpunkt von einem 3D-Raum berechnen?

  Alt 13. Feb 2018, 17:16
Es darf schon konvex sein, so lange die Tangenten, bzw. alle Geraden (Flächen) durch benachbarte Punkte, den Mittelpunkt nicht einschließen.
Deswegen ja meine eingeschränkte Aussage für konkave Volumen.

Die Lösung von Namenlozer allerdings ist super! Das ist tatsächlich die 3D-Variante dessen, was ich oben für 2D beschrieben habe! Ich habe nicht versucht das zu übertragen, und wusste bisher nicht, ob das überhaupt "so einfach" möglich ist. Das wirklich coole an der Lösung dort ist, dass man komplett ohne Mittel- oder Schwerpunkt auskommt. Man nimmt einfach irgendeinen Punkt - der Einfachheit halbar den Koordinatenursprung.
Edit: Man muss allerdings, würde ich vermuten, davon ausgehen können, dass das Mesh konsequent eine Winding-Order durchzieht.


Dieses "auch noch anfangen mit Subtrahieren" ist genau der Clou der einem potenziell tausende Zeilen an höherer Mathematik erspart. Ich würde da wohl zugreifen.

(Die genannten Ausnahmen bzgl. Löcher und nicht geschlossener Volumen die in dem SO Thread benannt werden treffen zwar zu, sollten aber bei einem wohlgeformten aus einer Architekturanwendung exportierten Mesh nicht auftreten.)

Meiner Meinung nach ist das die Lösung. Ultimativ. Einfacher wird es nicht werden.


Der Schwerpunkt ist nochmal was anderes. Aber je nach dem wofür der gebraucht wird, hat der TE sich evtl. auch einfach nur unglücklich ausgedrückt. Es gibt hier nämlich (mindestens) 3 Punkte, die man ggf. miteinander verwechseln kann: Schwerpunkt, (arithmetischer) Mittelpunkt und Zentrum der Bounding-Box. Letztere ist super einfach zu ermitteln, und ist z.B. das was man braucht, wenn man ein Objekt um einen Punkt so rotieren möchte, dass es in Höhe/Breite/Tiefe nicht weiter "rauspoppt" als das jeweils längste dieser Maße. Z.B. zum Drehen, so dass das Objekt "optisch" da bleibt, wo es ist.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 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 by Thomas Breitkreuz