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.

Wutaz
źródło

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 { ... }
  }
}
Mike Fitzpatrick
źródło
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

Brian Adkins
źródło
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