Creer un Cylindre 3D en WPF

cs_sondos01 Messages postés 22 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 14 décembre 2012 - 4 juil. 2008 à 16:05
cs_sondos01 Messages postés 22 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 14 décembre 2012 - 8 juil. 2008 à 11:43
 Bonjour,

Je cherche à tracer en C# un cylindre en 3D pour l'utiliser en WPF . Aurez vous des tutoriels intéressant la dessus.

Merci ,
Sondos

NB: VS 2005, .NET 3.0

4 réponses

cs_niky Messages postés 168 Date d'inscription jeudi 28 juin 2001 Statut Membre Dernière intervention 18 octobre 2008 7
4 juil. 2008 à 19:36
Salut,

A priori, ça passe déjà par un composant Viewport3D dans lequel tu vas placer un mesh qui sera un cylindre.
Je pense que le reste est derrière ce lien : http://msdn.microsoft.com/fr-fr/magazine/cc163449.aspx
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
6 juil. 2008 à 13:42
Salut,

Regarde peut-etre dans les exemples du livre "3D Programming for windows" de Charles Petzold, téléchargeablesici.
Tu n'as peut etre pas de cylindre tout fait, mais il y a de quoi s'inspirer !

Mx
MVP C# 
0
cs_sondos01 Messages postés 22 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 14 décembre 2012
7 juil. 2008 à 16:19
Article magnifique.
Le code pour générer le cylindre n'est pas simple à comprendre( l'algorithme) mais je vais me plonger dedans.
Merci;
Sondos
0
cs_sondos01 Messages postés 22 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 14 décembre 2012
8 juil. 2008 à 11:43
 Salut à tous,
Après avoir surmonté ma peur du code SimpleCylinderGenerator.cs, je suis actuellement entrain de crée un projet WPF pour faire apparaitre  un cylindre dans mon  Viewport3D.

Charles Petzold a effectué  a généré le Cylindre en XAML de la facon suivante (SimpleCylinderDemo project dans Foundation2007 sur http://msdn.microsoft.com/fr-fr/magazine/cc163449.aspx  ) :

<!-- Bind to resource and MeshGeometry property. -->
          <GeometryModel3D
              Geometry="{Binding Source={StaticResource cylinder},
                                Path=MeshGeometry, Mode=OneTime}">   

Moi je souhaite générer le cylindre en C# en non en XAML. Alors j'ai essayé de faire naivement :

 Petzold.MeshGeometries.Cylinder MyCylinder = new Petzold.MeshGeometries.Cylinder();
            //Points1 et Point2 Rayon1 ...
            myGeometryModel3D.Geometry = MyCylinder;
            myModel3DGroup.Children.Add(myGeometryModel3D);

et l'erreur est la suivantes:
Error    1    Cannot implicitly convert type 'Petzold.MeshGeometries.Cylinder' to 'System.Windows.Media.Media3D.Geometry3D'   

Ce qui me semble normal car je ne fait pas de binding.

Mes questions sont les suivante:

Comment faire un Binding en C# pour palier à mon problème?
Y'a-til un avantage  de Page sur Window dans le debut d'un fichier XAML?



ou <Window  xmlns=..../>

Merci Beaucoup,
Sondos
0
Rejoignez-nous