J'ai une fonction en C++ qui dessine une ellipse. Maintenant, je veux ajouter une option de remplissage à cette ellipse. Comment je fais ça? J'ai essayé d'utiliser l'algorithme de remplissage d'inondation, mais cela ne fonctionne pas correctement lorsque la surface contient déjà des peintures.Comment remplir une ellipse?
Voici mon algorithme actuel:
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);
}
Quelle bibliothèque utilisez-vous? 'C++' n'a pas de bibliothèque graphique telle que définie par la norme. Parlez-vous d'OpenGL, etc? – CoryKramer
Pourquoi ne remplissez-vous pas lorsque vous dessinez? – stark
@CoryKramer: Pour une question d'algorithme, c'est assez peu pertinent. Évidemment, avec une vraie bibliothèque graphique, la réponse serait "utiliser la fonction' DrawEllipse' fournie ", mais cela aurait déjà été la réponse pour l'ellipse non remplie. – MSalters