아핀 변환이란 무엇입니까?


답변:


23

아핀 변환은 선형 변환 + 변환 벡터입니다.

[xy]=[xy][abcd]+[ef]

개별 점이나 선 또는 베 지어 곡선에 적용 할 수 있습니다. 선의 경우 평행 선이 평행을 유지한다는 속성을 유지합니다. 베 지어 곡선의 경우 제어점의 볼록 껍질 특성이 유지됩니다.

곱하면, 원래 쌍 과 상수 목록 에서 "변환 된"좌표 쌍 을 산출하기위한 2 개의 방정식을 생성합니다. . ( X , Y ) ( , B , C , D , E , F ) X ' = X + C Y +의 E(x,y)(x,y)(a,b,c,d,e,f)

x=ax+cy+ey=bx+dy+f

편리하게는 선형 변환 및 평행 이동 벡터를 2D 동종 좌표에서 작동 할 수있는 3D 매트릭스에 결합 할 수 있습니다.

[xy1]=[xy1][ab0cd0ef1]

위의 동일한 두 방정식을 산출합니다.

매우 편리하게 , 행렬 자체는 함께 곱하여 원래의 2가 순차적으로 수행하는 것과 동일한 변환을 수행하는 (상수의) 제 3 행렬을 생성 할 수있다. 간단히 말하면, 행렬 곱셈은 연관성이 있습니다.

[xy1]=([xy1][ab0cd0ef1])[gh0ij0km1]=[ax+cy+ebx+dy+f1][gh0ij0km1]=[g(ax+cy+e)+i(bx+dy+f)+kh(ax+cy+e)+j(bx+dy+f)+m1]T=[xy1]([ab0cd0ef1][gh0ij0km1])=[xy1][ag+biah+bj0cg+dich+dj0eg+fi+keh+fj+m1]

또는 몇 가지 기본 변환 유형을 고려하고 이들을 결합하여 더 복잡한 변환을 구성 할 수 있습니다.

신원 변환

정체성 변환

[100010001]

스케일링

스케일링

[Sx000Sy0001]

* 참고 : 스케일링 매개 변수 또는 하여 반사를 수행 할 수 있습니다 .(Sx,Sy)=(1,1)(1,1)

번역

번역

[100010TxTy1]

y에 의한 스큐 x

y에 의해 x 기울이기

[1Qx0010001]

y를 x로 기울이기

y를 x만큼 기울이기

[100Qy10001]

회전

회전

[cosθsinθ0sinθcosθ0001]

[참고 : 여기 왼쪽 에 행 벡터를 허용하는 Matrix 형식이 표시되었습니다 . 이 행렬의 조옮김은 오른쪽의 열 벡터와 함께 작동합니다.]

스케일링, 회전 및 변환으로 순수하게 구성된 행렬 은이 세 가지 구성 요소로 다시 분해 될 수 있습니다 .


5
좋은 대답입니다. 아핀 변환에 대해 생각할 수있는 한 가지 방법을 추가하면 평행선을 평행하게 유지하는 것입니다. 따라서 스케일링, 회전, 변환, 전단 및 조합은 아핀으로 간주됩니다. 원근 투영은 비 계통 변환의 예입니다.
ap_

2
사진을 추가 할 수 있습니다. 당신이하지 않을 경우 : P 또한 행렬의 순서를 언급하는 것이 좋으며 행 / 열 방향은 임의적입니다. 그리고 3d에서의 회전은 계산적이지 않습니다.
joojaa

2
@joojaa 나는 그림을 만들었다! 포스트 스크립트 소스
LUSER는 droog

1
강체 변환은 아핀 변환의 하위 집합이고 아핀 변환은 원근 변환의 하위 집합이라는 점도 언급 할 가치가 있습니다.
user1118321

나는 이것을 한 번에 한 번씩 계속 다시 읽고 꽤 말할 수는 없지만 왜곡 설명이 잘못 설명되었을 수 있습니다. 왜곡이 혼동됩니다. 누구든지 이것을보고 편집을 원한다면 그 부분을 분명히 해주세요!
luser droog
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.