Le Forum de TI-BANK.fr

Le forum de la banque de programmes pour calculatrices graphiques Texas Instruments (aide débutants, résolution problèmes...).
Accueil­Portail­Calendrier­FAQ­Rechercher­S'enregistrer­Membres­Groupes­Connexion
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 [W.I.P] Make3D pour Nspire CAS

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8  Suivant
AuteurMessage
Mic
Administrateur
Administrateur


Masculin Age: 25
Classe: Prof de Maths
Calculatrice(s): Voyage 200 & TI-Nspire CAS
Messages: 11452
Efficacité: 13
Localisation: Orléans
Date d'inscription: 07/09/2004

Divers
Dernière note en maths: -/20

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Mar 3 Mar - 18:37

C'est beau.........

_________________
Responsable de TI-BANK (http://www.ti-bank.fr)

Projet 1 : How well do you know your World ? [68k] (19%)
Projet 2 : Da Vinci Flight [68k] (0.5%)
Projet 3 : Mastermind Nspire [Nspire] (80%)
Projet 4 : Ephy Nspire [Nspire] (0%)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.ti-bank.fr
Levak
Elite
Elite


Masculin Age: 16
Classe: TermS
Calculatrice(s): TI-83+ && TI-Nspire CAS
Messages: 822
Efficacité: 9
Date d'inscription: 27/11/2008

Divers
Dernière note en maths: 10.5/20 /o\

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Mar 3 Mar - 18:48

Mic a écrit:
C'est beau.........


Tu l'as testé ? c'est si magnifique que ça ?






ou tu est resté bouche bé devant le gif animé ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://levakandcie.dahoster.net
Mic
Administrateur
Administrateur


Masculin Age: 25
Classe: Prof de Maths
Calculatrice(s): Voyage 200 & TI-Nspire CAS
Messages: 11452
Efficacité: 13
Localisation: Orléans
Date d'inscription: 07/09/2004

Divers
Dernière note en maths: -/20

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Mar 3 Mar - 22:47

lol juste le gif animé ^^

_________________
Responsable de TI-BANK (http://www.ti-bank.fr)

Projet 1 : How well do you know your World ? [68k] (19%)
Projet 2 : Da Vinci Flight [68k] (0.5%)
Projet 3 : Mastermind Nspire [Nspire] (80%)
Projet 4 : Ephy Nspire [Nspire] (0%)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.ti-bank.fr
Levak
Elite
Elite


Masculin Age: 16
Classe: TermS
Calculatrice(s): TI-83+ && TI-Nspire CAS
Messages: 822
Efficacité: 9
Date d'inscription: 27/11/2008

Divers
Dernière note en maths: 10.5/20 /o\

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Sam 7 Mar - 16:28

Je suis en train de concocter un script d'export en python pour blender pour enregistrer en fichier texte les matrices de points et de faces d'un modèle 3D.

Pour l'instant je n'en suis que aux points, j'ai eu du mal à démarrer, ça ne faisait seulement que 3 jours que je venais de commencer python xD

Spoiler:
 


Qui donne dans la console de blender:
Spoiler:
 


et enfin le fichier test.txt (nommé pour l'instant comme ça) contenant :

cube := [[1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0], [1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0], [-1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0], [1, 1, 1, 1, 1, 1, 1, 1]]

@+ ^^

edit:

finit la partie pour les faces
Spoiler:
 


Bon, j'avoue, je me suis aidé d'internet...

hop hop hop

cube:=[[1.0, 1.0, -1.0, -2.0, 2.0, 1.0, -1.0, 0.0], [3.0, 1.0, 1.0, 3.0, 2.0, -0.0, 1.0, 4.0], [0.0, 0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 2.0], [1, 1, 1, 1, 1, 1, 1, 1]]:cube_edge:=[[ 1, 2, 3, 4], [ 5, 8, 7, 6], [ 1, 5, 6, 2], [ 2, 6, 7, 3], [ 3, 7, 8, 4], [ 5, 1, 4, 8]]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://levakandcie.dahoster.net
Levak
Elite
Elite


Masculin Age: 16
Classe: TermS
Calculatrice(s): TI-83+ && TI-Nspire CAS
Messages: 822
Efficacité: 9
Date d'inscription: 27/11/2008

Divers
Dernière note en maths: 10.5/20 /o\

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Lun 9 Mar - 19:59

NOUVELLE VERSION !

http://levak.ifrance.com/prgm/files/Make3D_v4.tns

quoi de neuf ? :

- Script python enfin finit et bouclé
- Mode Solid/Wire enfin résolu mais pas fixé (seulement pour des objets convexes)
- Inverse les normales (relatif au mode Solid)
- Optimisation générale (round() au lieu de approx())

Voilà un pitit tuto :

1) Obtenir Blender v2.48 et Python v2.5 ou v2.6 (attention, pas la v3.01 je ne garanti pas que ça marche !)
http://www.blender.org/download/get-blender/
http://www.python.org/download/

2) Lancer Blender :
Une console s'ouvre (n'y touchez pas) puis Blender de lance :




3) Importer un modèle :


Vous avez à disposition des menus comme sur d'autres logiciels, voici comment importer.
File > Import
Là vous trouverez votre bonheur parmi les multiples formats gérés, après rien de plus simple.



Ce tuto ne fait pas l'objet de l'apprentissage de Blender. Si vous voulez vous y intéresser il y a de bonnes bases ici :
http://blenderclan.tuxfamily.org/html/modules/content/index.php?id=3

Warning Attention Warning
Sélectionner l'objet (un seul) que vous voulez exporter avec CLIC DROIT
S'il est en plusieurs morceaux, sélectionnez les tous avec [MAJ] +CLIC DROIT puis [CTRL] + [J] + [Enter]

4) Ouvrir le script "exporter.py"
Mon script est disponible ici :
http://levak.ifrance.com/sessions/exporter.py (clic droit > enregistrer la cible sous..)

On va faire simple : Mode Text
Cliquez sur l'icône à gauche symbolisé par une grille, puis passez en mode Text



Puis Text > Open



Et on va chercher à l'endroit où on a enregistré le fichier pour obtenir ceci :



moi j'ai des couleurs

5) Lancer le script
(mettez votre curseur sur la partie texte)
Pour lancer un script Python sur Blender, il faut utiliser le raccourcis [ALT] + [P]

et on obtient ceci :



- "Nom" correspond au nom de l'objet 3D sur la calculatrice, mais pas forcément le nom du fichier.
- "Arrondir à" permet d'optimiser la matrice de points. Il correspond au nombre de chiffres après la virgule.
- "Mode d'export" vous invite à choisir la dimension de la matrice des faces. Un quadrilatère est formé de 4 points, donc 4 colonnes. On peu faire rentrer un Triangle dans cette matrice en dupliquant le dernier point. Un Triangle est composé de 3 points donc 3 colonnes. On peut faire rentrer un Quadrilatère dans cette matrice en divisant ce dernier.
Si vous estimez avoir plus de quads que de tri, préférez un export en Quadrilatères, sinon en Triangles.

Après avoir remplis les champs, appuyez sur "Exportez sous...." et le script vous invite à enregistrer le fichier d'export qui sera au format *.TXT, sinon appuyez sur "Annuler".

Voilà un exemple de fichier généré :

Code:
Cube:=[[1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0],[1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0],[-1.0,-1.0,-1.0,-1.0,1.0,1.0,1.0,1.0],[1,1,1,1,1,1,1,1]]:Cube_edge:=[[1,2,3,4],[5,8,7,6],[1,5,6,2],[2,6,7,3],[3,7,8,4],[5,1,4,8]]


Il se décompose en plusieurs parties :

Cube:=[
[1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0],
[1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0],
[-1.0,-1.0,-1.0,-1.0,1.0,1.0,1.0,1.0],
[1,1,1,1,1,1,1,1]
]
:
Cube_edge:=[
[1,2,3,4],
[5,8,7,6],
[1,5,6,2],
[2,6,7,3],
[3,7,8,4],
[5,1,4,8]
]

Vous pouvez noter que la syntaxe est prête à être directement générée sur la calculatrice !

Cube est une matrice de points, elle comprend sur la première ligne les coordonnées x des points, sur la secondes les coordonnées Y et enfin sur la troisième les coordonnées Z. La dernière ligne permet de faire des transformations non linéaires telles que la translation, donc elle doit systématiquement rester à la valeur "1"

Cube_edge est la matrice des faces. L'ordre est dans le sens trigonométrique. elle informe la référence de chaque faces du point auquel il est rattaché.

6) Exporter et envoyer le fichier sur la calculatrice

Vous avez tous d'abord besoin de Nspire Text Editor disponible ici:
http://ti.bank.free.fr/index.php?mod=archives&ac=voir&id=397

Puis de TI Nspire Comuter Link disponible ici :
http://education.ti.com/educationportal/sites/US/productDetail/us_nspire_computerlink.html

Commençons :

- On copie colle le contenu du fichier d'export vers la fenêtre Nspire Text Editor :



J'ai remarqué que lorsque l'on met tel quel le texte, ça va beaucoup plus vite ! Donc ne mettez pas le texte en mode "Expression Maths"

- On enregistre, on exporte au format *.tns



- Envoyer le fichier *.tns vers la TI avec TI Computer Link
- Envoyer également Make3D.tns



7) Sur Calculatrice

- Ouvrir le classeur contenant les matrices, sélectionnez tout avec [CTRL] + [A], copier le tout avec [CTRL] + [C]



- Sortez du classeur et ouvrez Make3D.tns
Lisez de préférence le readme puis allez à la fenêtre 1.3 (page de calcul)

- Coller les matrices avec [CTRL] + [V] puis [Enter]

- Pour éviter les reboots de la calto car surcharge des buffers, effacez l'historique avec [Menu] + [5]



- Enfin lancez le programme avec make3d( " cube " )
Warning Attention ! Warning L'argument doit être une chaîne de caractère, donc mettez le nom de la variable entre guillemets.



- Enfin, admirer le joli Cube sur la page 1.2 !!





Fin du tutoriel.
Toute réutilisation de ce tutoriel est interdite sans mon autorisation préalable.

Levak

__________________________

Est-ce qu'il y a quelqu'un de volontaire pour faire une version Word ou Open Office ? (j'ai un peu la flemme ^^)
Allez à vos com's
@+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://levakandcie.dahoster.net
Emyl
Elite
Elite


Masculin Age: 17
Classe: Terminal S ^^
Calculatrice(s): Ti-84+ TI-83+ TI-82
Messages: 212
Efficacité: 4
Localisation: Sur sa chaise (électrique)
Date d'inscription: 21/12/2008

Divers
Dernière note en maths: 7.5/10 ouais !! coef 1/8... oh :(

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Lun 9 Mar - 20:48

allez en format pdf, et tu l'ajoutes dans
Citation:
"-----l'encyclopédie CSF-----
Calculatrices Sans Frontières"
de Critor ^^

_________________
Voila ce que moi avoir dit à vous
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Mic
Administrateur
Administrateur


Masculin Age: 25
Classe: Prof de Maths
Calculatrice(s): Voyage 200 & TI-Nspire CAS
Messages: 11452
Efficacité: 13
Localisation: Orléans
Date d'inscription: 07/09/2004

Divers
Dernière note en maths: -/20

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Lun 9 Mar - 22:31

hola c'est du lourd !!
Bravo pour ce travail !

_________________
Responsable de TI-BANK (http://www.ti-bank.fr)

Projet 1 : How well do you know your World ? [68k] (19%)
Projet 2 : Da Vinci Flight [68k] (0.5%)
Projet 3 : Mastermind Nspire [Nspire] (80%)
Projet 4 : Ephy Nspire [Nspire] (0%)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.ti-bank.fr
Levak
Elite
Elite


Masculin Age: 16
Classe: TermS
Calculatrice(s): TI-83+ && TI-Nspire CAS
Messages: 822
Efficacité: 9
Date d'inscription: 27/11/2008

Divers
Dernière note en maths: 10.5/20 /o\

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Mar 10 Mar - 0:42

Allez, j'ai finalement craqué.

http://levak.ifrance.com/sessions/Make3D_tutoriel.pdf

^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://levakandcie.dahoster.net
critor2000
Modérateur
Modérateur


Masculin Age: 31
Classe: Professeur lycée/collège
Calculatrice(s): 2xNspire (1er prix concours TI-Bank 2008), V200, 2x92+HW1, 92II, 2x92, 89HW2, 85, 2x84+SE, 2x84+, 1x83+SE, 1x83+, 2x82Stats.fr, 4x82, 76.fr, Collège+, Graph35+, Graph25+, fx-92Collège2D+, 3xHP48GX
Messages: 2324
Efficacité: 24
Localisation: dans le train entre Montpellier et Nîmes (France)
Date d'inscription: 25/10/2008

Divers
Dernière note en maths: 14/20

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Mar 10 Mar - 0:53

Super!
Qu'attends-tu pour nous le mettre sur le portail?

Tu vas exploser les téléchargements et les votes...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://annazoo.free.fr En ligne
Levak
Elite
Elite


Masculin Age: 16
Classe: TermS
Calculatrice(s): TI-83+ && TI-Nspire CAS
Messages: 822
Efficacité: 9
Date d'inscription: 27/11/2008

Divers
Dernière note en maths: 10.5/20 /o\

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Mar 10 Mar - 9:05

critor2000 a écrit:
Super!
Qu'attends-tu pour nous le mettre sur le portail?

Tu vas exploser les téléchargements et les votes...


J'attends de voir s'il ya des remarques sur le prog lui même pour occasionnellement faire des modifs de dernière minutes (bug, prcticité, astuces, optimisations...)

@+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://levakandcie.dahoster.net
Emyl
Elite
Elite


Masculin Age: 17
Classe: Terminal S ^^
Calculatrice(s): Ti-84+ TI-83+ TI-82
Messages: 212
Efficacité: 4
Localisation: Sur sa chaise (électrique)
Date d'inscription: 21/12/2008

Divers
Dernière note en maths: 7.5/10 ouais !! coef 1/8... oh :(

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Mar 10 Mar - 11:12

GG :p
au fait tu peux poser encore des captures d'écran, pour ce qui n'ont pas (hélas) n-spire stp ?

c'est super beau, champion ^^

_________________
Voila ce que moi avoir dit à vous
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Levak
Elite
Elite


Masculin Age: 16
Classe: TermS
Calculatrice(s): TI-83+ && TI-Nspire CAS
Messages: 822
Efficacité: 9
Date d'inscription: 27/11/2008

Divers
Dernière note en maths: 10.5/20 /o\

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Mer 11 Mar - 19:23

Le tuto en vidéo.
La vidéo est faite à l'ava vite donc pas de retouche textuelle au fur et à mesure des actions, faut déjà avoir dans la tête tout le processus ^^

1ere vidéo ici (cliquer sur la liste à gauche)
http://mc_fps5.servhome.org/TPE_site/TPE_site_v1/vid.html
(6 minutes 16)

Vous verrez les longs moments de calcul....

@+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://levakandcie.dahoster.net
Levak
Elite
Elite


Masculin Age: 16
Classe: TermS
Calculatrice(s): TI-83+ && TI-Nspire CAS
Messages: 822
Efficacité: 9
Date d'inscription: 27/11/2008

Divers
Dernière note en maths: 10.5/20 /o\

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Mer 11 Mar - 21:38

Bonsoir all
Bon, j'ai deux idées qui vont faire un ptit peu retarder la sortie de la version stable, pour éviter de retracer x fois la même ligne, vu que pour chaque faces, il y a des arêtes juxtaposées, donc à ne pas retracer...

- Stocker les couples de points dans une liste au fur et mesure et tracer ou non la ligne si le couple existe déjà (demande des ressources)
- Gérer une nouvelle matrice contenant cette fois si les couples des points pour tracer directement les lignes, tout en vérifiant leur normale avec la matrice des faces (des fichiers plus gros > mémoire)

Deux solutions qui ont un point fort mais aussi un point faible (mis entre parenthèses)

voilà voilà... c'est l'un ou l'autre, je ne sais pas trancher

@+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://levakandcie.dahoster.net
Levak
Elite
Elite


Masculin Age: 16
Classe: TermS
Calculatrice(s): TI-83+ && TI-Nspire CAS
Messages: 822
Efficacité: 9
Date d'inscription: 27/11/2008

Divers
Dernière note en maths: 10.5/20 /o\

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Ven 13 Mar - 21:56

Levak a écrit:


- Stocker les couples de points dans une liste au fur et mesure et tracer ou non la ligne si le couple existe déjà (demande des ressources)



bon bah déjà cette solution ne permet absolument pas d'optimiser, vu qu'il faut vérifier à chaque fois si le couple existe...

Vais essayer de voir si l'autre est possible...tout en conservant la méthode du sens des normales.
Spoiler:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://levakandcie.dahoster.net
Levak
Elite
Elite


Masculin Age: 16
Classe: TermS
Calculatrice(s): TI-83+ && TI-Nspire CAS
Messages: 822
Efficacité: 9
Date d'inscription: 27/11/2008

Divers
Dernière note en maths: 10.5/20 /o\

MessageSujet: Re: [W.I.P] Make3D pour Nspire CAS   Lun 23 Mar - 18:26

Gros Up encore une fois !

J'ai crée une librairie pour mon viewer Make3D !

Ce qu'il y a dedans :

- Duplicate_mesh("Obj", 'Mesh", x , y, z ) duplique les coordonnées de Mesh et d'une copie de Mesh translatée de x, y et z, pour les stocker dans Obj

-Join_Mesh("Obj", "Mesh1", "Mesh2", x, y, z) concatène les coordonnées de Mesh1 et celles de Mesh2 appliquées d'une translation x, y et z pour les stocker dans Obj

- Mk_cube("Obj", L) Crée un cube de longueur d'arêtes L pour le stocker dans Obj

- Mk_Quad("Obj", h, P, Def) Crée un objet composé de quadrilatères, de hauteur h, et dont les deux extrémités ont P nombre de points, avec comme résolution Def, pour le stocker dans Obj

- Mk_Tri("Obj", h, P, Def) Crée un objet composé de Triangles, de hauteur h, et dont la base a P nombre de points, avec comme résolution Def, pour le stocker dans Obj

- QuadToTri("Obj") converti les matrices de faces 4n (quadrilatères) en matrices 3n (triangles)

- TriToQuad("Obj") converti les matrices de faces 3n (Triangles) en matrices 4n (Quadrilatères)

A noter que les noms d'objets doivent être mis sous forme de chaîne et que la conversion QuadToTri d'une matrice déjà convertie grace à TriToQuad, peut générer des faces inutiles. Enfin, je vais sûrement faire un script pour retirer les doublons occasionnés par duplicate_mesh et join_mesh

Quand à l'optimisation, je n'ai rien trouvé, et j'ai l'impression que j'ai par ce biais là ralenti le prog ?!!

En tout cas, voici un exemple de modèle généré UNIQUEMENT sur la calto (pds le cours de maths)


Bon c'est vrai j'avoue, j'ai un peu trafiqué moi même les matrices de points pour avoir un scale que d'un seul coté, mais sinon je n'ai utilisé que mes librairie !

@+

edit:
plein de screen :
Spoiler:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://levakandcie.dahoster.net
 

[W.I.P] Make3D pour Nspire CAS

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 4 sur 8Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Forum de TI-BANK.fr :: Forum TI-Nspire :: Programmation-
Poster un nouveau sujet   Répondre au sujet