Tvorba 3D grafických objektů Roman Plch Export z Maplu do VRML Generování 3D grafiky v Maplu: > fce:=plot3d(x^2+y^2, x=-3..3, y=-3..3): Pro kreslení os je lepší použít proceduru PlotAxes (značky na osách a jejich popis se do VRML neexportují korektně): > read("PlotAxes.m"); > osy:=plotAxes(3,3,15,.005): Nyní zobrazíme objekt i osy do jednoho obrázku a následně provedeme export pomocí příkazu vrml z balíčku plottools. > objekt:=display([fce,osy]): > plottools[vrml](objekt,"objekt.wrl"); Maple generuje grafický objekt v zastaralém formátu VRML 1. Před konverzí do U3D pomocí Meshlabu je třeba získaný VRML soubor nejdříve zkonvertovat do novější verze (např. pomocí ivvrml – ke stažení na http://merlin.fit.vutbr.cz/wiki/ index.php/Open_Inventor_Tools#ivvrml). Konverzní programy Komerční produkty: Deep Exploration 3D PDF Converter (dříve 3D Reviewer, součást Acrobatu 3D, pouze na Windows) PDF3D ReportGen (k dispozici i Linuxová verze) Okino Universal-3D Geometry Export Converter „Nekomerční produkty: Meshlab Jreality IDTFConverter Pro oboustranné zobrazení grafického objektu je třeba nastavit v Adobe Readeru – Preferences – 3D & Multimedia – Enable double-sided rendering. PDF3D ReportGen Nainstalován na serveru bart, spouští se příkazem PDF3DReportGen. (objekt.u3d) Obrázek: Graf vytvořený v Maplu a převedený do U3D pomocí PDF3DReportGen Meshlab Naistalován na lokálních stanicích, spouští se příkazem meshlab. Konverze do VRML2: ivvrml -2 objekt.wrl -o objekt2.wrl (objekt2.u3d) Obrázek: Graf vytvořený v Maplu a převedený do U3D pomocí Meshlabu maplex3d2prc Export 3D grafiky do formátu X3D (Extensible 3D) nebo DAE. Při exportu do X3D je možné s výhodou použít programu maplex3d2prc, který narozdíl od předchozího postupu exportuje i osy s popisem a zachovává nastavení měřítka na osách a barevné schéma. Program se spouští s jediným argumentem – jménem souboru X3D, exportovaným z Maplu. Na výstupu dostáváme PRC soubor, PDF soubor s vloženou 3D grafikou a JavaScript, který zajišťuje správnou orientaci popisu os a musí být připojen při vkládání objektu do PDF souboru. Je možné použít i systémový maplex3d2prc.js. \includemovie[% poster, label=j1, text=(maple15x3d.prc), 3Droo=72, 3Dcoo=-0.27 -0.28 -0.036, 3Dc2c=0.78 -0.55 0.30, 3Droll=2.35, 3Dlights=Day, 3Djscript=maplex3d2prc.js] {0.6\textwidth}{0.6\textwidth}{maple15x3d.prc} Při práci s Adobe Readerem na linuxových systémech je třeba nastavit systémovou proměnnou export LC_NUMERIC="C" (jinak se vložený JavaScript neprovede). (maple15x3d.prc) Obrázek: Graf vytvořený v Maplu a převedený do PRC pomocí maplex3d2prc Maxima load(draw); draw_renderer : ’vtk $ draw3d( axis_3d =true, file_name = "ukazka", terminal= vrml, enhanced3d = true, explicit(sin(x^2+y^2)/5, x, -2, 2, y, -2, 2) )$ Matlab – export do VRML pomocí příkazu vrml (ukazka.u3d) Obrázek: Graf vytvořený v Maximě a převedený do U3D pomocí PDF3DReportGen (ukazkam.u3d) Obrázek: Graf vytvořený v Maximě a převedený do U3D pomocí Meshlabu