π
<-

[W.I.P] Make3D pour TI-Nspire

Pour TI-Nspire OS 3.0 ou ultérieur.

Re: [W.I.P] Make3D pour Nspire CAS

Unread postby Loulou 54 » 29 Apr 2011, 13:03

Tu te servais des plots statistiques ou qqch comme ça, non ?
Et là, c'est mieux en LUA ? Niveau rapidité ?
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.7%
 
Posts: 1988
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Re: [W.I.P] Make3D pour Nspire CAS

Unread postby Levak » 29 Apr 2011, 13:05

Loulou 54 wrote:Tu te servais des plots statistiques ou qqch comme ça, non ?

Oui.

Et là, c'est mieux en LUA ? Niveau rapidité ?

Hum ... le rendu est juste instantané, ce qui permet de faire des turn-over avec 34 fps... regarde la page d'avant, le gif que tu verras est plus lent que la réalité :D:
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [W.I.P] Make3D pour Nspire CAS

Unread postby Loulou 54 » 29 Apr 2011, 13:15

Cool !
Sinon, j'ai vu aussi la 3D de l'OS 3.0 sur une touchpad, la rapidité est impressionnante face à celle de la 89 ! Il y a du potentiel sur ces calto ! :#langue#:
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.7%
 
Posts: 1988
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Re: [W.I.P] Make3D pour Nspire CAS

Unread postby Levak » 29 Apr 2011, 13:27

Loulou 54 wrote:Cool !
Sinon, j'ai vu aussi la 3D de l'OS 3.0 sur une touchpad, la rapidité est impressionnante face à celle de la 89 ! Il y a du potentiel sur ces calto ! :#langue#:

Et bien c'est exactement la même vitesse.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [W.I.P] Make3D pour Nspire CAS

Unread postby Levak » 30 Apr 2011, 12:10

J'ai récursifié le modèle des menus et je peux maintenant faire des sous menus, sous menus de sous menus etc ...

Image

L'astuce est que finalement les boutons ne redirigent plus le flux, mais ont bel et bien la fonction associée (Avant les boutons redirigeaient vers les évents du type on.charIn(ch), comme par exemple la GUI ).
- Les flèches haut et bas permettent de sélectionner un item du menu
- la touche gauche permet de dérouler le menu (donc ajouter un écran), et ce dernier prend le contrôle sur les évents (J'utilise un Screen Manager). Si c'est un simple bouton, on exécute la fonction associée.
- la touche droite ferme le sous menu
- la touche Enter, un clic de souris, ou un raccourci clavier (1, 2, 3 ..), permet de faire la même chose que la touche gauche (la redirection a lieu ici en fait)

Le seul problème, je trouve, c'est que je n'arrive pas à faire en sorte que lorsque l'évent mouseDown() est appelé et qu'aucun bouton n'est touché, fermer tous les écrans. Ça pourrait parraître simple, seulement, lorsque j'appuie sur le bouton "space", l'event mouseDown() est maintenu, du coup, ça empile et dépile les écrans instantanément.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [W.I.P] Make3D pour Nspire CAS

Unread postby Levak » 04 May 2011, 23:36

J'ai ajouté la gestion de Dupliquer et Supprimer des objets. Cela implique que j'ai également fait un gestionnaire d'objets qui contient toute la scène. De plus, j'ai rajouté un sélecteur (la petite main) qui permet d'ajouter un ou plusieurs objets à un groupe de sélection qui subira toutes les transformations sans distinction. On peut parcourir les éléments avec la touche TAB/Maj+TAB et ajouter à la sélection avec ENTER.
Je travaille également sur les scripts d'import/export, notamment pour conserver le format objet de la version TI-BASIC de Make3D.
Image

Les objectifs sont : coder les fonctions du menu Translate (Grab, Scale, Rotate), du menu Add (Point, Line, Plane, Cube), et donc coder une classe Popup qui remplacera Request et Text du TI-BASIC que l'on ne peut pas utiliser ici.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [W.I.P] Make3D pour Nspire CAS

Unread postby Adriweb » 05 May 2011, 00:16

Bravo, c'est vraiment classe :)

Sinon, pour les popup, tu peux utiliser mes RoundRects :P

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 82.2%
 
Posts: 14896
Images: 1211
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [W.I.P] Make3D pour Nspire CAS

Unread postby Lionel Debroux » 05 May 2011, 06:44

Super :):
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6875
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: [W.I.P] Make3D pour TI-Nspire

Unread postby Levak » 05 Jul 2011, 18:24

De retour après ma période d'exams, j'ai passé 2 jours à me replonger dans le code.

J'en ai profité pour actualiser les classes que j'avais commencées pour Make3D puis améliorées pour mon Sudoku, cela m'a permis de ne pas perdre une miette de mon précédent travail (C'est ça la souplesse de travailler avec du langage objet de haut niveau, même si le Lua n'est pas à la base un langage objet)

J'ai également codé à la sauce Blender les outils de transformation Grab/Scale/Rotate (en français : Déplacer/Redimensionner/Tourner), c'est à dire, avec l'apparition d'un overlay en bas de la fenêtre permettant de rentrer un nombre.

Dans Blender, les outils fonctionnent également avec des contraintes immédiates :
  • Appuyer sur X, Y ou Z contraint la transformation à s'opérer sur l'axe sélectionné uniquement
  • Utiliser Maj+X, +Y, ou +Z contraint la transformation à ne pas s'opérer sur l'axe sélectionné (Donc déplacement que sur Y et Z, X et Z ou X et Y)
  • Appuyer sur - inverse le signe de la transformation
  • La transformation est prévisualisée dès que l'on rentre une valeur (sans appuyer sur Enter)
  • Appuyer sur Esc, annule la transformation en cours, Enter, la valide

Et bien, j'ai codé tout cela pour Make3D.
La seule chose que je n'ai pas citée et qui existe dans Blender, c'est la gestion de la souris. Je suis en train de travailler dessus, seulement, ça casse un peu l'optimisation que j'avais faite pour toute la gestion du clavier. En effet, la gestion de la souris est différente pour la Translation, pour la Rotation et pour la mise à l'échelle.

Image

Je dois également reprendre la matrice de rotation car j'ai glissé une erreur dans la rotation Z ( que je n'avais jamais testée auparavant puisque la caméra opère une rotation X et Y seulement)

Je me demande également si l'utilisation des matrices est pas meilleur (j'avais déjà posée la question), ou ne serait-ce que faire des optimisations au niveau de l'accès de ma trig table (un précalcul de toute la table trigonométrique pour éviter des pertes de performance énormes). En effet, voici une scène qui fait particulièrement ramer Make3D (en temps réel, en effet, on parle à un autre niveau) :

Image

J'ai dupliqué 26 fois mon cube de départ (qui comprend 27 points et 24 faces), soit 702 points et 624 faces. Il y a une perte de performance évidemment à l'affichage. Je ne peux pas accélérer la gestion des listes déjà très rapide, mais je pense que c'est au niveau des opérations trigonométriques qu'il y a de quoi gagner.

D'un autre coté, cette scène a 80% de points inutiles (en doubles ou invisibles au rendu).


Pour ceux qui voudraient tester (toujours le même lien) :
http://levak.free.fr/ftp/nspire/Make3D/Make3D.tns

Raccourcis :
  • Espace : Affiche le menu
  • Tab/Maj+Tab : Pointer un objet
  • Enter : Ajouter l'objet pointé à la liste de sélection
  • Maj+D : Dupliquer
  • Maj+X : Supprimer
  • R : Lance l'outil de rotation
  • G : Lance l'outil de positionnement
  • S : Lance l'outil de redimensionnement
Lorsqu'un outil est lancé :
  • X : contraindre la transformation sur X
  • Y : || sur Y
  • Z : || sur Z
  • Maj+X : contrainte la transformation sur tous les axes sauf sur X
  • Maj+Y : || sauf sur Y
  • Maj+Z : || sauf sur Z
  • - : valeur négative
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [W.I.P] Make3D pour Nspire CAS

Unread postby critor » 05 Jul 2011, 18:48

Génial! :toudou:
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.7%
 
Posts: 42528
Images: 17406
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

PreviousNext

Return to Nspire-Lua

Who is online

Users browsing this forum: ClaudeBot [spider] and 0 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2050 utilisateurs:
>2030 invités
>15 membres
>5 robots
Record simultané (sur 6 mois):
43991 utilisateurs (le 10/09/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)