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

VB 6 et antérieur Discussion :

dessin d'un cube


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 156
    Par défaut dessin d'un cube
    je suis débutant en VB et j'ai téléchargé un programme qui dessine un cube en 3D..j'ai enlevé qlqs instructions...mais franchement j'arrive pas à comprendre comment je peux dessiner un cube...parcequ'il ya bcp de formules math et je ne comprend pas son role...voici le prg....si qlq'1 peut m'aider il me fera un grand plaisir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    Private X(8) As Integer
    Private y(8) As Integer
    Private Const Pi = 3.14159265358979
    Private CenterX As Integer
    Private CenterY As Integer
    Private Const SIZE = 250
    Private Radius As Integer
    Private CubeCorners(1 To 8, 1 To 3) As Integer
     
    Private Sub Form_Load()
        CenterX = ScaleWidth / 2
        CenterY = ScaleHeight / 2
     
        Radius = Sqr(2 * (SIZE / 2) ^ 2)  ' <----
     
        CubeCorners(1, 2) = SIZE / 2
        CubeCorners(2, 2) = SIZE / 2
        CubeCorners(3, 2) = -SIZE / 2
        CubeCorners(4, 2) = -SIZE / 2
        CubeCorners(5, 2) = SIZE / 2
        CubeCorners(6, 2) = SIZE / 2
        CubeCorners(7, 2) = -SIZE / 2
        CubeCorners(8, 2) = -SIZE / 2
    End Sub
     
    Private Sub DrawCube()
     
        For i = 1 To 8   ' <--- le contenu de cette boucle
            X(i) = CenterX + CubeCorners(i, 1) + Sgn(CubeCorners(i, 1)) * _
                    CubeCorners(i, 3)
            y(i) = CenterY + CubeCorners(i, 2) + Sgn(CubeCorners(i, 2)) * _
                    CubeCorners(i, 3) / 5
        Next
     
        Line (X(3), y(3))-(X(4), y(4))
        Line (X(4), y(4))-(X(8), y(8))
        Line (X(3), y(3))-(X(7), y(7))
        Line (X(7), y(7))-(X(8), y(8))
        Line (X(1), y(1))-(X(3), y(3))
        Line (X(1), y(1))-(X(2), y(2))
        Line (X(5), y(5))-(X(6), y(6))
        Line (X(5), y(5))-(X(1), y(1))
        Line (X(5), y(5))-(X(7), y(7))
        Line (X(2), y(2))-(X(4), y(4))
        Line (X(2), y(2))-(X(6), y(6))
     
        DoEvents
    End Sub
     
    Private Sub Timer1_Timer()
        For i = 1 To 3 Step 2
            CubeCorners(i, 3) = Radius * Cos(Pi / 180)              ' <---
            CubeCorners(i, 1) = Radius * Sin((Angle) * Pi / 180)    ' <---
        Next
     
        For i = 2 To 4 Step 2
            CubeCorners(i, 3) = Radius * Cos((2 * 45) * Pi / 180)
            CubeCorners(i, 1) = Radius * Sin((2 * 45) * Pi / 180)
        Next
     
        For i = 5 To 7 Step 2
            CubeCorners(i, 3) = Radius * Cos((6 * 45) * Pi / 180)
            CubeCorners(i, 1) = Radius * Sin((6 * 45) * Pi / 180)
        Next
     
        For i = 6 To 8 Step 2
            CubeCorners(i, 3) = Radius * Cos((4 * 45) * Pi / 180)
            CubeCorners(i, 1) = Radius * Sin((4 * 45) * Pi / 180)
        Next
        DrawCube
    End Sub

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Allez avant
    Il manque 2/3 truc dans ton copier/coller
    il me fera un grand plaisir
    Sur un Form, un CommandButton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    Option Explicit
    Dim X(8) As Integer
    Dim y(8) As Integer
    Private Const Pi = 3.14159265358979
    Dim CenterX As Integer
    Dim CenterY As Integer
    Private Const SIZE = 250
    Dim Radius As Integer
    Dim CubeCorners(1 To 8, 1 To 3) As Integer
    Dim I As Integer
    Dim Angle As Integer
     
    Private Sub Form_Load()
    Me.ScaleMode = vbPixels
    Me.AutoRedraw = True
    Me.WindowState = vbMaximized
    Angle = 0
    Command1.Move 0, 0, 80, 20
    Command1.Caption = "GO"
    CenterX = ScaleWidth / 2
    CenterY = ScaleHeight / 2
     
    Radius = Sqr(2 * (SIZE / 2) ^ 2)
    CubeCorners(1, 2) = SIZE / 2
    CubeCorners(2, 2) = SIZE / 2
    CubeCorners(3, 2) = -SIZE / 2
    CubeCorners(4, 2) = -SIZE / 2
    CubeCorners(5, 2) = SIZE / 2
    CubeCorners(6, 2) = SIZE / 2
    CubeCorners(7, 2) = -SIZE / 2
    CubeCorners(8, 2) = -SIZE / 2
    End Sub
    Private Sub Command1_Click()
    DrawCube
    End Sub
    Private Sub DrawCube()
    Me.Cls
    For I = 1 To 3 Step 2
    CubeCorners(I, 3) = Radius * Cos(Pi / 180)
    CubeCorners(I, 1) = Radius * Sin((Angle) * Pi / 180)
    Next
    For I = 2 To 4 Step 2
    CubeCorners(I, 3) = Radius * Cos((2 * 45) * Pi / 180)
    CubeCorners(I, 1) = Radius * Sin((2 * 45) * Pi / 180)
    Next
    For I = 5 To 7 Step 2
    CubeCorners(I, 3) = Radius * Cos((6 * 45) * Pi / 180)
    CubeCorners(I, 1) = Radius * Sin((6 * 45) * Pi / 180)
    Next
    For I = 6 To 8 Step 2
    CubeCorners(I, 3) = Radius * Cos((4 * 45) * Pi / 180)
    CubeCorners(I, 1) = Radius * Sin((4 * 45) * Pi / 180)
    Next
     
    For I = 1 To 8
    X(I) = CenterX + CubeCorners(I, 1) + Sgn(CubeCorners(I, 1)) * CubeCorners(I, 3)
    y(I) = CenterY + CubeCorners(I, 2) + Sgn(CubeCorners(I, 2)) * CubeCorners(I, 3) / 5
    Next
     
    Line (X(3), y(3))-(X(4), y(4))
    Line (X(4), y(4))-(X(8), y(8))
    Line (X(3), y(3))-(X(7), y(7))
    Line (X(7), y(7))-(X(8), y(8))
    Line (X(1), y(1))-(X(3), y(3))
    Line (X(1), y(1))-(X(2), y(2))
    Line (X(5), y(5))-(X(6), y(6))
    Line (X(5), y(5))-(X(1), y(1))
    Line (X(5), y(5))-(X(7), y(7))
    Line (X(2), y(2))-(X(4), y(4))
    Line (X(2), y(2))-(X(6), y(6))
     
    DoEvents
    End Sub
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    J'ai pris la trigo en grippe, ou c'est l'inverse, bref, la je peux pas aider

    De toute façon, qand tu exposes un code , mets les balises de codes autour ( dans la fenetre de composition des message, c'est le # qui te les placent autour du texte selectionné)

Discussions similaires

  1. Dessin d'un cube opaque plein
    Par hohenheim37 dans le forum DirectX
    Réponses: 8
    Dernier message: 28/07/2010, 09h29
  2. dessin de cube et cordonnées
    Par koyateam dans le forum OpenGL
    Réponses: 9
    Dernier message: 01/03/2008, 14h50
  3. une face de mon cube ne se dessine pas
    Par jeandormesson dans le forum Flash
    Réponses: 2
    Dernier message: 05/10/2006, 09h21
  4. Dessiner une ligne dans un cube transparent ?
    Par Muetdhiver dans le forum OpenGL
    Réponses: 4
    Dernier message: 04/05/2004, 11h06
  5. [debutant] Probleme pour dessiner un simple cube
    Par scorpiwolf dans le forum DirectX
    Réponses: 6
    Dernier message: 02/07/2003, 20h29

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