Retangle de petzol

Description

Le programme affiche un rectangle de Petzol.
Il a fallu capter un programme en C et un autre en wpf pour synthétiser ce joli programme en Basic très pur.

Ce programme accompagne le tutoriel GENERATEUR3D

http://www.vbfrance.com/tutoriaux/GENERATEUR-3D_954.aspx

Source / Exemple :


Imports System.Windows.Media.Media3D

Module Main
    Dim Toile As New Window
    Dim Dock As New DockPanel
    Dim test As New EssaiRectangle
    Dim Appli As New Application()
    Sub Main()
        Toile.Content = Dock
        Dock.Children.Add(test.Essai)
        Appli.Run(Toile)
    End Sub

    Public Class EssaiRectangle

        Public Essai As New Viewport3D
        Public Cam As New PerspectiveCamera
        Public Lumiere As New AmbientLight(Colors.White)
        Public Eclairage As New ModelVisual3D
        Public Volume As New ModelVisual3D
        Public Rectangle As New GeometryModel3D
        Public Mailles As New MeshGeometry3D
        Public Color As New DiffuseMaterial(Brushes.Cyan)
        Public Colorback As New DiffuseMaterial(Brushes.Red)

        Dim A As New Point3D(0, 1, -4)
        Dim B As New Point3D(0, 0, -4)
        Dim C As New Point3D(0, 1, 0)
        Dim D As New Point3D(0, 0, 0)

        Friend Sub New()

            Eclairage.Content = Lumiere
            With Cam
                '.FarPlaneDistance = 5
                .Position = New Point3D(-1, 0.5, 4)
                .LookDirection = New Vector3D(0, 0, -1)
                .UpDirection = New Vector3D(0, 1, 0)
                .FieldOfView = 45
            End With
            Mailles.Positions.Add(A)
            Mailles.Positions.Add(B)
            Mailles.Positions.Add(C)
            Mailles.Positions.Add(D)
            Dim u() As Integer = {0, 1, 2, 1, 3, 2}
            For i = 0 To 5
                Mailles.TriangleIndices.Add(u(i))
            Next i
            Rectangle.Geometry = Mailles

            Rectangle.Material = Color
            Rectangle.BackMaterial = Colorback
            Volume.Content = Rectangle
            Essai.Camera = Cam
            Essai.Children.Add(Eclairage)
            Essai.Children.Add(Volume)
        End Sub
    End Class

End Module

Conclusion :


La prochaine fois, c'est la boule de cristal.

Codes Sources

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.