2012-07-05 2 views
-4

어떻게 다각형을 그릴 수 있습니까? 측면과 반경 만 주어진 경우. 나는 반지름과 변의 수를 입력으로 받아들이며 팝업을 그리는 팝업 상자를 만들어야한다. 그냥 수식이 필요합니다.폴리곤 좌표

+2

Google은 여기에서 가장 친한 친구입니다 ... 숙제 태그? – MoonKnight

+0

두 개의 정보를 추가하지 않고서는 : 꼭지점이나 중심 중 하나의 점, 폴리곤의 회전 각도 –

+0

@Killercam : 그리고 여자의. –

답변

3

반경이 r 인 원을 상상해보십시오. 무한 수의면을 가진 정다각형과 같습니다.

삼각법은 우리에게 알려줍니다 :

x = r * cos(a); 
y = r * sin(a); 

우리는 원에서 360도 또는 2pi 라디안가 알고있다. 이를 그리려면 angle = 0으로 시작하여 그 좌표를 계산하고 다음 각도로 한 단계 이동 한 다음 그 점을 계산 한 다음 두 점 사이에 선을 그립니다.

원의 가장자리를 중심으로 계산할 수있는 점이 많아서 결국 차이가 없습니다. 원이 충분히 작 으면 8 면도 둥글게 보입니다.

8 개의 양면 원을 그리려면 8 개의 점이 원 주위에 균등하게 간격을두고 있어야합니다. 원을 8 개의 각도로 나누십시오. 각 각도는 2 * pi/8 라디안입니다.

그래서 :

angle = 0.0; 
step = 2 * pi/8; 

for (n = 0; n < 8; n++) { 
    x = radius * cos(angle); 
    y = radius * sin(angle); 
    angle += step; 
} 

지금 당신은 일반적인 경우를 그릴 변경, 팔각형을 그릴 수 있습니다.