개인 재정 3D 자바 세계 구축을위한 3 단계 - 더미

3D 자바 세계 구축을위한 3 단계 - 더미

차례:

비디오: Drone Simulation and Control, Part 3: How to Build the Flight Code 2024

비디오: Drone Simulation and Control, Part 3: How to Build the Flight Code 2024
Anonim

몇 가지 간단한 단계를 통해 JavaFX에서 비교적 단순한 3D 프로그램을 작성하여 3 차원 세계를 표시 할 수 있습니다 (아래 예 참조). 보시다시피,이 3D 공간에는 4 개의 모양이 포함됩니다: 구, 정육면체, 원통 및 피라미드. 이 짧은 목록은 원통을 시작하는 방법을 보여줍니다.

이 예는 때때로 기술적 인 부분이 많으므로 Thinking Cap을 사용하십시오. 특히 3D 프로그래밍을 처음 사용하는 경우에는 3D 세계를 만드는 데 관련된 많은 개념이 혼란 스러울 수 있습니다.

JavaFX의 샘플 3D 프로그램입니다.

1 단계: 원통 추가

이 단계에서는 기본 3D 객체를 월드에 추가합니다. JavaFX는 실린더, 상자 및 구체와 같은 세 가지 기본 모양을 추가 할 수 있습니다. 실린더를 추가하여 시작하십시오.

실린더 실린더 = 새 실린더 (100, 50); 뿌리. getChildren (). 추가 (원통형);

Cylinder 클래스 생성자는 실린더의 반경과 높이의 두 인수를받습니다. 이 예제는 대략 높이가 4 배인 하키 퍽 모양의 실린더를 만듭니다. 그런 다음 장면의 루트 노드에 원통을 추가합니다.

이 시점에서 실린더는 세계에 존재하지만 보이지 않습니다. 2D 도형에 대해 알고있는 것을 기반으로 채우기 색상 (setFill) 또는 획 색상 (setStroke)을 추가하여 눈에 보이게 할 수 있습니다. 그러나 이것이 3D 객체가 작동하는 방식이 아닙니다. 다음 단계에서는 실린더의 표면에 재질을 적용하여 장면에서 볼 수 있도록하는 방법을 알아 봅니다.

2 단계: 자료 만들기

3D 객체의면을 렌더링하는 것은 평면의 2 차원 객체를 렌더링하는 것보다 훨씬 복잡합니다. 2D 오브젝트의 경우, setFill 메소드를 사용해 Paint 오브젝트를 적용하면됩니다. 페인트는 단순한 색상, 그라디언트 색상 또는 이미지 일 수 있습니다.

3D 오브젝트의 경우 페인트를 적용하지 않습니다. 대신 PhongMaterial 클래스로 대표되는 Phong 머티리얼 이라는 특수 객체를 적용합니다. 퐁 (Phong) 소재 (1970 년대 선구적인 컴퓨터 그래픽 전문가 인 Bui Tuong Phong의 이름을 따서 명명 됨)는 3D 오브젝트의 얼굴이 사실적으로 렌더링되는 방법을 제공합니다.

다음 코드는 두 개의 음영을 기반으로 간단한 Phong 재질을 생성 한 다음 해당 재질을 실린더에 적용합니다.

PhongMaterial blueStuff = new PhongMaterial (); blueStuff. setDiffuseColor (색상. 라이트 블루); blueStuff. setSpecularColor (Color.Blue); 실린더. setMaterial (blueStuff);

Phong 재질이 실린더에 적용된 후 그림과 같이 실린더가 장면 내에서 보입니다.

퐁 (Phong) 재질의 3D 실린더.

3 단계: 실린더 변환

실린더가 매우 입체적으로 보이지 않는다는 것을 의심 할 여지없이 알게되었습니다. 그것은 여러분이 그것을보고 있기 때문입니다: 카메라가 x 축과 y 축의 교차점을 똑바로 가리키고 있으며 실린더가 그 바로 그 지점에 집중되어 있습니다.

실린더에 대한 원근감을 얻기 위해 x, y 및 z 좌표를 변환하여 3D 공간의 다른 위치로 이동할 수 있습니다. 예:

실린더. setTranslateX (-200); 실린더. setTranslateY (200); 실린더. setTranslateZ (200);

여기서 실린더는 왼쪽에서 200 단위, 아래쪽에서 200 단위, 카메라에서 200 단위 멀리 이동합니다. 결과 뷰는 여기에서 볼 수 있듯이 원통처럼 보입니다.

번역 된 3D 실린더.

이 그림에서는 실린더가 앞으로 회전하여 약간의 상단 표면을 볼 수있는 것처럼 보입니다. 그러나 이것은 사실이 아닙니다. 실제로 일어난 일은 실린더 가장자리를 더 이상 보지 않는다는 것입니다.

대신 실린더가 카메라 아래에 있기 때문에 카메라를 내려다 보았습니다. 따라서, 당신은 약간의 윗면을 볼 수 있습니다. 당신은 또한 측면에서 그것을보고 있는데, 그것은 단지 왜 약간 기울어 진 것처럼 보입니다.

3D 자바 세계 구축을위한 3 단계 - 더미

편집자의 선택

플립 비디오 인형 치트 시트 - 인형

플립 비디오 인형 치트 시트 - 인형

플립 비디오 캠코더는 가장 사용하기 쉬운 캠코더입니다. 세계. 플립 비디오를 사용하면 비디오를 가리키고 촬영 한 다음 컴퓨터로 비디오를 복사 할 수 있습니다. 몇 번의 클릭 후, 당신은 Facebook, MySpace 및 YouTube에서 귀하의 작품을 과시하고 있습니다. Flip의 버튼을 해독함으로써 비디오를 고통없이 촬영하는 방법을 찾으십시오. 알아보기 ...

귀하의 디지털 필름에 대한 개인 상영 - 인형

귀하의 디지털 필름에 대한 개인 상영 - 인형

오늘, DSLR 필름 심사. HD가 장착 된 정교한 대형 스크린 TV는 여러 스피커의 서라운드 사운드 스테레오와 함께 아주 좋은 간식을 제공합니다. 따라서 영화 밤을 장소에서 쉽게 주최 할 수 있으며 영화관에 갈 수도 있습니다. ...

디지털 영화에 정적 제목을 추가하는 방법 - 인형

디지털 영화에 정적 제목을 추가하는 방법 - 인형

초연 요소는 다양한 선택을 제공합니다 DSLR 영화의 타이틀 선택 항목, 하위 3 분의 1 로케이터 정보. 로케이터 정보는 뉴스 세그먼트 및 다큐멘터리에서 장면의 사람이나 장소를 설명하는 데 사용되는 ID와 같습니다. 사람의 경우 이름과 설명이라는 두 줄로 구성됩니다. 예를 들어, Charles Dickens / Writer, ...

편집자의 선택

관계 속의 분노를 다루는 - 인형

관계 속의 분노를 다루는 - 인형

우리 모두는 때때로 파트너들과 화를 낸다. 분노가 당신과 당신의 관계에 미치는 파괴적인 영향을 최소화하는 데 도움이되는 다음 요령을 시도하십시오. 당신이 분노의 징후를 처음 알기 시작할 때, 당신의 파트너에게 무슨 일이 일어나는지 물어보십시오. 화가 난 사람을 상처 입히려 고합니다.

자폐증 진단의 영향 - 인형

자폐증 진단의 영향 - 인형

자폐아를 찾는 것이 매우 어렵습니다. 앞으로의 길은 쉬울 것이라고 아무도 말할 수 없습니다. 자녀의 생년월일과 본인의 생년월일에 관한 스크립트를 다시 작성해야 할 수도 있습니다. 당신은 지금 다루어야 할 새로운 쟁점, 압박 및 결정들을 가지고 있습니다. 그리고 주변 사람들은 ...

당신이 종속인지 결정하기 - 인형

당신이 종속인지 결정하기 - 인형

다음 증상 목록에서 확인하십시오. 당신은 모두가 공손 할 필요는 없으며, 코펜던트의 심각성 정도가 있습니다. 치료를하지 않으면 시간이 지남에 따라 코드 종속성이 악화되지만 도움을 받아 복구 할 수 있고 작업에서 훨씬 더 효과적 일 수 있습니다 ...

편집자의 선택

짧은 명상 묵상 시도 - 인형

짧은 명상 묵상 시도 - 인형

당신의 마음을 집중할 수있는 능력은 마음 챙김 명상을 통해 가장 강력하게 개발됩니다. Mindfulness 명상 중 하나는 호흡의 mindfulness입니다. 이것은 숨을 의식적으로 인식하는 것입니다. 명상을 스스로 시도하려면 다음 단계를 따르십시오. 자신의 호흡 감을 알아야합니다. 변경할 필요가 없습니다 ...

마음가짐의 세 측면 - 인형

마음가짐의 세 측면 - 인형

마음가짐은 세 가지 측면으로 주의 깊은 인식. 이 목록을 인쇄하여 핀이 무엇인지 생각 나게하십시오. 의도 - 당신의 의도는 당신이 마음가짐을 연습함으로써 얻고 자하는 것입니다. 스트레스를 줄이고 감정적 인 균형을 유지하거나 발견 할 수 있습니다.

다른 명상을 시도하십시오 - 인형

다른 명상을 시도하십시오 - 인형

명상 확장이라는 인식은 명상 확장의 중심에 있습니다. Mindfulness 명상 연습. 앉는 자리는 수천 년 동안 명상을 위해 그리고 정당한 이유로 사용되었습니다. 어떻게 평소에 앉아 있니? 당신이 대부분의 사람들과 비슷하다면, 아마 의자 나 소파 뒤에 기대어집니다. 네가 괜찮다면 ...