저는 C++에서 타원을 그리는 함수가 있습니다. 이제 해당 타원에 채우기 옵션을 추가하고 싶습니다. 어떻게해야합니까? 홍수 채우기 알고리즘을 사용해 보았지만 표면에 이미 그림이 포함되어 있으면 올바르게 작동하지 않습니다.타원 모양을 채우는 방법?
여기 내 현재의 알고리즘 :
const double TwoPI = (PI * 2);
const double Step = (PI/180.0f);
for(double i = 0; i < TwoPI; i += Step)
{
float x_offset = (radiusX * cos((float) i));
float y_offset = (radiusY * sin((float) i));
int x = int(a_X + x_offset);
int y = int(a_Y + y_offset);
if(prevX == -1 && prevY == -1)
Plot(x, y, color);
else
Line(prevX, prevY, x, y, color);
}
어떤 라이브러리를 사용하고 있습니까? 'C++ '에는 표준에 정의 된 그래픽 라이브러리가 없습니다. OpenGL 등을 말하는 겁니까? – CoryKramer
그릴 때 왜 채우지 않습니까? – stark
@CoryKramer : 알고리즘 질문의 경우에는 그다지 관련성이 없습니다. 분명히, 실제 그래픽 라이브러리를 사용하면 대답은 "제공된'DrawEllipse' 함수를 사용하는 것"이지만, 그것은 채워지지 않은 타원에 대한 대답이었을 것입니다. – MSalters