디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

3d 회전행렬-쿼터니온 잘됨

핫산테크갤로그로 이동합니다. 2021.12.09 01:19:17
조회 104 추천 1 댓글 2
							

회전행렬

xyz오일러방식은

롤 피치 요 방식으로 회전하고

이순서대로회전하면 xyz 월드 축 써도 문제없단걸 확인함.오호..

보통 모델 로드하고보면 어떻게든 이런 회전을 하는게 유리할 때가 있어가지고

가령 소파를 불러왔더니 막 뒤집어져있다던가

혹은 혼자 뱅뱅도는 모델을 간단히 구현한다던가.



3ebcc623da806af620afd8b236ef203e31a209aa3ce5dc

이게 그 회전 코드야.

왜 비슷한게 두개냐면

지금하는건 화면 위쪽이 y축인데,

보통 3d게임들은 화면위쪽을 z축으로 두고 그럼.

그럴때 함수가 다 꼬이니까 호환되도록 한 결과야.


파이썬은 다른코드에서 함수 가져올때

IMPORT XXX AS YYY

라고 하면 xxx라는 함수를 yyy라는 글자로 사용가능해.

그래서 불러 올 때 둘 중 하나중에 고르기만해서 불러오면

동작시엔 같은 코드로 사용이 가능하다 이거야!

a0513caa1806b27e8e34164e295dfbe186c70464335200b11acaeb0e8675828ddf892e29f69c20eee068c7b6

실제로, 바닥을 불러왔더니 이렇게 수직으로 서있어서,

이걸 다시 바닥으로 낮추려면 x축으로 90도 회전 해야했는데, 그걸 수행함.

이런식으로 쓰이지뭐.


이게 모델들이 향하는 방향이라던가랑 별개로 취급하는게 좋겠더라.

일단 모델 자체에서 회전하는게 필요해보였음.

실제로 하고나니까 잘 한것같다.넘편해짐.




a0513caa1806b27e8e34164e295dfbe186c70464335200b11acae813d86b8baa7c21e51dc649a83172ff

다음으론 쿼터니온인데

잘 모르겠지만 잘 했다.


식이 어이없이 쉽더라. 내재된 수학적 유도과정은 안 보는게 나을 지경이다만

실제 코드 쓰는입장에선 어이없이 쉽게 되었어. 놀랐음.

이게 중간고사 학교과목 따위로 나왔으면 유도과정 그런게 나왔으려나

근데 이거 넘 심오한 개념이래서 나오지도 않겠지; 수학과에서나쓰려나

이런 심오한걸 할 시간에 다른걸 하는게 나은것이야!



아무튼

쿼터니온은 가상의 특정 축을 기준으로 회전을 하는 ..방식이라 보면 되겠고

막 단위쿼터니온이어야 어쩌고 말나오지만 적당히 무시하고 넘기자..

길이가 1이어야함. 각요소의 유클리드 거리인것이야.

루트( x^2+y^2+z^2+W^2 ) 로 나오다니 넘멋지다.


axis x,y,z 하고

각 th

가 있으면

x,y,z  = axis * sin(th/2)

w  =  cos(th/2)

를 구한 뒤에, 아래 행렬을 만들면 그게 바로 4x4 회전 매트릭스야.

x,y,z가 아닌 특정 축을 기준으로한 회전 행렬.

회전각 이란게 /2 로 나눠지고 cos 이나 sin 으로 값처리되는게 핵심임.간단하네뭐


a0513caa1806b27e8e34164e295dfbe186c70464335200b11acae913d86b8baa7e51ebaa534750599ee2

이렇게생겨서 ..이게다라고?? 싶었는데 정말 그냥 됨;어이없다허

이전에 한 PERSPECTIVE PROJECTION MATRIX 가 더 어려웠네!


3ebcc623da8069fe20afd8b236ef203ebd77a129d19720

실제 코든데, 이게 전부야!

되게 금방됨. 글자도 심지어 복붙해가지고 1분만에 작성함.

NORM 이 길이 구하는건데  축을 norm으로 나눠줘야 길이가 1인 쿼터니온이 돼.


근데 축이 0,0,0 으로 주어지면 길이가 0이라서 DIV BY ZERO 에러가 발생해서

0아닐때만 나누게 처리해줌.

3ebcc623da8069ff20afd8b236ef203ef6dbfe23e7d424

방향벡터1을 방향벡터2를 바라보게 회전하는 행렬 함수야.

이게 핵심인게, 이걸 사용해서

드디어, 드디어 3ds 게임추출한것의 카메라 데이터를 재생 가능함.

뭔가 마음먹은것에비해 너무 어이없이 쉽게 되어서 허탈하긴 하지만;


a0513caa1806b27e8e34164e295dfbe186c70464335200b11acae80d8675828dbb764e7169620ad7dd0986

카메라가 보는 시점에서 펭귄을 발사하도록 했더니

펭귄들이 전부 나를 바라보고있게됨.

난 날아가는걸 원해서 방향이 반대가 되면좋겠어.

a0513caa1806b27e8e34164e295dfbe186c70464335200b11acae80f8675828dc5b6b39de11326ddfbb04f

근데 잘 보니 역시 오류더라. 왼쪽의 화살표보면 펭귄머리방향이랑 반대방향임.

고심끝에 모델 내보내기 세팅이 잘못된거아닌가 했더니 정말 그랬다.후후후.


블렌더 내보내기는 타겟 시스템 좌표계에 맞추면 되는거였고

지금 위방향 up 벡터는 화면 위니까 y축이고

front는, 모델기준으로, 펭귄머리방향은 화면으로 뚫고 들어가는 방향이었으면 함.

지금 쓰는 opengl 프로그램 에선 화면 깊이방향은, -z 방향이야.

아무튼 이해잘했고 잘됨.


a0513caa1806b27e8e34164e295dfbe186c70464335200b11acae80c8675828d54cf7b4f5cee0184eb2fe6

실제로 값을 뽑아봤더니,

카메라 정면 방향이, 1,0,0 근사값으로 제대로 나오는데도 펭귄이 나를 바라보고있길래

여기코드문제는 아니구나 함.이런 탐정같은 추적이 자주 있는데 넘 재밌음ㅎㅎㅎ

a0513caa1806b27e8e34164e295dfbe186c70464335200b11acae80e8675828dc95b5578cde6d241f4211c7c

그래서 수정한 결과야. 펭귄 다리가 잘 보이지.

이제 어디로 쏘든 다 펭귄 다리만 보여. 펭귄 미사일인거네.

18

초당 60번, 매 펭귄을 그릴 때 마다, 펭귄이 향하는 front 로 회전하는 행렬을 생성해서,그걸 곱해주는것이야.


이제 자체추진 유도미사일만 간단히 구현 해 보고 넘어가야지..흐흐흐..


3ebcc623da8069f120afd8b236ef203ebf9f03e8e84f2236

어제 프렌즈 카렌지마편 보는데 아이빌리브 부부싸움하느라 초반 출발안해서 어이없었다 기억도안났는데.

내심 마지막에 차 고장났을때 혹시..? 했는데 역시아녔어.

13


추천 비추천

1

고정닉 0

1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 돈자랑, 명품자랑 그만했으면 하는 SNS 스타는? 운영자 22/01/25 - -
공지 ★환영합니다~ 아이카츠! 갤러리 입니다~★ [30] MIA갤로그로 이동합니다. 16.04.20 25727 93
공지 아이카츠! 갤러리 이용 안내 [16] 운영자 16.04.07 24863 16
205113 라키야 아빠 성과급이 들어왔어 [5] 에이미남편갤로그로 이동합니다. 19:22 45 0
205112 라임이 시절이 전성기였긴 하구나 [2] 메로네아스갤로그로 이동합니다. 19:12 37 1
205111 미오하요 ㅇㅇ(223.33) 02:11 40 1
205110 슈비두비랑 네버네버 풀버전 앨범은 안 내려나 [3] ㅇㅇ(223.62) 00:59 56 0
205109 오야스미레 [1] ㅇㅇ(223.62) 00:02 42 2
205108 린 발 [1] 에이미남편갤로그로 이동합니다. 01.24 74 3
205107 진짜 축제편 더빙 짤린 거 참 아쉽다. [3] 메로네아스갤로그로 이동합니다. 01.24 94 1
205106 사요나라와 이라나이~ [1] 메로네아스갤로그로 이동합니다. 01.24 44 0
205105 미오하요 ㅇㅇ(223.62) 01.24 47 2
205104 아이카츠 세카이에 데려다줘~~!!!! 쇼콜라푸딩갤로그로 이동합니다. 01.24 59 0
205103 첫 입덕 15년 ㅇㅇ(58.232) 01.24 57 0
205102 아이엠스타 초딩때 좋아했는데 [1] ㅇㅅㅇ(125.139) 01.23 79 2
205101 오야스미레 ㅇㅇ(223.62) 01.23 46 1
205100 기적적으로회복 핫산테크갤로그로 이동합니다. 01.23 76 4
205099 플래닛때 항마력딸려서 탈주했는데 [1] ㅇㅇ(124.54) 01.23 81 2
205098 미오하요 ㅇㅇ(223.62) 01.23 49 2
205097 아이카츠 애니는 삭제해도 [4] ㅇㅇ(59.5) 01.23 118 2
205096 오야스미레 ㅇㅇ(223.62) 01.22 53 3
205095 아이엠스타4기 다시받아가세요! [2] ㅇㅇ(211.58) 01.22 129 11
205094 오늘 다시태어난 센세이션 메로네아스갤로그로 이동합니다. 01.22 76 3
205093 코-카이 난테 젯타이~!!! [1] 쇼콜라푸딩갤로그로 이동합니다. 01.22 98 2
205092 미오하요 ㅇㅇ(223.38) 01.22 62 3
205091 오늘은 무슨 날? 메로네아스갤로그로 이동합니다. 01.22 77 2
205089 알리익스프레스 아이카츠탐방 [7] 핫산테크갤로그로 이동합니다. 01.21 123 3
205088 1,2기 꺠진파일 큰일났다사건 [1] 핫산테크갤로그로 이동합니다. 01.21 115 7
205087 오야스미레 ㅇㅇ(223.62) 01.21 60 2
205086 헐 1080p 안깨진부분도 화질저하 [4] 핫산테크갤로그로 이동합니다. 01.21 160 8
205085 미오하요 ㅇㅇ(223.62) 01.21 65 2
205084 탈주한 애들 다 돌아왔으면 좋겠다 [7] ㅇㅇ(211.36) 01.21 240 9
205083 아이엠스타 1기 일부도 받아가세요 [2] ㅇㅇ(211.58) 01.21 131 8
205082 본인 아이카츠 무인편 다날림 [4] ㅇㅇ(59.5) 01.21 119 1
205081 네이버에 아이카츠 카드지갑 파는데 살까 메로네아스갤로그로 이동합니다. 01.21 64 1
205080 그래도 미러라보라도 있어야지 메로네아스갤로그로 이동합니다. 01.20 61 1
205079 님도라 아리아 머리 모양 조금 이상하지안나영..? 쇼콜라푸딩갤로그로 이동합니다. 01.20 91 0
205078 오야스미레 ㅇㅇ(223.38) 01.20 71 3
205077 미러인라보 2월 17일날 다시 한대 [4] あかり갤로그로 이동합니다. 01.20 112 4
205076 다른 아이돌물들도 악역없고 좋은 분위기임? [7] ㅇㅇ갤로그로 이동합니다. 01.20 186 8
205075 지금 cpu gpu풀가동중 [3] 핫산테크갤로그로 이동합니다. 01.20 85 3
205074 미오하요 [1] ㅇㅇ(223.62) 01.20 78 2
205073 오야스미레 ㅇㅇ(223.38) 01.20 66 3
205072 오랜만에 들으니까 좋은 곡 많네 [5] 아이개미갤로그로 이동합니다. 01.19 127 5
205071 아이엠스타 2기,4기 일부 [4] ㅇㅇ(211.58) 01.19 227 11
205070 세이라 그렸음 [4] 선정TV갤로그로 이동합니다. 01.19 107 4
205068 설정집 찾아 봤다 [3] 핫산테크갤로그로 이동합니다. 01.19 117 3
205067 근데 드림아카데미와 스타라이트에는 화장실이 없음? 선정TV갤로그로 이동합니다. 01.19 79 0
205066 했는데 정작 원본 1080P 소리가 오류 [9] 핫산테크갤로그로 이동합니다. 01.19 127 2
205065 미오하요 [1] ㅇㅇ(223.38) 01.19 81 3
205064 1,2,4 기는 공유 안해주시나요? ㅠ [2] ㅇㅇ(106.101) 01.19 112 1
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

힛(HIT)NEW

그때 그 힛

1/3

뉴스

디시미디어

1/2