가능한 중복 크기를받는 방법 : 는 회전 된 사각형의
Calculate Bounding box coordinates from a rotated rectangle, Picture inside.
이미지 를 연결 하지만 어떻게 당신이
가능한 중복 크기를받는 방법 : 는 회전 된 사각형의
Calculate Bounding box coordinates from a rotated rectangle, Picture inside.
이미지 를 연결 하지만 어떻게 당신이
a = abs(x * sin(o)) + abs(y * cos(o))
b = abs(x * cos(o)) + abs(y * sin(o))
이것은 나를 위해 작동하지 않는다. 주어진 :'O = 75, Y = 39, X = 105', 결과는'A = -4.76877, B = 81.66039'이다. 이는 분명히 부정확하다. – Campbeln
라디안 단위입니다. 따라서도 단위를 라디안 단위로 변환하십시오. (Google의 계산기는 이것을 수행합니다.) – Souleiman
죄송합니다, 정확하지 않습니다 - 라디안으로 표시됩니다. 나는 당신의 대답에 abs() 용어를 추가했다. (오리지널 버전은 오산으로 이어진 "a = x * sin (o) + y * cos (o)"및 "b = x * cos (o) + y * sin (o)) 위의 그림에서 Campbeln이 설명합니다. – Jpsy
원래 사각형의 면적을 계산 감사
B, 난을받을 수 있나요. 회전에 따라 면적이 변하지 않습니다.
사용 [헤론의 공식 삼각형 영역 계산기] s = (a + b + c)/2
또는 삼각형
a=SquareRoot((X1-X2)^2+(Y1-Y2)^2) [Side 1 Length]
b=SquareRoot((X1-X3)^2+(Y1-Y3)^2) [Side 2 Length]
c=SquareRoot((X2-X3)^2+(Y2-Y3)^2) [Side 3 Length]
X1,Y1,X2,Y2,X3,Y3
모든 세 지점의 배위이다
A = SquareRoot(s * (s - a) * (s - b) * (s - c))
(모서리)의 둘레의 1/2
RectangleArea=2*A
또는 Dir [Heron 's Formula Triangle Area Calculator]가 없으면 여기에 일련의 점들이 중요합니다.
P1----P2
| |
P3----P4
a=SquareRoot((X1-X2)^2+(Y1-Y2)^2) [Side 1 Length]
b=SquareRoot((X1-X3)^2+(Y1-Y3)^2) [Side 2 Length]
RectangleArea=a*b
그럼 세부 사항을 많이 설명하지 않았습니다. 사각형의 높이와 너비가 회전에 관계없이 영역을 제공한다는 것을 알고 있다고 가정합니다. x, y 데이터 포인트 만있는 경우 sqrt((x1-x1)^2 + (y1-y2)^2)
을 사용합니다. 측면의 길이를 얻으려면.
당신은 질문을 명확히 했으므로 사각형이 있고 왼쪽 상단 모서리의 각도가 위쪽에서 회전되어 왼쪽면이 이렇게 보입니다.
/
/
A = 사인 (알파) * 너비
B = 코사인 (알파) * 너비
C = 사인 (알파) * 높이
D = 코사인 (알파) * 높이
너비 = a + d
높이 = b + c
각도를 올바르게 지정했는지 여기에서 분명히 알기 어렵습니다. 만약 다른 각도를 얻을 경우는
폭 나올 = B + C = A + 회전 사각형의 축 정렬 상자 용 D
, 사용자가 각각의 최소 및 최대 값을 찾을
높이 4 개의 회전 된 좌표. minX와 minY는 1 코너가되고 maxX와 maxY는 다른 코너가됩니다.
축 정렬 경계 상자를 구성하려면 회전 된 상자의 극점을 찾아야합니다. (0,0), P2 = (x, 0), P3 (x, y), P4 (0, y), 회전 된 'R'에 의해 주어진 직사각형 'P'가 주어지면,
도; 박스 [(minX, minY), (maxX, maxY)]가 회전 된 'P'를 완전히 구속하도록 minX, maxX, minY, maxY를 찾습니다.
+-------P3'----+maxY
| / \ |
P4------P3 | / \ |
| | rotate |/ P2'
| | => by 'R' => P4' /|
| | degrees | \ /|
P1------P2 | \ / |
| \/ |
+-----P1'------+minY
minX maxX
경계 상자의 값은 회전 된 점 P1 '.. P4'의 구성 요소의 최소/최대 값입니다. 당신이 그것을 회전하기 전의이 같은 지역이야 - 따라서, 2 차원 회전에 대한 설명
minX=min(P1'[x],P2'[x],P3'[x],P4'[x])
maxX=max(P1'[x],P2'[x],P3'[x],P4'[x])
minY=min(P1'[y],P2'[y],P3'[y],P4'[y])
maxY=max(P1'[y],P2'[y],P3'[y],P4'[y])
는, 음 ...
http://en.wikipedia.org/wiki/Transformation_matrix#Rotation를 참조? –
동일한 방식으로 회전하지 않은 것으로 계산했습니다. 회전은 크기를 변경하지 않습니다 : p –
모서리 나 다른 좌표의 좌표를 얻는 것처럼 "차지하는 영역"을 의미합니까? – integer