2011-09-30 3 views
2

개체를 회전 할 때 일반적인 문제가 있습니다. 설명은 I 및 POINT1 POINT2
POINT1 = (50,50)
POINT2 = (150, 50)
이 점은 수평선을 그리는 것 생각한 두 CGPoint 촬영 한
아래와 같이 주어진다.개체 회전이 적절하지 않습니다 - iPhone 응용 프로그램

이제 그 지점을 지닌 직사각형을 그립니다. 폭은 100이고 높이가 10 각도가 0
화면이
enter image description here


지금 내가 말할
POINT1 = (50,50)
POINT2 = (50150) 포인트하자를 변경 잘 작동 샷 참조입니다
이 점은 수직선을 그립니다. 사각형의 각도


화면이
enter image description here

샷 볼이 점 사각형이 제대로 그리기되지와 90
입니다

사각형을 그리기에 대한 나의 코드는 다음과 같습니다 여기

CGPoint mid = CGPointMake((point1.x+point2.x)/2, (point1.y+point2.y)/2) 
    CGPoint UL = CGPointMake(mid.x + (Width/2) * cos (A) - (Height/2) * sin (A) , mid.y + (Height/2) * cos (A) + (Width/2) * sin (A)); 
    CGContextMoveToPoint(context, UL.x,routeView.frame.size.height - UL.y); 
    CGPoint UR = CGPointMake(mid.x - (Width/2) * cos (A) - (Height/2) * sin (A) , mid.y + (Height/2) * cos (A) - (Width/2) * sin (A)); 
    CGContextAddLineToPoint(context, UR.x,routeView.frame.size.height - UR.y); 
    CGPoint BR = CGPointMake(mid.x - (Width/2) * cos (A) + (Height/2) * sin (A) , mid.y - (Height/2) * cos (A) - (Width/2) * sin (A)); 
    CGContextAddLineToPoint(context, BR.x,routeView.frame.size.height - BR.y); 
    CGPoint BL = CGPointMake(mid.x + (Width/2) * cos (A) + (Height/2) * sin (A) , mid.y - (Height/2) * cos (A) + (Width/2) * sin (A)); 
    CGContextAddLineToPoint(context, BL.x,routeView.frame.size.height - BL.y); 
    CGContextAddLineToPoint(context, UL.x,routeView.frame.size.height - UL.y); 

    CGContextStrokePath(context); 

A는 각도이며 그것은 정적이 아니고 중간은 point1과 point2의 중점입니다

더 많은 참조 see this

나는 뭔가를 놓친가요? 당신이 어떤 생각을 가지고 있다면 제발 도와주세요 .......

덕분에,

+0

'A'의 값은 무엇입니까? –

+0

a는 각도 : 첫 번째 경우 0, 두 번째 경우 90 ° – Jane

답변

2

는 내가 맞춰 보자, 실제로는 바로, 너무 멀리 약 26도 회전이야?

(90 X 180)/PI는 ~ = 5156.62 = (x 14 인치 360) + 90 + 26.62

당신은 실수로 90 라디안 회전.

+0

덕분에 라디안 변환의 정도를 다시 한번 잊어 버렸습니다 ...... :) – Ankur