Page 1 of 2

Impossible d'utiliser une fonction dans un graphe 3D

Unread postPosted: 14 Jun 2014, 14:39
by DaveBowman
Bonjour à tous,

Je rencontre un problème sur ma TI Nspire.
J'ai créé une fonction dans l'éditeur (il s'agit bien d'une fonction et non d'un programme), et je voudrais l'utiliser pour afficher une surface en 3D.
Ma fonction prend 2 réels en arguments et renvoie un réel.
J'ai essayé de utiliser dans le module représentation 3D de la Nspire, en affichant z en fonction de x et y (en passant x et y en arguments de ma fonction, qui retourne z).
Et là, la calculette me répond "erreur : syntaxe".

Je tiens à préciser qu'il n'y a pas d'erreur dans ma fonction : j'ai fait un essai avec une fonction très simple (retournant le résultat de l'addition des 2 paramètres), et la même erreur se produit.
J'ai essayé de l'utiliser dans la représentation en 2D, et là, aucun problème ma fonction s'affiche comme elle devrait. Le problème concerne donc seulement la représentation 3D.

J'ai fouillé un peu mais je n'ai pas trouvé de topic qui corresponde à ce problème, ni ici ni sur mon ami Google.
Avez-vous déjà rencontré ce genre d'erreur ?

Merci pour votre aide.

Dave

Re: Impossible d'utiliser une fonction dans un graphe 3D

Unread postPosted: 14 Jun 2014, 14:43
by Levak
Je viens de tester, car j'avais un doute à savoir si la représentation 3D gérait les fonctions custom, et c'est le cas.
Donc oui, ça doit marcher avec des fonctions custom.

Peux-tu poster le code de ta fonction ?

Re: Impossible d'utiliser une fonction dans un graphe 3D

Unread postPosted: 14 Jun 2014, 15:04
by DaveBowman
Merci pour la réponse rapide !

Voici la fonction basique que j'utilise pour le test:
Fonction.jpg


Et l'erreur quand je tente de la mettre en 3D :
Erreur.jpg


Il n'y a pas de problème en 2D :
2D.jpg

Pour les captures d'écran j'utilise le logiciel TI Nspire Student Software, cependant il affiche la même erreur que la calculette réelle.

Re: Impossible d'utiliser une fonction dans un graphe 3D

Unread postPosted: 14 Jun 2014, 15:31
by Levak
Il semble qu'il ne soit en fait pas possible en fait de donner des fonctions au grapheur 3D. J'ai horriblement confondu fonction et expression.
Ça marche avec fct(a,b) := a + b en fait, pas avec Define fct(a, b) = Func : return a + b : EndFunc

Re: Impossible d'utiliser une fonction dans un graphe 3D

Unread postPosted: 14 Jun 2014, 16:27
by DaveBowman
Merci, effectivement ça marche à merveille avec fct(a,b) := a + b
Cependant, la fonction que je souhaite réellement utiliser (qui calcule le nombre d'itérations pour un point de l'ensemble de Mandelbrot) s'étend sur plusieurs lignes et comprend une boucle while. Si j'essaye mettre la fonction dans la page Calculs comme précédemment, sans Define ni Func, elle met des ":" pour les retours à la ligne, mais elle n'a pas l'air d'aimer ça, erreurs de syntaxe. J'ai fait quelques essais mais je ne parviens pas à lui faire avaler plusieurs instructions.
Je vais poster le code de ma fonction.

Re: Impossible d'utiliser une fonction dans un graphe 3D

Unread postPosted: 14 Jun 2014, 16:35
by Levak
DaveBowman wrote:Je vais poster le code de ma fonction.

Tu n'as pas dû lire le début de ma phrase : Il ne semble pas possible de mettre des fonctions custom dans le grapheur 3D.
Pas besoin de poster ton code ;)
Encore une fois, j'ai confondu expression et fonction.

Re: Impossible d'utiliser une fonction dans un graphe 3D

Unread postPosted: 14 Jun 2014, 16:38
by Adriweb
Je pense qu'il voulait dire qu'il allait poster le code de sa fonction afin de savoir s'il était possible de la transformer en "simple" expression (qui marcherait, donc)

Re: Impossible d'utiliser une fonction dans un graphe 3D

Unread postPosted: 14 Jun 2014, 16:48
by DaveBowman
Effectivement, comme cela semblait marcher avec l'instruction a+b (sans Define et Func), j'avais pensé que je pouvais faire pareil avec ma fonction.

mand_1.jpg

mand_2.jpg

Re: Impossible d'utiliser une fonction dans un graphe 3D

Unread postPosted: 15 Jun 2014, 14:07
by DaveBowman
J'ai essayé d'une autre manière.
J'ai enregistré dans une matrice les valeurs de retour de ma fonction, pour ensuite les afficher dans le graphe 3D.
Or il semble que les listes/matrices ne fonctionnent pas non plus dans le grapheur 3D: ni en mode fonction z=f(x,y) ni en mode paramétrique (x,y,z en fonction de t et u). La calto me sort la même erreur : syntaxe...
Savez vous si on peut utiliser des matrices dans le grapheur 3D ?

Re: Impossible d'utiliser une fonction dans un graphe 3D

Unread postPosted: 15 Jun 2014, 14:19
by Levak
DaveBowman wrote:Savez vous si on peut utiliser des matrices dans le grapheur 3D ?

On ne peut pas non. Il faut créer son propre moteur 3D en Lua pour ça.