
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 15:00
Ja esat Java programmētājs, jūs, iespējams, kādā brīdī vēlējāties programmēt 3D formātā. Bet kā? Jūs varētu izmantot Java3D un lēnām ierakstīt katru punktu 3D daudzstūrī (mēģiniet, ticiet man, tā ir slikta ideja), vai arī izmantot bezmaksas un atvērtā pirmkoda 3D modelēšanas programmu Blender (https://blender.org). skripts ar nosaukumu Blend2Java (https://sourceforge.net/projects/blend2java/). Tomēr Blend2Java dokumentācijas gandrīz nav, tāpēc es šeit sēžu un rakstu.
1. darbība: lejupielādējiet programmas
Jums būs nepieciešams Blender (https://blender.org) un Blend2Java (https://sourceforge.net/projects/blend2java/). Labi, tad, kad esat tos abus sāciet, izveidojot vienkāršu modeli (vai vienkārši izmantojot standarta kubu) Blenderī.
2. darbība. Eksportējiet savu modeli uz XML
Kad esat izveidojis modeli, kuru vēlaties izmantot Blender, atveriet rediģēšanas režīmu un nospiediet taustiņu "a", lai atlasītu visus punktus. Apakšējā panelī atlasiet teksta redaktoru. Atveriet jaunu failu teksta redaktorā. Atveriet lejupielādēto failu blend2java.py. Palaidiet. Ok, jūsu objektam tagad jābūt. XML formātā, kur vien to saglabājāt (ja jums ir un kļūdas ziņojums padara shure, jums ir tikai viens materiāls objektam). Pārdēvējiet objektu (tam būs dīvains nosaukums).
3. darbība: importējiet objektu Java
Shape3D fred = null; mēģiniet {XMLDecoder e = jauns XMLDecoder (jauns BufferedInputStream (jauns FileInputStream ("c: /HandShape3D.xml"))); // jūsu faila nosaukums šeit fred = (Shape3D) e.readObject (); e. aizvērt (); } catch (Izņēmums e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Izskats ap = jauns Izskats (); Color3f col = jauns Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.setAppearance (ap); obj.addChild (fred); ievietojiet šo jebkurā 3D kodā vai izmantojiet visu kodu šeit importēt java.io.*; importēt java.beans. XMLDecoder; importēt java.applet. Applet; importēt java.awt.*; importēt java. awt.event.*; importēt com.sun.j3d.utils.applet. MainFrame; importēt com.sun.j3d.utils.universe.*; importēt javax.media.j3d.*; importēt javax.vecmath.*; importēt java.applet. Applet; importēt java.awt. BorderLayout; importēt java.awt. Frame; importēt com.sun.j3d.utils.applet. MainFrame; importēt com.sun.j3d.utils.geometry. ColorCube; importēt com.sun. j3d.utils.universe.*; importēt com.sun.j3d.utils.behaviors.mouse.*; importēt javax.media.j3d.*; importēt javax.vecmath.*; importēt java.awt.event.*; importēt java.util. Enumeration; public class MouseBehaviorApp paplašina sīklietotni {public BranchGroup createSceneGraph () {BranchGroup objRoot = new BranchGroup (); TransformGroup objTransform = new TransformGroup (); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild (objTransform); Shape3D fred = null; mēģiniet {XMLDecoder e = jauns XMLDecoder (jauns BufferedInputStream (jauns FileInputStream ("c: /HandShape3D.xml"))); fred = (Shape3D) e.readObject (); e. aizvērt (); } catch (Izņēmums e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Izskats ap = jauns Izskats (); Color3f col = jauns Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.setAppearance (ap); objTransform.addChild (fred); MouseRotate myMouseRotate = jauns MouseRotate (); myMouseRotate.setTransformGroup (objTransform); myMouseRotate.setSchedulingBounds (new BoundingSphere ()); objRoot.addChild (myMouseRotate); MouseTranslate myMouseTranslate = jauns MouseTranslate (); myMouseTranslate.setTransformGroup (objTransform); myMouseTranslate.setSchedulingBounds (new BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = jauns MouseZoom (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBounds (new BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.compile (); atgriezties objRoot; } public MouseBehaviorApp () {setLayout (new BorderLayout ()); Canvas3D canvas3D = jauns Canvas3D (SimpleUniverse.getPreferredConfiguration ()); add ("Centrs", canvas3D); Nozares grupas aina = createSceneGraph (); SimpleUniverse simpleU = jauns SimpleUniverse (canvas3D); simpleU.getViewingPlatform (). setNominalViewingTransform (); simpleU.addBranchGraph (aina); } public static void main (String args) {Frame frame = new MainFrame (new MouseBehaviorApp (), 256, 256); }} izmantojiet to pilnīgai programmai! jūs esat pabeidzis! un tad jūs sakāt "tagad ko"? Man nav ne jausmas! Es tikko iemācījos Java pirms mēneša lol!
Ieteicams:
Fotogrammetrijas izmantošana modeļu izveidošanai: 9 soļi

Fotogrammetrijas izmantošana modeļu veidošanai: Kas es esmu? Es esmu Semjuels Konklins un es esmu otrs kurss E.L. Meyers vidusskola. Pēdējos pāris mēnešus esmu eksperimentējis ar fotogrammetriju, un es ceru jums palīdzēt, ja izvēlēsities atjaunot šo produktu. Man ir interesanti redzēt, kā citi cilvēki
RGB gaismas diodes izmantošana krāsu secību izveidošanai: 12 soļi

RGB gaismas diodes izmantošana krāsu secību izveidei: šajā pamācībā tiks parādīts, kā izmantot RGB gaismas diodes, lai izveidotu krāsu secības, izmantojot Arduino Uno un kodu. 3 RGB gaismas diodes laika gaitā mainīs krāsas, bet 2 pārējās RGB gaismas diodes nemainīsies
Blendera pamati: 7 soļi

Blendera pamati: Sveiki visiem! Esmu izdomājis jaunu pamācību, kas aptver bezmaksas 3D modelēšanas programmatūras BLENDER 3D pamatus. Nu, lielākā daļa no jums var domāt, ka es runāju par blenderi, ko izmantojat savā virtuvē, taču tas ir daudz labāk. Tas liek jums
Izgatavojiet jaudīgu 48 V līdzstrāvas motoru no mirušā blendera/urbšanas motora: 3 soļi

Izgatavojiet jaudīgu 48 V līdzstrāvas motoru no mirušā blendera/urbja motora: Sveiki! Šajā pamācībā jūs uzzināsit, kā pārveidot mirušā blendera/urbjmašīnas motoru (universālo motoru) par ļoti jaudīgu pastāvīgā magnēta līdzstrāvas motoru ar līdz pat 10 000 apgr./min. laba griezes momenta vērtība. Piezīme. Šī metode ir piemērojama tikai tad, ja
Vara lentes izmantošana digitālās atlases paliktņa izveidošanai: 4 soļi

Vara lentes izmantošana digitālās atlases spilventiņa izveidei: daļēji es dalos ar šo paņēmienu un daļēji es mācos lietot instrukcijas. Ja rodas problēmas ar manas tehnikas dokumentāciju vai Instructables izmantošanu, lūdzu, informējiet mani komentāros - paldies! Man vajadzēja garu rindu