2013-12-07 2 views
0

코드에 3 점이 있습니다. 그 사이에 영역을 채우고 싶습니다. 그리기 및 채우기를 원합니다. 3 점 사이의 삼각형.그래픽 (java.awt.Graphics)을 사용하여 세 점 (java.awt.Point) 사이의 영역 채우기

for 루프 (x1에서 x2까지)로 간단하게 선을 그렸지만 효과적 일 것이라고 생각하지 않습니다. 더 효율적인 방법이 있습니까?

+0

* "미리 감사드립니다. Mickey Munin."* 노이즈는 2 줄입니다. 앞으로는 남겨주세요. –

답변

3

나는 세 가지 포인트로 다각형을 그릴 것입니다 : 한 번에 버퍼링 된 이미지와 페인트 픽셀 하나를 사용할 수 있습니다

Graphics.fillPolygon(int[], int[], int)

0

. BufferedImage는 gui 객체의 paintcomponent를 사용하는 것보다 훨씬 빠릅니다. BufferedImage에서 WriteableRaster를 사용하고 픽셀을 한 번에 하나씩 반복하여 삼각형 내에있는 픽셀을 표시합니다.

귀하의 알고리즘과 같이 보입니다 : 또는

equation for line 1 
equation for line 2 
equation for line 3 
then for each point as you loop through writeableraster: 
    check if x and y are each between the three lines 

을, 당신은 페인트 접근 방식의 더 this example을 시도 할 수 있습니다.

관련 문제