AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein .NET-Framework (managed code) C# 3D-Objekt / Mantelfläche darstellen
Thema durchsuchen
Ansicht
Themen-Optionen

3D-Objekt / Mantelfläche darstellen

Ein Thema von 4dk2 · begonnen am 1. Mär 2019 · letzter Beitrag vom 1. Mär 2019
Antwort Antwort
4dk2

Registriert seit: 4. Sep 2007
176 Beiträge
 
#1

AW: 3D-Objekt / Mantelfläche darstellen

  Alt 1. Mär 2019, 13:41
Wenn Du aus einer Punktwolke 3D Objekte machen willst, ist das schon die etwas höhere Kunst. Das geht auch mit Delaunay (auch im 3D). Ist aber sehr aufwendig.
Was ist das für eine Punktwolke. Wo kommt die her und was soll daraus werden?

... habe gerade geguckt?
Zitat:
Ganz einfache Beispiel, nen 4-Eck.
besteht im Prinzip ja aus 8 Koordinaten.
Ein 4-Eck hat 8 Koordinaten?? Naja, eine Viereck hat 4 Koordinaten, oder?
jaaa ein würfel , und ja wenn man den trigonometrisch definiert sind es 36, weiss nicht was da oben bei mir los war

Das ist im Prinzip ne Berechnung von nem Gegenstand.
Die Berechnung liefert die komplette Aussenhülle des Körpers.

Ich könnte funktional dran gehen und die Darstellung holt sich per x,z dann y oder so.
Sowas hab ich schonmal per "Heightfield" in Opengl gemacht:
https://blogs.igalia.com/itoral/2016...-terrain-mesh/
Aber, wie bekommt man dann das zu nem geschlossenen körper , deswegen hab ich das auch erstmal verworfen.
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#2

AW: 3D-Objekt / Mantelfläche darstellen

  Alt 1. Mär 2019, 14:16
Zitat:
Aber, wie bekommt man dann das zu nem geschlossenen körper , deswegen hab ich das auch erstmal verworfen.
Du setzt alle Dreiecke entsprechend aneinander und schon ist es ein geschlossener Körper.
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
4dk2

Registriert seit: 4. Sep 2007
176 Beiträge
 
#3

AW: 3D-Objekt / Mantelfläche darstellen

  Alt 1. Mär 2019, 14:19
Zitat:
Aber, wie bekommt man dann das zu nem geschlossenen körper , deswegen hab ich das auch erstmal verworfen.
Du setzt alle Dreiecke entsprechend aneinander und schon ist es ein geschlossener Körper.
ich meine das heightfield
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: 3D-Objekt / Mantelfläche darstellen

  Alt 1. Mär 2019, 15:56
Heightfields werden üblicherweise einfach über eine Ebene "verkörpert", die entsprechend fein unterteilt ist, und von der man die Lage im Raum vorab schon weiß. Da muss man dann einfach nur noch die Y-Koordinaten dem Heightfield anpassen. (Genau genommen muss man die Punkte entlang ihrer Normalen um einen Betrag verschieben, den das Heightfield vorgibt. Bei einer XZ-Ebene vereinfacht sich das zu "Y-Koordinaten ändern".)

Problem bei Heightmaps: Du kannst nur in eine Richtung konkav sein, und es gibt kein "unten" in dem Sinne. Wenn du also komplexe und beliebige Körper hast, kommst du um eine Triangulierung nicht herum. Selbst mit Delaunay kann es dabei aber noch Stellen geben, die ggf. nicht das gewünschte Ergebnis liefern. (Insbesondere sind dünne Regionen kritisch, bei denen die Punktabstände "durch das Volumen" kleiner sind als die entlang der eigentlichen Oberfläche.) Genau genommen ist eigentlich kein Verfahren wirklich 100%, und welches sich besser eignet hängt stark von der Art der Punktwolke ab. Ein Körper ist durch eine Wolke schlicht nicht ausreichend definiert, und man kann nicht viel mehr machen als versuchen die fehlenden Daten (Kanteninformationen) hinzu zu dichten.
Das ist wie beim Vergrößern von Bitmaps: Man kommt bis zu einem gewissen Grad ganz gut klar, muss den Algo aber auch hier passend zum Bildinhalt wählen für das beste Ergebnis, und ein 100%iges Ergebnis wird man nie erreichen - erst recht nicht im verallgemeinerten Fall.


Wenn deine Berechnung, die zu der Wolke führt, auf einem parametrischen Volumen basiert hast du allerdings noch eine ganz brauchbare Alternative, da hier zumindest für jeden Punkt im Raum ganz klar bestimmt werden kann, ob er Teil des Volumens ist oder nicht. (Ich hatte das mal für Quaternion-Fraktale gemacht, auf die trifft das z.B. zu.) Das naive Verfahren dazu nennt sich "Marching Cubes".
"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
4dk2

Registriert seit: 4. Sep 2007
176 Beiträge
 
#5

AW: 3D-Objekt / Mantelfläche darstellen

  Alt 1. Mär 2019, 21:09
das mit Marching Cubes, sieht sehr viel versprechend aus, danke für die Info. Man muss halt wissen wie die Sachen beim Namen heissen
  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 00:38 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