-
Notifications
You must be signed in to change notification settings - Fork 1
Plane_uv
Hyoj-Kim edited this page Apr 6, 2022
·
3 revisions
![Screen Shot 2022-04-06 at 5 55 18 PM](https://user-images.githubusercontent.com/76509884/161936673-0f2bcd08-a1c6-4772-b7f6-6f054faa8a67.png)
3차원 공간에서 표현되긴 하지만, 사실 plane은 그 자체로 이미 2차원이다.
따라서 평면에서의 가로축과 세로축의 값을 1을 기준으로 fmod해주면 uv map 계산이 끝난다.
대신 3차원이기 때문에 중간단계에서 계산이 필요할 수 밖에 없는데, 바로 normal vector를 기준으로 평면의 u, v 방향 vector를 정해주어야 한다는 것이다.
평면이 x, y, z축에 언제나 평행한 평면으로 존재하지는 않기에 카메라 좌표계를 계산한 것과 동일하게 두 번 외적 해주는 것으로 평면 기준의 u, v vector를 구해준다.
카메라 좌표계에서 기본이 되는 값을 하나 정해서 사용했으니, 여기에서도 (1, 0, 0)을 이용해 계산해주자.
(마찬가지로 normal vector가 이 값과 평행하다면 (0, 0, 1) 등의 값으로 변경해서 계산하자.)
![Screen Shot 2022-04-06 at 5 54 45 PM](https://user-images.githubusercontent.com/76509884/161936741-586ca22e-787b-48a2-9972-fdfcbcc7eab3.png)
이렇게 u, v축이 구해지면 임의의 점 p에서 각 축으로 정사영된 길이인 내적값을 이용해 uv map에서 사용할 좌표를 계산하면 된다.
![Screen Shot 2022-04-06 at 5 54 54 PM](https://user-images.githubusercontent.com/76509884/161936816-54c3525b-f8c3-4566-ac8e-019951b409ef.png)
@hyojekim @cjang