내가 그것은`는 기본적으로 모든 다각형 점 라인에 위치한다는 사실을 다루는 것 같아요 육각 등 삼각형, 사각형, 오각형, 같은 일반 다각형을 그립니다 원의
Polygon 객체의 N 포인트를 계산하는 알고리즘은 무엇입니까? 일반 폴리곤을 그린 후에 첫 번째 폴리곤을 기준으로 다른 일반 폴리곤을 그려야하지만 K도 회전됩니다.
내가 그것은`는 기본적으로 모든 다각형 점 라인에 위치한다는 사실을 다루는 것 같아요 육각 등 삼각형, 사각형, 오각형, 같은 일반 다각형을 그립니다 원의
Polygon 객체의 N 포인트를 계산하는 알고리즘은 무엇입니까? 일반 폴리곤을 그린 후에 첫 번째 폴리곤을 기준으로 다른 일반 폴리곤을 그려야하지만 K도 회전됩니다.
사용 죄 COS :
double theta = 2 * Math.PI/sides;
for (int i = 0; i < sides; ++i) {
double x = Math.cos(theta * i);
double y = Math.sin(theta * i);
// etc...
}
회전 단지 각도에 일정한 오프셋, 즉 theta * i + offset
추가. N
-vertex 다각형
죄, COS, 반경,면의 2 * PI/번호 루프
정점은 K
는 0 내지 N-1
포괄적로 진행 각도
(2*Math.PI*K)/N
에 위치한다. 수직 좌표는 각도의 사인과 외접원의 반지름을 곱하여 계산할 수 있습니다. 수평 좌표는 각도의 코사인을 반경에 곱해야한다는 점을 제외하면 같은 방식으로 계산됩니다.
(2*Math.PI*K)/N + Xrad
마지막으로, 화면의 원점에 있기 때문에 : 주문과 같이, X
도하여 다각형을 설정 라디안 X
을 변환하고 수식에 각도에 결과를 추가하려면
모서리 중 하나 인 경우 다각형의 일부만 보입니다. 이를 방지하려면 계산 한 각 좌표에 외곽 중심의 위치와 동일한 간격 띄우기를 추가하십시오.
그려지는 폴리곤은 무엇입니까? java.awt.Image? JComponent인가? 질문을 더 명확하게하십시오. – Aaron
포인트를 계산하기위한 알고리즘을 요구하는 경우 웹을 검색하여 쉽게 찾을 수 있습니다. StackOverflow에서 적어도 두 가지 질문을 받아 들일 수 있습니다. 물론 Java2D를 사용하여 폴리곤과 드로잉을 회전하는 것은 추가 질문입니다. –
자바 애플릿을 사용하고 있습니다. – werd