Dessin

Signaler
Messages postés
5
Date d'inscription
dimanche 10 juin 2007
Statut
Membre
Dernière intervention
4 août 2008
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
bonsoir tout le monde

voila j'aimerai bien que quelqu'un m'indique la procédure pour dessiné des droite incliné genre a 10°, 45° ,90°

merci

9 réponses

Messages postés
840
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
9
Salut,
Dans l'événement Paint du contrôle sur lequel tu veux dessiner, tu fais un
e.Graphics.DrawLine
Une droite se dessine en fonction de 2 points. Par ex:
X1 = 0
Y1 = 0
X2 = 20
Y2 = 20
te fera une droite à 45° nord-ouest à sud-est
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonsoir,

Avant de parler code (et ce, quel que soit le langage de développement), on parle dans ce cas algèbre !!!
L'équation d'une droite est de type
y = ax + b
où a est le coefficient angulaire.

Cours d'algèbre à réviser, donc ...
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Autre approche assez révêlatrice de certains aspects.
Qu'est donc l'aiguille des secondes d'une horloge, sinon un segment de droite (dont l'une des extrêmités est le centre d'un cercle) tournant de 0 à 360 degrés hein ?
Vu ?

donc :

Une form avec un timer timer1

Option Explicit
Private Const diametre As Integer = 100
Private cy As Integer
Private cx As Integer
Private ancY As Single
Private ancx As Single
Private angle As Double





Private Sub Form_Activate()
    Me.ScaleMode = vbPixels
    Me.AutoRedraw = True
    cx = Me.ScaleWidth / 2
    cy = Me.ScaleHeight / 2
    Me.Circle (cx, cy), diametre, vbWhite
    Timer1.Interval = 100
End Sub



Private Sub Timer1_Timer()
  Dim pi As Double, toto As Double
  pi = 4 * Atn(1)
  toto = (angle / 180) * pi
  Me.Line (cx, cy)-(ancx, ancY), Me.BackColor
  ancY = cy + Sin(toto - (0.5 * pi)) * diametre
  ancx = cx + Cos(toto - (0.5 * pi)) * diametre
  Me.Line (cx, cy)-(ancx, ancY)
  angle = angle + 1
End Sub


Voilà ! tu as déjà deux méthodes (dans la mesure où, toutefois, tu sais en tirer la "moelle"... et tu ne sauras le faire qu'à condition de faire un effort de réflexion analytique, donc mathématique... totalement indépendant de tout code informatique ...) ...!!
Messages postés
5
Date d'inscription
dimanche 10 juin 2007
Statut
Membre
Dernière intervention
4 août 2008

re-bonsoir tout le monde
merci a tout les 2 pour vos réponses serte qui sont les base mais que je tien a vous remercier pour vos effort, mais le truck que j'arrive pas a réaliser c'est que, comment dessiner une ligne droite avec la sourie tout en gardant la même inclinéson  ! (ex: tu click gauche sur le paint et quand tu bouge la sourrie dans un sence sa te déssine une droite avec une meme pente )

j'attend vos réponce et bonne continuation  !!!
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Oooooh !!!!...
L'équation d'une droite est y = ax + b (nous l'avons vu)
une fois a et b déterminés, tu fais varier x et calcule y (qui sont les coordonnées du point placé sur la droite concernée par ton équation, donc avec sa "pente" ..). Te reste à utiliser la méthode Line ....
On ne va tout de même pas t'écrire aussi celà, non ?
Messages postés
840
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
9
1. MouseDown sur le contrôle, ça te donne le point de départ de ta droite (X1 et Y1)
2. MouseMove te donne le point d'arrivé (X2 et Y2)
3. Tu calcul l'angle formé par la droite en fonction de X1, Y1, X2, Y2
4. Tu arrondis l'angle à la valeur voulu la plus proche (par ex tu à 25°, tu arrondis à 45°)
5. Tu calcul le point d'arrivé (X2 et Y2) en fonction de l'angle trouvé
6. Tu trace la ligne
Messages postés
5
Date d'inscription
dimanche 10 juin 2007
Statut
Membre
Dernière intervention
4 août 2008

re-tout le monde :

-je tien a vous remercier encore une fois pour vos raiponces, mais je me permet de vous écrire cette fois si pour vous demandé es que il y'a une méthode qui permet soit a l'aide de .dll ou .ocx de crée directement des graphe comme ceux quand utilise dans des logicielle de CAO (pour crée un mini autocad ou autre ) par exemple si je veux dessiner des lignes droites avec un angle prediffinie tout en m'indiquand un apercue de la droite avant de la crée.

j'espaire avoire une raiponce bonne continuation a+
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Pas à ma connaissance, non, car l'affaire est tellement simple que personne ne verra l'utilité d'une telle fonction de l'Api de Windows ou même d'un Ocx pour si peu !