ANGLES 명령어

그럼, ASAP에서 3D Radian Sphere(3차원 광점 구면법) 처럼 구 표면을 동일한 각도로 나누어서 분석할 수는 없을까?  그림 12.39에 보면 왼쪽 그림이 이전까지 알고 있던 Direction Cosine 방법으로서 위치에 따라서 분할되는 범위가 서로 다르다. 그런데, 오른쪽 그림을 보면 천정각의 위치와 상관없이 분할된 영역은 항상 동일하다.

Directional Cos_ANGLES
그림 12.39  Direction Cosine을 ANGLES로 변환

ANGLES 명령어는 Display > Processing > Angles에 있다. ANGLES 명령어는 SPOTS DIRECTION에 의해 만들어진 분포 파일을 방향 코사인에서 구면 좌표로 변환시켜 주는 것으로 ANGLES 명령어에 앞서 SPOTS DIRECTION 명령어가 선행되어야 한다. ANGLES 명령어가 실행되고 나면 분포 파일(bro009.dat)의 사본(displaxx.tmp)이 만들어지고 이 파일을 방향 코사인에서 구면 좌표로 변환시켜 준다. 이 명령어는 내부적으로 데이터 변환만 일어나기 때문에 어떤 결과를 바로 보여주지는 않는다. 결과는 Display > Graphics 에 있는 명령어들을 이용해서 확인할 수 있다.

Directional Cos_ANGLES_02
그림 12.40  Angles 명령어 실행 전,후의 PICTURE 결과

그림 12.40은 ANGLES 명령어 실행 전후의 PICTURE 결과이다. ANGLES 명령어 실행 전에는 단위 평면에 투영된 결과이기 때문에 Lambertian 광원에 대해서 평면의 모든 Bin에서 동일한 결과를 얻었다. 그러나, ANGLES 명령어가 실행된 후에는 이 투영된 값을 구 표면으로 역투영하고, 동일한 크기의 각도로 분할해서 표시하기 때문에 광의 세기도 위치에 따라 달라지게 되고, 좌표도 -1~1이 아닌 -89~89인 각도 단위로 표시된다. Display > Graphics 의 다른 명령어도 실행해 보면 도(°) 단위로 변환된 것을 볼 수 있다.

그림 12.40을 다시한번 보자. ANGLES 명령어가 적용되어서 구 표면으로 역 투영되었다 하더라도 그림12.40의 오른쪽 그림은 2D 평면이다. 즉, 구 표면을 위에서 수직으로 내려본다면 ANGLES이 적용된 PICTURE라 할지라도 투영된 원 안에만 Rays가 도달하고 원 밖에는 Rays가 하나도 없어야 한다(그림 12.41 왼쪽). 그런데, 그림 12.41 오른쪽 그림을 보면 원 밖에도 rays가 존재하는것을 확인할 수 있다.

Directional Cos_ANGLES_03
그림 12.41  Angles 명령어에 의한 좌표 변환

그림 12.41의 왼쪽 그림은 구 표면에 역투영된 결과를 위에서 내려다 본 것으로써 각도에 따라 구 표면을 분할했을 때의 면적이 다르다는 것을 알 수 있다. 즉, 원의 바깥쪽으로 갈수록 흰 사각형의 면적이 작아진다. 그런데, 오른쪽 그림은 이 투영된 결과를 ANGLES 명령어를 통해서 다시 변환해서 흰색 영역의 면적을 동일하게 확장한 것이다. 이미 단위원에 투영된 결과를 확장하여 변환했기 때문에 데이터에 왜곡이 발생할 수 밖에 없다.

ANGLES 명령어를 실행한 후 DIRECTIONAL 명령어를 실행시켜 보자. 그림 12.42의 결과를 보면 그림 12.38과는 달리 각도에 따른 step별 폭이 동일하다는 것을 알 수 있다.

Directional Cos_DIR_03
그림 12.42 ANGLES > DIRECTIONAL 결과

결과 그래프 위의 Chart Bar 메뉴에 있는 Edit Chart Properties  Directional Cos_Edit Chart버튼을 눌러 Chart Editor 윈도우의 Series > Format > Line Mode: > Stairs를 체크해보자. 그러면 그림 12.42와 같은 그래프로 변경된다.

ANGLES 명령어를 실행하고 나면, bro009.dat 파일의 사본이 변경되기 때문에 원래 분포를 볼 수 없다. 다시 원래 분포로 돌아가고 싶으면 원본 파일인 bro009.dat 파일을 다시 읽어들여야 한다. Display > File > Open/Read… 메뉴를 선택하고 파일형식(T): 에서 All Files(*.*)을 선택하면 bro009.dat 파일이 보인다. bro009.dat 파일을 선택하고 열기 버튼을 클릭하면 된다.

Note…
ASAP은 사용자가 설정한 명령어가 이론적으로 오류가 있다 하더라도 이에 대한 에러 메시지를 표시해 주지 않는다. 그래서, 사용자가 전혀 엉뚱한 계산을 지시해도 결과를 계산해서 보여준다. 그래서 범할 수 있는 오류가 많이 있다.
Angles와 Directional 명령어도 이에 속한다. Angles 명령어도 영역 확장의 의미가 있고, Directional 명령어도 영역 확장의 의미가 있다. 그래서 Angles 뒤에 Directional 명령어를 사용하면 영역을 두번 확장하는것이 되어 전혀 엉뚱한 결과를 가져오게 된다.
그래서 Angles 위에 Directional을 사용하면 안된다.

   —

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: