2009-06-24 3 views
0

아마도 여기에 내가 어디로 갈지 알 수 있습니다. 그러나 어떤 것이 있습니까 두 행에서 각각 CGPoints로 표현되는 CGAffineTransform을 생성하는 방법 :두 행의 CGAffineTransform - 각각 CGPoints 한쌍으로 표현됩니다.

A[(a1x,a1y), (a2x,a2y)], 
B[(b1x,b1y), (b2x,b2y)] 

결과 CGAffineTransform은 라인 A에 적용될 때 물론 라인 B를 생성합니다. 변환, 스케일 및 회전이 잠재적으로 포함될 수 있습니다.

필자는 삼각대를 닦은 후에이 글을 쓸 수 있기를 바랄 것이지만, 이미이 기능을 사용할 수 있는지 궁금합니다.

참고 : 나를 위해이 글을 쓰지 않아도됩니다. 핵심 그래픽 트릭을 놓치고 싶지 않습니다.

답변

1

네, 번역은 2 개이고 작업 및 방향 당 하나는 2 개입니다. 이는 모두 크기의 변환을 계산하지 않고 계산 한 것입니다.

“The Math Behind the Matrices” (Quartz 2D Programming Guide)은 각 작업의 작동 방식에 대한 개요입니다. 그것으로부터 그것을 반전시키고 원하는 조작과 방향에 대한 행렬을 제시 할만큼 충분히 단순해야합니다.

물론 나는 당신이 필요하지 않습니다

... 일부 삼각에 브러시 업 후이에게 자신을 쓸 수 있기를 희망 회전을 제외하고 그.

+1

참고해 주셔서 감사합니다. 그러나 제 질문이 충분히 명확하지 않아서 제가 그것을 개정했다고 생각합니다. 두 점 사이의 변환이 회전을 포함 할 수 있도록 한 쌍의 점은 각각 선을 나타냅니다. – teabot

+0

아, 알겠습니다. 그래, 가능해 보인다. 척도는 쉽다 : 길이 B를 길이 A로 나눈다. 회전 : 각 선의 각도를 취한 다음 다른 각도에서 한 각도를 뺍니다. 번역 : 선의 중심점을 가져 와서 다른 점을 뺍니다. 가장 까다로운 부분은 매트릭스를 올바른 순서로 모으는 것입니다. 먼저, 나는 * 생각한다. –

+0

감사합니다. 그게 내가 할 일입니다. – teabot