2014-01-07 5 views
0

Shape라는 클래스에서 확장되는 Circle 클래스가 있습니다. 나는 draw() 메소드에 대한 주어진 설명을 사용하여 플로터를 그리는 방법을 알아 내려고 노력 중이다.플로터를 사용하여 원 그리기

는 여기에 내가 클래스에 대해 지금까지이 작업은 다음과 같습니다

public class Circle extends Shape{ 

    private double radius; 

    public Circle(double x_origin, double y_origin, double r, Color c){ 
     super(x_origin, y_origin, c); 
     this.radius = r; 
    } 

    public void draw(WinPlotter plotter){ 
     setPenColor(plotter); 


    } 

} 

setPenColor은 색 원이 그려 질을 위해, 그것을 무시 주시기를 제공합니다.

가 원을 그린다 다음

원의 연신 방법에 대한 자바 독 설명한다. java.lang.Math 클래스의 사인 함수와 코사인 함수를 사용하여 원에있는 유한 점 집합을 계산 한 다음 WinPlotter의 drawTo 메서드를 사용하여 작은 연결 직선 세그먼트 충분한 세그먼트가 그려지는 경우 (약 25 세그먼트가 이면 충분 함) 부드러운 원이 근사됩니다.

당신이 그것을 위해 전체 원의 javadoc을 참조해야하는 경우

, 여기 here it is

참조로 사용하는 WinPlotter javadoc입니다. 나는 그려야 만하는 다른 모든 모양에 대해서만 moveTo()drawTo() 메서드를 사용했습니다.

나는 플로터에 원을 그리는 가장 좋은 방법을 알고 싶다.

답변

0

내가 생각할 수있는 간단한 방법은 Math.sinMath.cos을 사용하여 설정된 간격 동안 360도 (2 * PI)로 반복하여 현재 값과 이전 값 사이에 선을 그립니다.

http://en.wikipedia.org/wiki/Trigonometric_functions을보고 오른쪽 그림을 확인하십시오. 그런 다음 루프 변수를 루프로 사용하여 숙제로 thea

GL으로 생각하십시오.

편집 : Heres는 링크가 정말 http://iopixels.com/cos-sin-explain

봐야한다