begin process at 2012 05 28 20:45:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

desin avec turbo c


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

desin avec turbo c

mercredi 8 décembre 2004 à 12:30:16 | desin avec turbo c

sajid_morad


salut tout le monde ,je suis débutant , je programme avec turbo c , je dois dessiner un cercle à partir de 3 points, j aimerai savoir comment faire , c à dire :
1- quels sont les librairie que je dois utiluser?
2- ou je peux les télécharger ?
3- quel est le meilleur algorithme que je peux utiliser ?

sachant que ça sera un programme sous dos
merci
mercredi 8 décembre 2004 à 14:22:09 | Re : desin avec turbo c

ymca2003

code pour déterminer le cente et le rayon d'un cercle à partir de 3 points non alignés :


#include <stdio.h>
#include <math.h>

//*******************************************************************
// équation d'un cercle de centre (x0,y0) et de rayon R :
// (x-x0)² + (y-y0)² = R²
//
// avec 3 point A, B et C non alignés, on peut trouver le
// cercle passant par ces 3 points:
//
// les 3 équations de base (développées) :
// (1) xA² + x0² - 2*xA*x0 + yA² + y0² - 2*yA*y0 = R²
// (2) xB² + x0² - 2*xB*x0 + yB² + y0² - 2*yB*y0 = R²
// (3) xC² + x0² - 2*xC*x0 + yC² + y0² - 2*yC*y0 = R²
//
// on réalise (2)' = (2)-(1) et (3)' = (3)-(1)
// après simplification et réarrangement :
// (2)' 2*x0*(xA-xB) + 2*y0*(yA-yB) = xA² - xB² + yA² - yB²
// (3)' 2*x0*(xA-xC) + 2*y0*(yA-yC) = xA² - xC² + yA² - yC²
//
// (2)' A*x0 + B*y0 = C
// (3)' D*x0 + E*y0 = F
//
//
// système de 2 équations à 2 inconnues, calcul du déterminant
// (si nul, le système n'a pas de solution unique et on n'a pas
// affaire à un cercle) :
// det = A*E - B*D
//
// les solutions sont :
// x0 = (EC-BF)/det
// y0 = (AF-DC)/det
//
// le rayon s'obtient ensuite :
// R = sqrt( (xA-x0)² + (yA-y0)² )
//*******************************************************************



int main(int argc, char* argv[])
{
// les 3 points initiaux (cercle de centre (2,3) et de rayon 4,
// correspondant à des angles de 60°, 150° et 225°)
double xA = 4.0000, yA = 6.4641;
double xB = -1.4641, yB = 5.0000;
double xC = -0.8284, yC = 0.1716;

// calcul de A, B, C, D, E, F et det
double A = 2*(xA-xB);
double B = 2*(yA-yB);
double C = xA*xA - xB*xB + yA*yA - yB*yB;
double D = 2*(xA-xC);
double E = 2*(yA-yC);
double F = xA*xA - xC*xC + yA*yA - yC*yC;
double det = A*E - B*D;
printf("A = %lf, B = %lf, C = %lf\r\n", A, B, C);
printf("D = %lf, E = %lf, F = %lf\r\n", D, E, F);
printf("det = %lf\r\n", det);
if(det == 0)
{
printf("det = 0, ce n'est pas un cercle\r\n");
return 0;
}

// calcul de x0 et y0
double x0 = (E*C-B*F)/det;
double y0 = (A*F-D*C)/det;
printf("x0 = %lf\r\n", x0);
printf("y0 = %lf\r\n", y0);

// calcul de R
double R = sqrt( (xA-x0)*(xA-x0) + (yA-y0)*(yA-y0) );
printf("R = %lf\r\n", R);
return 0;
}



Pour ce qui est de tracer le cercle, je ne sais pas, mais la plupart des fonctions de dessins de cercles se basent sur le centre et le rayon.
mercredi 8 décembre 2004 à 21:40:10 | Re : desin avec turbo c

sajid_morad


salut, esque ça marche sur Turbo c, et comment faire pour le dessin
Merci
jeudi 9 décembre 2004 à 09:11:43 | Re : desin avec turbo c

ymca2003

Réponse acceptée !
Aucune idée si ça marche sur turbo C, mais il n'y a pas de raison que non (même avec émulation du FPU).
Pour le tracé, aucune idée. Si tu sait tracer un pixel, tu fait une boucle avec un angle allant de 0 à 360° et tu trace les points
x = x0+R*cos(angle);
y = y0+R*sin(angle);



Cette discussion est classée dans : programme, turbo, desin


Répondre à ce message

Sujets en rapport avec ce message

PB:[TURBO C++]charger une image (bmp ou jpg) et l'afficher [ par kobee12 ] depuis quelque temps j'essaie de trouver un programme qui me permettrait d'afficher une ou plusieurs images en utilisant GRAPHICS.H avec TURBO C++.Seu Programmation sur Turbo C Agenda [ par Grenouille540 ] Bonjour bonjour tout le monde ! Je débute en programmation en langage C et là je suis sur un agenda et je bloque complet , j'aurais besoin de votre ai programme de jeu en turbo c [ par raxrax ] raxraxje veux de l'aide pour programmer en turbo c une sumulation de BATTERIE ANTI AERIENNE QUI ABBAT DES AVIONS QUI PASSENT copier un fichier ressource lors de l'execution [ par arthuro2001 ] Je voudrais copier un fichier exe ( ou tout autre type de fichier ) en ressource de mon programme sur la machine executant mon programme afin de pouv démarrer en ASP [ par vincruck ] Comment fait-on pour créer un projet en ASP. Que faut-il mettre dans le champ 'location'???Une page web ASP, ca se programme comme un programme VB? CA VA TRÈs MAL ! ressource gdi [ par michelmt ] j'ai fais un programme qui sert a comptécombien de pièce je peut entré dans une feuille de stratifieril me dessine les grandes feuilles puis y insertl Programmation graphique en C [ par NeoFab ] Salut à tous!J'étudie en ce moment la programmation en C sous Turbo c++ pour faire du graphisme, en écrivant directement dans la mémoire de la carte v programme en c [ par zugo ] je voudrais savoir si vous avez un programme en c, qui traite 2 fichiers textes qui compare les deux et qui corrige leurs différences. Parce que si un HELP je ne comprend pas pourquoi mon programme plante [ par surfeurnet ] j'ai developpper le programme suivant sous dev-cpp et lorsque je l'exécute il plante. Je pense que c'est un problème avec les constantes c ou adr mais plein ecran et fermer un programme [ par naney ] Salut a tout le monde je cherche la fonction qui rend la fenétre dos de mon programme en plein écran et la fonctin pour fermer un programme mais qui f


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales