더북(TheBook)

함수의 특성과 샘플 수에 따라 곡선이 얼마나 부드럽게 되는지 결정된다. 샘플 수가 너무 적으면 함수 그래프의 모양이 결코 제대로 나오지 않는다([프로그램 1.5.6]에서 본 것처럼 부드럽지 않고 변동 부분이 빠지기도 한다). 그러나 계산 시간이 오래 걸리는 함수의 경우, 샘플 개수가 너무 많으면 그래프를 그리는 시간이 너무 오래 걸린다(부드러운 곡선을 정확히 그리는 효율적인 방법은 2.4절에서 다룬다). 함수 그래프를 그릴 x축 좌표의 간격을 설정하고, 샘플마다 함수 값을 계산해 배열에 저장하고, y 배율을 결정해 설정하고, 구간별 선분을 그리는 이와 같은 방법을 이용하면 어떠한 함수의 그래프도 그릴 수 있다.

윤곽선과 채워진 도형 예제 라이브러리의 stddraw 모듈에는 원, 직사각형, 임의의 다각형을 그리는 함수도 들어 있다. 각각의 도형은 윤곽선을 정의한다. 도형의 이름만으로 되어 있는 함수는 도형의 윤곽선을 그리고, filled로 시작하는 함수는 윤곽선을 그리는 대신 도형 안을 채운다. 도형을 그리는 함수들은 [표 1.5.6]과 같다.

▼ 표 1.5.6 도형을 그리는 함수들

함수

설명

stddraw.circle(x, y, r)

(x, y)를 중점으로 반지름 r인 원을 그린다.

stddraw.square(x, y, r)

(x, y)를 중점으로 2r x 2r 정사각형을 그린다.

stddraw.rectangle(x, y, w, h)

(x, y)를 왼쪽 아래로 해 w x h 크기의 직사각형을 그린다.

stddraw.polygon(x, y)

배열 안의 각 좌표 (x[i], y[i])를 연결하는 다각형을 그린다.

주의: filledCircle(), filledSquare(), filledRectangle(), filledPolygon()은 해당 윤곽선 함수와 똑같은 인수를 받지만, 윤곽선을 그리지 않고 도형을 채운다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.