Агуулгын хүснэгт:
- Алхам 1: Програмыг татаж авах
- Алхам 2: Өөрийн загварыг XML рүү экспортлох
- Алхам 3: Объектыг Java руу импортлох
Видео: Java3D загвар үүсгэхийн тулд Blender -ийг ашиглах: 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:06
Хэрэв та Java програмист бол хэзээ нэгэн цагт 3D хэлбэрээр програмчлахыг хүсч байсан байх. Гэхдээ яаж? Та Java3D -ийг ашиглаж, цэг бүрийг 3D полигон дээр аажмаар бичиж болно (энэ нь надад муу санаа гэж итгэсэн), эсвэл Blender (https://blender.org) үнэгүй, нээлттэй эхийн 3D загварчлалын програмыг ашиглаж болно. 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) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Гадаад төрх ap = шинэ дүр төрх (); Color3f col = шинэ Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.set Гадаад төрх (ap); obj.addChild (fred); үүнийг ямар ч 3d кодонд оруулах эсвэл энд байгаа кодыг бүхэлд нь ашиглах java.io импортлох.*; java.beans. XMLDecoder импортлох; java.applet. Applet импортлох; java.awt импортлох. awt.event.*; com.sun.j3d.utils.applet. MainFrame; com.sun.j3d.utils.universe импортлох.*; javax.media.j3d импортлох*; javax.vecmath импортлох.*; java импортлох.applet. Applet; java.awt. BorderLayout импортлох; java.awt. Frame импортлох; com.sun.j3d.utils.applet. MainFrame импортлох; com.sun.j3d.utils.geometry. ColorCube импортлох; com.sun импортлох. j3d.utils.universe.*; com.sun.j3d.utils.behaviors.mouse.*; javax.media.j3d.*; javax.vecmath импортлох.*; java.awt.event импортлох.*; java импортлох.util. Enumeration; public class MouseBehaviorApp нь Applet {public BranchGroup createSceneGraph () {BranchGroup objRoot = new BranchGroup (); TransformGroup objTransform = шинэ TransformGroup (); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild (objTransform); Shape3D fred = null; {XMLDecoder e = new XMLDecoder (шинэ BufferedInputStream (шинэ FileInputStream ("c: /HandShape3D.xml"))) оролдоод үзээрэй); fred = (Shape3D) e.readObject (); e.close (); } барих (онцгой тохиолдол e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Гадаад төрх ap = шинэ дүр төрх (); Color3f col = шинэ Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.set Гадаад төрх (ap); objTransform.addChild (fred); 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.compile (); буцах objRoot; } нийтийн MouseBehaviorApp () {setLayout (шинэ BorderLayout ()); Canvas3D canvas3D = шинэ Canvas3D (SimpleUniverse.getPreferredConfiguration ()); нэмэх ("Төв", canvas3D); BranchGroup -ийн дүр зураг = createSceneGraph (); SimpleUniverse simpleU = шинэ SimpleUniverse (canvas3D); simpleU.getViewingPlatform (). setNominalViewingTransform (); simpleU.addBranchGraph (үзэгдэл); } public static void main (String args) {Frame frame = new MainFrame (new MouseBehaviorApp (), 256, 256); }} Үүнийг бүрэн хэмжээний програмд ашиглаарай! чи дууслаа! тэгээд чи "одоо яах вэ" гэж хэлээд байна уу? Надад ямар ч ойлголт алга! Би дөнгөж сарын өмнө Java сурсан шүү хэхэ!
Зөвлөмж болгож буй:
[2020] RC машиныг хянахын тулд хоёр (x2) микро: бит ашиглах: 6 алхам (зурагтай)
[2020] RC машиныг хянахын тулд хоёр (x2) микро: бит ашиглах: Хэрэв танд хоёр (x2) микро: бит байгаа бол тэдгээрийг RC машиныг алсаас удирдахад ашиглах талаар бодож байсан уу? Та дамжуулагчийн хувьд нэг микро: бит, хүлээн авагчийн нэгийг ашиглан RC машиныг удирдах боломжтой.Микро кодлохын тулд MakeCode засварлагчийг ашиглахдаа
Төмөр замын энгийн автомат загвар загвар - Arduino хяналттай: 11 алхам (зурагтай)
Төмөр замын энгийн автомат загвар загвар | Arduino Controlled: Arduino микроконтроллер нь төмөр замын загварт маш сайн нэмэлт болдог, ялангуяа автоматжуулалт хийх үед. Arduino ашиглан төмөр замын загварын автоматжуулалтыг эхлүүлэх энгийн бөгөөд хялбар арга энд байна. Тиймээс, илүү их зүйлгүйгээр эхлүүлцгээе
Загвар үүсгэхийн тулд фотограмметрийг ашиглах: 9 алхам
Загвар үүсгэхийн тулд Photogrammetry ашиглан: Би хэн бэ? Би Сэмюэл Конклин, би E.L -ийн 2 -р курсын оюутан. Мэйерс ахлах сургууль. Би сүүлийн хоёр сарын турш фотограмметрийг туршиж үзсэн бөгөөд хэрэв та энэ бүтээгдэхүүнийг дахин бүтээхээр шийдсэн бол танд туслах болно гэж найдаж байна. Бусад хүмүүс яаж байгааг харах сонирхолтой байна
Загвар хийхэд тохиромжтой чимэг чимэг загвар: 14 алхам (зурагтай)
Загвар хийхэд тохиромжтой чимэг чимэг загвар: "Breadboard" гэсэн нэр томъёо хаана байдаг талаар та бодож байсан уу? аас ирсэн? Талхны самбар гэж юу болохыг харуулсан жишээ энд байна. Электроникийн эхэн үед эд ангиуд нь том, төвөгтэй байв. Тэдэнд транзистор эсвэл нэгдсэн тойрог байгаагүй
ARDUINO ашиглан 3d загвар хийхийн тулд ойролцоох объектуудыг сканнердах: 5 алхам (зурагтай)
ARDUINO ашиглан 3d загвар гаргахын тулд ойролцоох объектуудыг сканнердах: Энэ төсөл нь HC-SR04 хэт авианы мэдрэгч ашиглан ойролцоох объектуудыг хайхад зориулагдсан болно. 3D загвар гаргахын тулд та мэдрэгчийг перпендикуляр чиглэлд шүүрдэх хэрэгтэй бөгөөд та мэдрэгч ямар нэгэн объект илрүүлэх үед дохиолол өгөх Arduino програмчилж болно