2012-11-26 4 views
2

Le code C suivant dessine un rectangle. Je sais dessiner l'ellipse, mais comment puis-je dessiner une ellipse dans ce rectangle?Dessine l'ellipse dans le rectangle dans C

#include<graphics.h> 
#include<conio.h> 

main() 
{ 
    int gd = DETECT, gm; 

    initgraph(&gd, &gm, "C:\\TC\\BGI"); 

    rectangle(100,100,200,200); 

    getch(); 
    closegraph(); 
    return 0; 
} 
+0

Voulez-vous une ellipse qui est inscrit dans le rectangle (c.-à-touche les quatre côtés) ou d'un de l'ensemble infini d'ellipses qui est contenu par le rectangle? – twalberg

+0

Aucune éclipse ne doit pas toucher les côtés du rectangle, j'ai besoin de le dessiner avec une petite marge insérée :) – TPSstar

+0

quelle bibliothèque 'graphics' utilisez-vous? – alinsoar

Répondre

1

Asuming vous utilisez le ellipsefunction de graphics.h, vous pouvez effectuer les opérations suivantes:

int left = 100; 
int right = 200; 
int top = 100; 
int bottom = 200; 

rectangle(left, top, right, bottom); 

int x = (left + right)/2; 
int y = (top + bottom)/2; 
int start = 0; 
int end = 360; 
int xrad = (right - left)/2; 
int yrad = (bottom - top)/2; 

ellipse(x, y, start, end, xrad, yrad); 
+0

De rien! – higuaro

+0

Donc, il n'y a pas de science de la fusée: D ai seulement besoin de réduire sa taille pour afficher dans le rectangle? – TPSstar

+0

Désolé, n'a pas vu le commentaire jusqu'à maintenant. Fondamentalement, vous inscrivez l'ellipse dans le rectangle, si vous avez besoin de rétrécir l'ellipse puis utilisez la version rétrécie de 'left',' right', 'top' et' bottom' pour l'ellipse et la version réelle pour le rectangle – higuaro