IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

creation d'un cercle


Sujet :

C++

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Points : 4
    Points
    4
    Par défaut creation d'un cercle
    Bonjour,
    Je travail sur C++ je veux si quelqu'un peut m'aidez de creer un cercle de centre x et rayon R et de translater ce cercle avec un vecteur F en une nouvelle cercle de meme rayon mais de centre y.
    Merci d'avence

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 899
    Points : 219 808
    Points
    219 808
    Billets dans le blog
    125
    Par défaut
    Bonjour,

    Voulez vous le dessiner dans une fenêtre? Voulez vous utiliser une bibliothèque pour la gestion des fenêtre ( MFC, QT, ... )?

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Ici personne ne fera ton boulot à ta place. Pour que l'on t'aide il faut que tu nous présentes ce que tu as déjà codé et ce qui te pose problème. Quel code n'arrives-tu pas à faire ?

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 899
    Points : 219 808
    Points
    219 808
    Billets dans le blog
    125
    Par défaut
    Bonjour Monsieur,
    mon objectif et de coder un code en C++ qui dessine un cercle .
    Merci bcp
    Sachez, que premièrement, je ne tolère pas les messages privé que requiert de l'aide technique. Veuillez directement poster sur le forum, surtout que vous avez déjà ouvert le message, donc continuez le.

    Deuxièmement, vous ne répondez pas à nos questions. Nous attendons vos réponses, à mes question et à celles de 3DArchi. Votre problème n'est toujours pas explicite.

    ( Veuillez lire les règles du forum en passant )

  5. #5
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut, et bienvenue sur le forum.

    N'espère pas que je ferai tout le travail à ta place, car j'ai la conviction que c'est "en forgeant qu'on devient forgeron", mais je vais malgré tout te donner quelques indices.

    1- Il y a deux moyens de définir un cercle:

    1a- en définissant un "bipoint" (une structure composée de deux points ) permettant de représenter le carré dans lequel le cercle est inscrit.

    Typiquement, cela revient à définir le premier point du bipoint comme celui représentant celui (par exemple) du coin supérieur gauche du carré et le second comme étant le coin opposé (le coin inférieur droit, selon l'exemple donné)

    Le centre du cercle sera alors situé sur le point où se croisent les médianes du carré, la taille du diamètre du cercle correspondra à la distance (horizontale ou verticale) entre les deux points, et, fatalement, la dimention du rayon sera égal à la moitié du diametre

    1b- En définissant le centre du cercle, et la taille de son rayon ou de son diamètre.

    Dans certaines circonstances, l'utilisation du bipoint peut s'avérer plus intéressante que celle du centre et du rayon, dans d'autres, ce sera l'inverse

    2- la translation s'effectue "simplement" en déplaçant le(s) point(s) qui définissent le cercle en fonction du vecteur fourni

    3- Pour tracer un cercle, il faut partir du centre de celui-ci et faire en sorte de faire ressortir le point dont la coordonnée X est égale à la coordonnée X du centre + (le rayon* cos(angle) ), et don la coordonnée Y est égale à la coordonnée Y du centre + (le rayon * sin(angle) ).

    Pour tracer le cercle, il "suffit" donc de placer tous les points qui se trouvent sur l'ensemble du contour du cercle (et donc de veiller à faire apparaitre les points sur les 360° )

    Sois cependant attentif au fait que, bien souvent, les angles ne sont pas calculés en degrés en informatique, mais bien en... radians

    Maintenant, tu devrais donc avoir tout ce qu'il te faut pour pouvoir travailler par toi-même et nous montrer au minimum un début d'implémentation.

    N'hésite pas à nous préciser quelle bibliothèque d'IHM tu utilise, pour que nous puissions corriger les éventuelles erreurs plus facilement

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour Mounazizou,
    Heureusement que vous avez précisé que vous travaillez "sur C++", sinon la meilleure solution pour tracer un cercle est de prendre un compas.
    Pour faire la translation, il suffit de tracer un autre cercle sont le centre sera l'extrémité du vecteur de translation, son origine étant sur le premier centre, en prenant bien soin de ne pas changer l'ouverture du compas.
    S'il faut faire la translation du cercle lui-même, sans copie, la gomme me parait la meilleure solution.
    Bien entendu, tout ceci est une blague proportionnée à votre demande.

  7. #7
    Membre actif

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 356
    Points : 206
    Points
    206
    Par défaut
    Il me semble que la plus grosse contrainte soit mathématique la...
    Je te proposes de gentiment demander à google l'équation d'un cercle. Je suis sur que tu trouveras très rapidement.
    Sinon tu utilise des Bibliothèques qui font déjà sa. Bien sur la solution la plus facile (qu'il me semble que tu a choisi) est de prendre un compas et de demander au compilateur (ou au gens du forum ?) de bien "compiler" le dessein fait au compas en un joli code c++.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [c++ builder] creation de surface sur TPanel
    Par JEG dans le forum DirectX
    Réponses: 7
    Dernier message: 23/09/2002, 22h41
  2. [Kylix] SIGSEGV 11 - creation form
    Par pram dans le forum EDI
    Réponses: 1
    Dernier message: 29/08/2002, 15h24
  3. Creation de fiche dynamique
    Par Mouss26 dans le forum C++Builder
    Réponses: 7
    Dernier message: 24/07/2002, 07h56
  4. Creation d une clee dans la registry en VC++
    Par rico27fr dans le forum MFC
    Réponses: 4
    Dernier message: 30/05/2002, 12h36
  5. savoir si 1 point est a l'intérieur d'un cercle ...
    Par skarladevobsy dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 23/05/2002, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo