Python에서 원을 그리는 방법 중 흔하게 사용하는 방법은 OpenCV를 이용하는 것이다. 그렇다면 cv2.circle()를 이용한다. 이것이 편한 방법인데 anti-aliasing 에 대한 고려가 조금 부족해서 이미지가 예쁘게 나오지 않을 때가 있다.
AA에는 여러 가지 방법이 있다. 이 중에서 가장 쉽게 구현할 수 있는 것은 super-resolution AA 혹은 full scene AA 이다. 간단히 말하면 큰 화면을 만들어서 잘 섞은 후 다시 원래 크기로 돌아오는 것이다. 이 방법은 간단하지만 계산이 많아진다는 단점이 있다고 한다. 작은 이미지를 만들 것이라서 자원은 걱정하지는 않는다.
큰 이미지를 만들 때 가능하면 특정값보다는 변수로 좌표를 지정하는 것이 그림 파일 수정에 용이하다.
>>> fig = numpy.zeros((480*4, 480*4, 3), dtype = numpy.uint8)
...
>>> fig = cv2.circle(fig, center, int(size * 0.03), red, -1)
...
>>> fig = cv2.resize(fig, dsize=(480, 480), interpolation=cv2.INTER_AREA)