
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
หากคุณเป็นโปรแกรมเมอร์ Java คุณอาจต้องการเขียนโปรแกรมในแบบ 3 มิติ แต่อย่างไร? คุณสามารถใช้ Java3D และพิมพ์ช้าในแต่ละจุดในรูปหลายเหลี่ยม 3 มิติ (ลองเชื่อฉันว่าเป็นความคิดที่ไม่ดี) หรือคุณสามารถใช้ Blender (https://blender.org) โปรแกรมสร้างแบบจำลอง 3 มิติแบบโอเพ่นซอร์สและฟรี สคริปต์ชื่อ Blend2Java (https://sourceforge.net/projects/blend2java/) อย่างไรก็ตาม เอกสารประกอบของ Blend2Java นั้นแทบไม่มีอยู่จริง ดังนั้นฉันจึงนั่งเขียนสิ่งนี้ที่นี่
ขั้นตอนที่ 1: ดาวน์โหลดโปรแกรม
คุณจะต้องใช้ Blender (https://blender.org) และ Blend2Java (https://sourceforge.net/projects/blend2java/) ตกลงเมื่อคุณมีทั้งคู่แล้ว ให้เริ่มด้วยการสร้างแบบจำลองอย่างง่าย (หรือเพียงแค่ใช้ลูกบาศก์มาตรฐาน) ใน Blender
ขั้นตอนที่ 2: ส่งออกโมเดลของคุณไปยัง XML
เมื่อคุณมีโมเดลที่คุณต้องการใช้ใน Blender ให้เปิดโหมดแก้ไขแล้วกดปุ่ม "a" เพื่อเลือกจุดทั้งหมด ในแผงด้านล่าง ให้เลือกโปรแกรมแก้ไขข้อความ เปิดไฟล์ใหม่ในโปรแกรมแก้ไขข้อความ เปิดไฟล์ blend2java.py ที่คุณดาวน์โหลด Run. Ok วัตถุของคุณควรอยู่ใน. XML ทุกที่ที่คุณบันทึกไว้ (หากคุณมีและข้อความแสดงข้อผิดพลาด ให้ตรวจสอบว่าคุณมีวัสดุเพียง 1 รายการสำหรับวัตถุนั้น) เปลี่ยนชื่อวัตถุ (จะมีชื่อแปลก ๆ)
ขั้นตอนที่ 3: นำเข้าวัตถุไปยัง Java
Shape3D fred = null; ลอง { XMLDecoder e = XMLDecoder ใหม่ (ใหม่ BufferedInputStream (FileInputStream ใหม่ ("c: / HandShape3D.xml"))); //ชื่อไฟล์ของคุณที่นี่ fred = (Shape3D) e.readObject(); e.close(); } จับ (ข้อยกเว้น จ) { e.printStackTrace (); } ColoringAttributes at=new ColoringAttributes(); ลักษณะที่ปรากฏ ap = ลักษณะที่ปรากฏใหม่ (); Color3f col = ใหม่ Color3f(1.0f, 0.0f, 1.0f); ColoringAttributes ca = ColoringAttributes ใหม่ (col, ColoringAttributes. NICEST); ap.setColoringAttributes(แคลิฟอร์เนีย); fred.setAppearance(ap); obj.addChild(fred);แทรกสิ่งนี้ลงในโค้ด 3 มิติ หรือใช้โค้ดทั้งหมดที่นี่ import java.io.*;import java.beans. XMLDecoder;import java.applet. Applet;import java.awt.*;import java awt.event.*;import com.sun.j3d.utils.applet. MainFrame;import com.sun.j3d.utils.universe.*;import javax.media.j3d.*;import javax.vecmath.*;import java.applet. Applet;import java.awt. BorderLayout;import java.awt. Frame;import com.sun.j3d.utils.applet. MainFrame;import com.sun.j3d.utils.geometry. ColorCube;import com.sun j3d.utils.universe.*;import com.sun.j3d.utils.behaviors.mouse.*;import javax.media.j3d.*;import javax.vecmath.*;import java.awt.event.*;import java.util. Enumeration คลาสสาธารณะ MouseBehaviorApp ขยาย Applet { BranchGroup สาธารณะ createSceneGraph () { BranchGroup objRoot = ใหม่ BranchGroup (); TransformGroup objTransform = TransformGroup ใหม่ (); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild (objTransform); Shape3D fred = null; ลอง { XMLDecoder e = XMLDecoder ใหม่ (ใหม่ BufferedInputStream (FileInputStream ใหม่ ("c: / HandShape3D.xml"))); fred = (Shape3D) e.readObject(); e.close(); } จับ (ข้อยกเว้น จ) { e.printStackTrace (); } ColoringAttributes at=new ColoringAttributes(); ลักษณะที่ปรากฏ ap = ลักษณะที่ปรากฏใหม่ (); Color3f col = ใหม่ Color3f(1.0f, 0.0f, 1.0f); ColoringAttributes ca = ColoringAttributes ใหม่ (col, ColoringAttributes. NICEST); ap.setColoringAttributes(แคลิฟอร์เนีย); fred.setAppearance(ap); objTransform.addChild (เฟรด); MouseRotate myMouseRotate = ใหม่ MouseRotate (); myMouseRotate.setTransformGroup (objTransform); myMouseRotate.setSchedulingBounds (ใหม่ BoundingSphere ()); objRoot.addChild (myMouseRotate); MouseTranslate myMouseTranslate = ใหม่ MouseTranslate (); myMouseTranslate.setTransformGroup (objTransform); myMouseTranslate.setSchedulingBounds (ใหม่ BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = MouseZoom ใหม่ (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBounds (ใหม่ BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.คอมไพล์(); ส่งคืน objRoot; } MouseBehaviorApp สาธารณะ () { setLayout (ใหม่ BorderLayout ()); Canvas3D canvas3D = Canvas3D ใหม่ (SimpleUniverse.getPreferredConfiguration()); เพิ่ม ("ศูนย์", canvas3D); ฉาก BranchGroup = createSceneGraph(); SimpleUniverse simpleU = SimpleUniverse ใหม่ (canvas3D); simpleU.getViewingPlatform().setNominalViewingTransform(); simpleU.addBranchGraph(ฉาก); } โมฆะคงที่สาธารณะ main (สตริง args) { กรอบเฟรม = MainFrame ใหม่ (ใหม่ MouseBehaviorApp (), 256, 256); }}ใช้สิ่งนี้สำหรับ programtada ที่สมบูรณ์! เสร็จแล้ว! แล้วคุณพูดว่า "ตอนนี้คืออะไร" ฉันไม่รู้! ฉันเพิ่งเรียน Java เมื่อเดือนที่แล้ว lol!
แนะนำ:
การใช้ Pimoroni Enviro+ FeatherWing กับ Adafruit Feather NRF52840 Express: 8 ขั้นตอน

การใช้ Pimoroni Enviro+ FeatherWing กับ Adafruit Feather NRF52840 Express: Pimoroni Enviro+ FeatherWing เป็นบอร์ดที่อัดแน่นไปด้วยเซ็นเซอร์ที่ออกแบบมาเพื่อทำงานร่วมกับบอร์ดรุ่น Adafruit Feather เป็นจุดเริ่มต้นที่มีประโยชน์สำหรับทุกคนที่สนใจในการตรวจสอบด้านสิ่งแวดล้อม มลภาวะในชั้นบรรยากาศ และการทำลายข้อมูล ผม
การใช้ Guitar Hero Guitar เพื่อควบคุมการซูม (Windows เท่านั้น): 9 ขั้นตอน

การใช้กีตาร์ฮีโร่กีตาร์เพื่อควบคุมการซูม (เฉพาะ Windows): เนื่องจากเราอยู่ท่ามกลางการระบาดใหญ่ทั่วโลก พวกเราหลายคนติดอยู่กับการทำความสะอาดบ้านและเข้าร่วมการประชุมบน Zoom หลังจากนี้ไปสักพัก มันอาจจะดูจืดชืดและน่าเบื่อหน่าย ขณะทำความสะอาดบ้าน ฉันพบกีตาร์ Guitar Hero ตัวเก่าที่ถูกโยนทิ้งใ
[2020] การใช้ IPhone หรือ IPad และ Micro:bit Game Pad App เพื่อควบคุมรถ RC: 23 ขั้นตอน
![[2020] การใช้ IPhone หรือ IPad และ Micro:bit Game Pad App เพื่อควบคุมรถ RC: 23 ขั้นตอน [2020] การใช้ IPhone หรือ IPad และ Micro:bit Game Pad App เพื่อควบคุมรถ RC: 23 ขั้นตอน](https://i.howwhatproduce.com/images/001/image-1423-j.webp)
[2020] การใช้ IPhone หรือ IPad และแอพเกมแพด Micro:bit เพื่อควบคุมรถ RC: คุณเคยคิดหรือไม่ว่าจะใช้ iPhone หรือ iPad เพื่อควบคุม micro:bit ของคุณ คุณรู้หรือไม่ว่า Micro:bit Educational Foundation มีแอพ iOS ใน แอพสโตร์? ค้นหา "micro:bit" ใน App Store และคุณสามารถดาวน์โหลดแอปได้ฟรี NS
การใช้ Python เพื่อเรียนรู้เค้าโครงแป้นพิมพ์ที่ไม่ใช่ภาษาอังกฤษ: 8 ขั้นตอน

การใช้ Python เพื่อเรียนรู้รูปแบบแป้นพิมพ์ที่ไม่ใช่ภาษาอังกฤษ: สวัสดี ฉันชื่อ Julien! ฉันเป็นนักเรียนวิทยาศาสตร์คอมพิวเตอร์ และวันนี้ฉันจะแสดงให้คุณเห็นว่าคุณสามารถใช้ Python เพื่อสอนรูปแบบแป้นพิมพ์ของภาษาที่ไม่ใช่ภาษาอังกฤษได้อย่างไร ทุกวันนี้การเรียนรู้ภาษาเกิดขึ้นมากมายทางออนไลน์ และสิ่งหนึ่งที่ผู้คนสามารถเข้าใจ
การใช้ Perfboard - พื้นฐานการบัดกรี: 14 ขั้นตอน (พร้อมรูปภาพ)

การใช้ Perfboard | พื้นฐานการบัดกรี: หากคุณกำลังสร้างวงจร แต่คุณไม่มีแผงวงจรที่ออกแบบมาให้ใช้ perfboard เป็นตัวเลือกที่ดี Perfboards เรียกอีกอย่างว่า Perforated Circuit Boards, Prototyping Boards และ Dot PCBs โดยพื้นฐานแล้วมันคือพวงของแผ่นทองแดงรอบ