Jak renderować obiekty 3D na podstawie współrzędnych trójkątnych?


0

Próbowałem zadać to pytanie na StackOverflow z nieco innym sformułowaniem. Nie otrzymaliśmy odpowiedzi i ustaliliśmy, że jest to nie na temat. Nie został przeniesiony, więc pytam tutaj.

Mam plik (utworzony przez nieznany program), który wydaje się zawierać współrzędne siatki trójkąta w przestrzeni 3D. Pierwsze kilka wierszy wygląda następująco:

-0.000000,2.758621,12.413793 0.798542,2.443666,15.312572 2.584137,2.443666,12.413793
-0.000000,-18.758621,12.413793 2.090611,-18.443666,10.622249 2.090610,-18.443666,14.205337
-0.000000,2.758621,12.413793 2.584137,2.443666,12.413793 0.798542,2.443666,9.515014
-0.000000,2.758621,12.413793 0.798542,2.443666,9.515014 -2.090611,2.443666,10.622249 

Reszta pliku (ponad 47 kB) jest zgodna z tym wzorem.

Chcę widzieć model reprezentowany przez te dane. Czy istnieje prosty sposób, aby program, taki jak Meshlab, rozpoznał to jako obiekt 3D i wyrenderował? Innym sposobem jest powiedzenie, że chcę przekonwertować te surowe dane na prawidłowy format.

Odpowiedzi:


0

Za pomocą edytora tekstu lub skryptów możesz przekształcić plik tekstowy w opis sceny POV-Ray za pomocą meshobiektu.

mesh {
  triangle {
    <x1,y1,z1>, <x2,y2,z2>, <x3,y3,z3>
    <x1,y1,z1>, <x2,y2,z2>, <x3,y3,z3>
    <x1,y1,z1>, <x2,y2,z2>, <x3,y3,z3>
    ...
    texture { ... }
  }
}

Minęło trochę czasu, ale napisałem skrypt, który przekształcił mój plik do formatu pokazanego przez ciebie i dokumentację POV-Ray, a następnie wyrenderowałem. Niestety był to tylko stos prymitywnych kształtów, a nie coś interesującego, co zrobiłem.
Wutaz

0

To, co tam masz, to „chmura punktów” i większość systemów CAD lub modelowania 3D może je importować.

Co robisz w następnej kolejności ... Czy chcesz zmienić tę chmurę w siatkę szkieletową? Następnie musisz powiedzieć oprogramowaniu, które punkty należy połączyć z którymi innymi punktami.

Wiele systemów modelowania brył (Pro / e itp.) Zapewnia również możliwość „drapowania powierzchni” nad chmurą punktów (przy założeniu, że punkty przybliżają powierzchnię).

Po uaktualnieniu chmurę punktów ustawisz na szkielet, powierzchnię lub bryłę, powinieneś być w stanie eksportować w dowolnej liczbie formatów 3D (iges, 3ds, stl, vrml itd.)

Przykład: oto wtyczka Google Sketchup, która robi coś takiego: http://rhin.crai.archi.fr/rld/plugin_details.php?id=777


Przyjrzyj się bliżej: w każdej linii są trzy grupy oddzielone przecinkami i trzy z nich oddzielone spacjami. Ergo, trójkąty, a nie chmura niepowiązanych punktów.
Wutaz

Ahhh .... Na moim ekranie (iPhone) każde trio liczb ma swoją własną linię. Możesz dołączyć ten opis do pytania dla innych użytkowników mobilnych.
Brian Adkins
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.