Cube 3d en fil de fer

Description

Salut à tous,

En fait, je ne sais pas quoi dire - C'est ma premère source, je suis tout ému :'( - à part ce qu'il y a marqué dans le titre, c'est à dire que c'est un cube en 3D (Quoique je me pose encore la queston). Mais, malheuresement, le cube est en "rendu" fil de fer... Si quelqu'un à une idée pour y remédier, qu'il me la présente.
Voilà, je vais bientôt mettre plus d'explications dans le zip, avec un image pour expliquer le fonctionnement (C'est plus simple avec des images :).

-----------------------------------------------------------------------------
Version mise à jour le 21 Mai 2004 : Amélioration des variables
Version màj le 21 Mai 2004 : Correction des erreurs... ;)

Source / Exemple :


Option Explicit

Dim X0 As Integer, Y0 As Integer         '  centre de l'écran
Dim e As Single                                 '  échelle
Dim t As Single, p As Single
Dim ct As Single                                 '  COS t
Dim st As Single                                 '  SIN t
Dim cp As Single                                 '  COS p
Dim sp As Single                                 '  SIN p
Dim x(1 To 8) As Single, y(1 To 8) As Single  '  8 sommet du cube

Const PI As Single = 3.141559

Private Sub Form_Load()
X0 = Qbe.ScaleWidth / 2
Y0 = Qbe.ScaleHeight / 2
e = Qbe.ScaleWidth / 5
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, Xx As Single, Yy As Single)

t = (Xx - X0) / X0 * PI
p = (Yy - Y0) / Y0 * PI
ct = Cos(t)
st = Sin(t)
cp = Cos(p)
sp = Sin(p)

x(1) = X0 + e * (st * cp + ct + st * sp)
x(2) = X0 + e * (st * cp + ct - st * sp)
x(3) = X0 + e * (st * cp - ct + st * sp)
x(4) = X0 + e * (st * cp - ct - st * sp)
x(5) = X0 + e * (-st * cp + ct + st * sp)
x(6) = X0 + e * (-st * cp + ct - st * sp)
x(7) = X0 + e * (-st * cp - ct + st * sp)
x(8) = X0 + e * (-st * cp - ct - st * sp)

y(1) = Y0 + e * (-sp + cp)
y(2) = Y0 + e * (-sp - cp)
y(3) = Y0 + e * (-sp + cp)
y(4) = Y0 + e * (-sp - cp)
y(5) = Y0 + e * (sp + cp)
y(6) = Y0 + e * (sp - cp)
y(7) = Y0 + e * (sp + cp)
y(8) = Y0 + e * (sp - cp)

Cls
Line (x(1), y(1))-(x(2), y(2))
Line (x(1), y(1))-(x(3), y(3))
Line (x(1), y(1))-(x(5), y(5))
Line (x(2), y(2))-(x(4), y(4))
Line (x(2), y(2))-(x(6), y(6))
Line (x(3), y(3))-(x(4), y(4))
Line (x(3), y(3))-(x(7), y(7))
Line (x(4), y(4))-(x(8), y(8))
Line (x(5), y(5))-(x(6), y(6))
Line (x(5), y(5))-(x(7), y(7))
Line (x(6), y(6))-(x(8), y(8))
Line (x(7), y(7))-(x(8), y(8))

End Sub

Conclusion :


C'est tout bête, mais ca m'a pris du temps...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.