저는 멀티 터치 WPF 응용 프로그램을 가지고 있으며 그 중 일부 회전을하고 싶습니다. ManipulationDelta
의 문제인 ManipulationOrigin
은 항상 두 손가락 사이의 중심이지만 고정 된 손가락 주위로 움직이는 손가락으로 회전하고 싶습니다.회전 손가락의 회전 지점 변경 변경
예 : Finger1 화면에 고정 Finger2 필요 Finger1 지점에서 중심으로 그 주위에 회전을 진행한다. 그러면 손가락 2가 고정되고 손가락 1이 돌아갑니다. 이제 센터가있는 회전이 손가락 2 포인트가됩니다. 모든 것들은 손가락이 항상 화면에 있기 때문에 ManipulationStarted
과 ManipulationCompleted
의 한 세션 사이에서 이루어집니다.
이제 이전 위치와 새 위치 사이의 벡터를 계산하고 손가락 주위를 회전하려고합니다.이 위치는 최소로 변경되었습니다. 그것은 잘 작동하지만, 잘 작동하지 않습니다.
더 좋은 방법으로 매 순간 올바른 회전 지점을 얻는 방법에 대한 아이디어가 있습니까?
UPD : MSDN 예 (클레멘스의 코드)의 문제 - Finger1 고정하면서 Finger1 아래 사각형, 그 위치의 변화.
화면에 고정 된 손가락 1과 손가락 2.
이 Finger2이
Finger1
중심으로 회전 UPD2 : 나는 회전을 할 경우 주위e.Menipulators.First().GetPosition(RotatingControl)
모든 것이 OK입니다 . 문제는 그 손가락이 바뀔 수 있고 지금 어떤 손가락이 움직이고 있는지를 알아야합니다. 어려운 문제는 아닙니다. 하지만 때로는 두 손가락이 회전하는 경우가 있습니다.이 경우 회전이 발생해야합니다.
사용자가 Finger1을 고정하고 Finger2를 움직이는 부품 회전을 시작한 다음 Finger2를 수정하고 Finger1을 움직이는 경우 어떻게 작동합니까? 회전 포인트는 조작 당 한 번 고정해야합니까? 아니면 동적이어야합니까? –
현재 회전하는 손가락에 따라 동적으로 변경해야합니다. – igofed