직각삼각형의 경우 a^2=b^2+c^2이라는 유명한 공식이 있습니다. 이거 증명하는 방법도 31가지나 나와 있습니다.
여기서 a는 가장 긴 변(직각인 각을 마주보고 있는 변)이고, b와 c는 직각을 끼고 있는 나머지 2개 변입니다.
직각삼각형이 아닌 경우는 위 공식이 좀 변형되는데(삼각함수가 추가), 생각이 안나네요.
그리고 비 직각삼각형의 경우 면적을 구하는 공식이 1/2 * a * b * sin (alpha)가 됩니다.
alpha는 삼각형의 어느 한 각의 각도, a와 b는 그 각도를 끼고 있는 변입니다.
두개 변과 각 두개 알고 있으면 이걸 응용해서 다른 변 길이 알아내버릴 수도 있습니다.
수학문제같네요.직
수학문제같네요.
일단 직사각형의 각 변의 길이를 구할때 주변 다각형이 직각삼각형이라면
직각삼각형의 경우 a^2=b^2+c^2이라는 유명한 공식이 있습니다. 이거 증명하는 방법도 31가지나 나와 있습니다.
여기서 a는 가장 긴 변(직각인 각을 마주보고 있는 변)이고, b와 c는 직각을 끼고 있는 나머지 2개 변입니다.
직각삼각형이 아닌 경우는 위 공식이 좀 변형되는데(삼각함수가 추가), 생각이 안나네요.
그리고 비 직각삼각형의 경우 면적을 구하는 공식이 1/2 * a * b * sin (alpha)가 됩니다.
alpha는 삼각형의 어느 한 각의 각도, a와 b는 그 각도를 끼고 있는 변입니다.
두개 변과 각 두개 알고 있으면 이걸 응용해서 다른 변 길이 알아내버릴 수도 있습니다.
만일 삼각형이 아니다. 그러면 삼각형으로 쪼개면 됩니다.
궁금하시면 고등학생이 보시는 "수학의 정석"을 보심이.
Written By the Black Knight of Destruction
Written By the Black Knight of Destruction
각 꼭지점의
각 꼭지점의 x좌표/y좌표 최솟값/최댓값을 구하면 될 것 같은데 한번 해보시죠; 대충 의사 코드로 이렇게?
문제 정의가 불명확합니다
다각형에 외접하는 "x/y축에 평행한" 직사각형이라면 위의 ditto 님 방법대로 하시면 될 테고,
다각형에 외접하는 "임의 방향의" 직사각형이라면 일단 다각형을 완전히 둘러싸는 볼록다각형(convex hull)을 구한 뒤 직사각형 틀을 조금씩 돌려가면서 가장 면적이 작아지는 방향을 찾으면 되겠네요.
기하 과련 알고리즘의 특성이 말로 하면 한줄인데 코드를 짜면 케이스가 구만가지씩 나오는 거라 pseudocode는 자신없습니다. 알고리즘 책을 찾아보시는 게 빠를 듯. -_-;; (Convex hull로 찾아보면 아마 뭔가 관련된 것들이 있을 것 같네요.)
아-_- 진짜 그렇게
아-_- 진짜 그렇게 하면 되는군요.
아무래도 ditto님 답변 보니까 제가 오늘 최대한 멍청해진듯-_-
(의도는 x, y축에 평행한 직사각형입니다.)
--
임수서룬뫼 윤희수 {cppig1995/돼지군}
Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.
댓글 달기