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

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

차례:

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

비디오: Drone Simulation and Control, Part 3: How to Build the Flight Code 2025
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 단계 - 더미

편집자의 선택

여성 건강 : 케겔 운동 방법 - 인형

여성 건강 : 케겔 운동 방법 - 인형

케겔 운동은 성기의 근육을 타겟으로합니다. 이 근육은 출산 중에 발생하는 스트레칭으로 인해 종종 약해지지만, 임신 한 적이없는 여성을 포함하여 어떤 여성이라도 적절한 케겔 (Kegel)을하는 법을 아는 것이 도움이 될 수 있습니다. 본질적으로 케겔 (Kegel)은 생식기에 좋은 운동을 제공하여 ...

폐경기 동안 기대할 사항 - 인형

폐경기 동안 기대할 사항 - 인형

폐경은 모든 여성의 삶의 사실입니다. 다른 연령대의 여러 단계의 증상으로 진행됩니다. 폐경의 결과로 여성은 알을 낳지 않고 생리를 멈추지 만 여성 호르몬, 에스트로겐 및 호르몬의 생성을 감소시킵니다.

여성 건강 : 요로 감염을 예방하는 방법 - 인형

여성 건강 : 요로 감염을 예방하는 방법 - 인형

요로 감염 (UTI)은 상당히 여성의 공통점. 통증이있는 ​​배뇨 나 잦은 소변과 같은 요로 감염의 증상을 발견하면 치료를받는 것이 중요합니다. UTI 치료는 일반적으로 항생제의 빠른 과정이지만 전문가의 도움을받는 데는 지체가 있으면 치료 시간이 길어질 수 있습니다. ...

편집자의 선택

Salesforce 조직에서 깨끗한 데이터를 유지 관리하는 많은 회사에서 Salesforce 조직의 깨끗한 데이터 유지 보수

Salesforce 조직에서 깨끗한 데이터를 유지 관리하는 많은 회사에서 Salesforce 조직의 깨끗한 데이터 유지 보수

많은 사람들을 위해 일하는 것과 비슷합니다. 많은 기업들이 혜택을 인식하고 있음에도 불구하고 습관을 버리는 것에 저항합니다. 사람들은 깨끗한 데이터가 시스템에 들어갈 수 있도록 시간을 할애하고 싶지 않지만 같은 사람들은 빨리 작업 할 수 있습니다 ...

Salesforce에서 캠페인을 만드는 방법 - Professional, Enterprise 또는 Unlimited Edition 사용자를 위해 제공되는 인형

Salesforce에서 캠페인을 만드는 방법 - Professional, Enterprise 또는 Unlimited Edition 사용자를 위해 제공되는 인형

Salesforce의 모듈은 마케팅 프로그램을 관리, 추적 및 측정하는 데 사용하는 일련의 도구입니다. 캠페인 레코드는 캠페인 레코드입니다. 수동 또는 자동으로 리드, 연락처 및 / 또는 기회 레코드에 링크하여 캠페인에 대한 실제 메트릭을 제공 할 수 있습니다.

편집자의 선택

표시 관련 기사 Joomla 웹 사이트 - 인형

표시 관련 기사 Joomla 웹 사이트 - 인형

Joomla의 또 다른 멋진 모듈은 기사 - 관련 기사. 기사 - 관련 기사는 사이트 방문자가 보려고 선택한 기사와 관련된 기사를 표시하는 모듈입니다. 이 모듈은 현재 기사와 관련된 기사를 어떻게 알 수 있습니까? 그것은 메타 데이터에 입력 할 수있는 메타 데이터 키워드를 사용합니다 ...

Joomla의 저자, ​​편집자 및 발행인 계정 만들기 - 더미

Joomla의 저자, ​​편집자 및 발행인 계정 만들기 - 더미

Joomla는 세 가지 프런트 엔드 사용자, 백엔드 사용자 및 그 중간에있는 특수 클래스의 사용자 클래스가 있습니다. 이 클래스에는 3 개의 사용자 그룹이 있습니다. 작성자는 기사를 제출할 수 있습니다. 편집자는 새 기사를 제출하고 기존 기사를 편집 할 수 있습니다. 게시자는 새 기사를 제출하고 기존 기사를 편집하며 기사를 게시 할 수 있습니다. Joomla 사이트 작성자 작성 ...