[CesiumJS] Cesium의 주요 객체의 구조와 프로퍼티, 메소드 정리

Chrisko·2023년 10월 12일
0

TS, JS 라이브러리

목록 보기
2/3

Viewer

파라미터로 입력한 Terrain 객체를 Viewing하는 클래스.
기본 튜토리얼로 작성할 경우 지구본이 나타나게 된다.

viewer 객체를 만들면?

  1. scene, camera, clock 객체가 생성된다.
  2. camera는 각도값을 갖고(바라보는 각도) 좌표를 설정할 수 있다.
  3. clock 객체는 시간값을 가지며 애니메이션과 시뮬레이션에 동기화용으로 사용할 수 있다.

Camera

Viewer 객체의 프로퍼티 객체. 말그대로 카메라다.
하위 메소드 setView()와 flyTo()로 좌표를 이동할 수 있다.

viewer.camera.setView() // 순간이동
viewer.camera.flyTo()   // 이동시 애니메이션
// 파라미터 입력 예시
viewer.camera.flyTo({
    destination: Cesium.Cartesian3.fromDegrees(longitude, latitude, height),
    orientation: {
        heading: ... ,
        pitch: ... , // pitch, roll, yaw에서의 pitch인듯.
    }
})

viewer.camera와 viewer.scene.camera의 차이?

아무런 차이도 없음. scene.camera 객체가 viewer에도 동일하게 들어있는 것.


Model

.glb, .gml 등의 3D Modeling File을 담는 객체.


Scene

viewer.scene의 형태.

Scene의 주요 Properties와 Methods

camera → 현재 view의 camera.
primitives → view에 렌더링된 기본 객체(지형, 3D Model)들의 컬렉션.
globe → view의 지구 모델. 모양과 텍스처, 조명 등을 설정.
skyBox → 하늘 박스와 대기의 시각적 표현.
skyAtmosphere → skyBox와 동일.
render() → view를 즉시 렌더링한다.
pick() → 지정된 좌표에서 객체를 선택하고 정보를 return한다.


Clock

Cesium.Clock 인스턴스를 참조한다.
시간의 흐름을 제어하고 애니메이션, 시뮬레이션을 동기화하는데 사용한다.

onTick 이벤트(viewer.clock.onTick 형태)

viewer.clock의 시간이 변경될 때마다 호출된다.
하위 메소드로 addEventListener()를 쓸때 이벤트 명이 생략된다.


CesiumJS에서 사용하는 좌표계, 좌표 클래스에 관하여

Cartesian3.fromDegrees()와 Cartesian3.fromRadians()의 차이?

파라미터 입력 방식이 다를 뿐 두 메소드는 동일하게 데카르트 3D 좌표를 반환한다.
fromDegrees는 360º 각도계의 위상 값을 입력받는다. (경도, 위도, 고도)
fromRadians는 Radian 각도계의 위상 값을 입력받는다. (경도, 위도, 고도)

Radian 계산 방식

Radian은 원의 한 변두리 지점에서 r만큼 이동한 거리까지의 각도(원의 중심을 기준으로 한)를 1로 둔다.
∴ Radian의 1.0은 약 57.3º이다.

0개의 댓글