J'ai longuement hésité, tant qu'à savoir, si je devais mettre ou non, un exemple d'affichage du Cube RVB en 3 dimensions. Est-ce vraiment utile? Il semblerait que, dans un certain sens, oui, puisque je considère que cela permettra pour plusieurs de développer leur imagination dans un sens pratique du traitement des couleurs. Le concept de l'image suivante est fort simple, il faut créer des coordonnées en 3 dimensions de façon à égaler toujours la même somme total en coordonnée lorsqu'on affiche dans une couleur. Voici le code source Visual Basic .NET (VB .NET) :
- Public Class Form1
-
- Const CenterHorizontal = 320 \ 2
- Const CenterVertical = 320 \ 2
-
- Sub SetPixel3D(ByVal e As PaintEventArgs, ByVal X As Integer, ByVal Y As Integer, ByVal Z As Integer, ByVal Kr As Color)
- e.Graphics.DrawRectangle(New Pen(Kr), CenterHorizontal + X - (Z \ 2), CenterVertical - Y + (Z \ 2), 1, 1)
- End Sub
-
- Private Sub Form1_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint
- Dim I As Integer
- Dim J As Integer
- Dim K As Integer
-
- For I = 0 To 149
- SetPixel3D(e, 0, 0, I, Color.Black)
- SetPixel3D(e, 0, I, 0, Color.Black)
- SetPixel3D(e, I, 0, 0, Color.Black)
- Next
- For J = 99 To 0 Step -1
- For I = 0 To 99
- SetPixel3D(e, I, J, 99, Color.FromArgb(I, J, 99))
- Next I
- Next J
- For K = 0 To 99
- For I = 0 To 99
- SetPixel3D(e, I, 99, K, Color.FromArgb(I, 99, K))
- Next I
- Next K
- For J = 99 To 0 Step -1
- For K = 0 To 99
- SetPixel3D(e, 99, J, K, Color.FromArgb(99, J, K))
- Next
- Next
- End Sub
-
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- MyBase.Text = "Cube RVB"
- MyBase.Width = 320
- MyBase.Height = 320
- MyBase.BackColor = Color.White
- End Sub
-
- End Class
Voici en terminant un exemple du résultat de ce petit programme :
Dernière mise à jour : Samedi, le 22 octobre 2016