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

Graphisme Java Discussion :

Dessiner une parabole dans un repère cartésien


Sujet :

Graphisme Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Dessiner une parabole dans un repère cartésien
    salut a tous,
    je dois ecrire un programe qui affiche une parabole ds un repere cartesien. l equation de la parabole est
    x = 0.5 * a*(t)2 + vo*t +x0.
    où a,vo et x0 sont connu.
    j arrive pas a construire l algorithme qui me trace cette courbe dans un repere.
    si j ai un code similaire, je crois que je m en sortirai.
    je vous remercie.
    cordialement.

  2. #2
    Membre averti Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Points : 328
    Points
    328
    Par défaut
    j arrive pas a construire l algorithme qui me trace cette courbe
    Je ne vois pas trop où est le problème, tu as une équation plutôt simple. Tu fais un changement de repère entre le coin supérieur gauche (0,0) et le centre de ta frame genre :
    X --> x-w/2
    Y --> -(y-h/2)
    puis tu fais une boucle où tu incrémentes un compteur et où tu traces des droites entre les différents points calculés grâce à ton équation... (evidemment, ce n'est pas une solution unique, tu peux aussi précalculer tous tes points et tracer ensuite)

    voilà
    La différence entre la théorie et la pratique est plus mince en théorie qu'en pratique

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    Oui, il est vrai que c'est "plutôt" simple, bien qu'il te faille aussi préparer les bornes de ton repère, peut-être, de sorte à toujours pouvoir dessiner ta parabole dans ce repère (et non à l'extérieur). Tu peux jouer sur la valeur de la pente de ta courbe (unicité des points où la pente est de +45° et -45°, par exemple, en calculant la dérivée), pour t'arranger à toujours placer ces deux points, ainsi que le sommet de ta parabole, dans ton repère.

    Attention, une fois que tu auras défini ces points, leurs coordonnées ne vont peut-être pas te donner les bornes de ton repère si tu le veux (ortho-)normé.
    Il va falloir encore jouer avec des équations mathématiques (et faire en sorte de laisser un espace proportionnel à la taille de ton repère, entre le sommet et le bord).

    Calcule tout cela d'avance, simplifie tes équations, définis ton repère, et seulement alors, tu sauras quels points sont affichés, donc tu connaitras aussi les valeurs de chaque pas de ta variable t (par exemple - pour faire simple - t=0, puis t=1,puis t=2, ou encore t=10 puis t=20, t=30)...

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Je dirai que, dans le cas d'une auto-configuration de l'affichage, seul est important la position du sommet (que tu peux calculer et qui te donnera le point sur lequel centrer horizontalement de ton repere) et une plage de valeurs [xc-dx, xc+dx] pour avoir un affichage suffisement correcte/interessant (la pente de la courbe peut aider).

    Dans un premier temps, ce n'est pas trop grave si la courbe sort de la zone de dessin car tu peux jouer avec la zone de clip (l'aire de la zone de dessin voir graphics.setClip()) pour que la courbe ne s'affiche pas hors de l'aire du repere.
    De maniere plus avancee, et ce pour eviter des appels inutiles a des methodes de dessins, il faut calculer l'intersection du segment avec la zone de clip pour savoir s'il y a besoin ou pas de le dessiner.

    Dans un cas plus general, comme c'est l'utilisateur qui te donnera sans doute un intervalle [xm-xn] a dessiner... l'equation de la courbe te donnera l'intervalle [ya-yb] a utiliser pour l'affichage tout simplement en prenant le min et le max des valeurs (avec optionnellement une marge d'erreur pour laisser un peu d'espace) calculees pour chacun des points des segment a dessiner (donc faire un premier run en effectuant les meme calculs que pour le dessin mais sans reellement dessiner sur l'ecran, faire ensuite un second run ou on dessine vraiment).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    244
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 244
    Points : 110
    Points
    110
    Par défaut
    J'ai joint un tp ou j'ai eu à dessiner un sinus sur [-Pi;Pi]. Ton problème est pas tres différent donc je pense que tu peut t'en inspirer.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Dessiner une bande dans une matrice
    Par S4sha dans le forum MATLAB
    Réponses: 4
    Dernier message: 23/11/2006, 13h56
  2. Réponses: 2
    Dernier message: 31/10/2005, 21h00
  3. Réponses: 5
    Dernier message: 21/07/2005, 19h20
  4. Comment dessiner une ligne dans un Chart ?
    Par libititi dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2005, 14h56
  5. Dessiner une ligne dans un cube transparent ?
    Par Muetdhiver dans le forum OpenGL
    Réponses: 4
    Dernier message: 04/05/2004, 11h06

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