Voir les messages sans réponses | Voir les sujets actifs Nous sommes le 23 Juin 2018, 15:55



Répondre au sujet  [ 2 messages ] 
POV-Ray, fonctions et tableaux 
Auteur Message
Nouveau venu
Nouveau venu

Inscription: 27 Sep 2008, 23:08
Messages: 1
Répondre en citant le message
Message POV-Ray, fonctions et tableaux
Bonjour à tous,

comme c'est mon premier message sur ce forum, je me présente en tant qu'utilisateur de POV-Ray pour représenter la physique sur laquelle je travaille.

Sans être franchement débutant, je ne suis pas un utilisateur chevronné non plus, donc peut-être que la réponse à mon problème est très simple.

Alors voilà, je cherche à générer une fonction extrapolée à partir d'un tableau (tridimensionnel) de valeurs.

Pour ce faire, j'extrait les données de mon fichier et le stocke sous forme de tableau, puis je tente de faire une extrapolation de Lagrange par morceaux* (et c'est là le drame) sur des cubes de côté une unité de mon tableau.

Quand je cherche à appeler la valeur (I,J,K) de mon tableau dans ma fonction, j'écris** :

Code:
#declare ExtrapFunc=function{

   SpaceSample[floor(x)][floor(y)][floor(z)]

}


Où SpaceSample est le nom du tableau;

Mais là, drame, la console me répond :

Code:
SpaceSample[floor(x)
Parse Error: Float expected but vector or color expression found.


Je comprends ce message comme étant « dans les crochets d'indexation du tableau, l'environnement function n'est pas valable », ce qui s'est avéré en spécifiant les paramètres de ma fonction comme étant k, l et m (au lieu des x, y et z par défaut), où je me suis vu répondre que cette fois, on trouvait une variable indéfinie...

Brefle, je ne me démonte pas et tente quelques boucles faisant varier des indices I, J et K et en comparant x, y et z à ces derniers, mais là le test conditionnel #if (I<x) me donne encore le message "Float expected but vector found instead".

Donc il semblerait qu'en écrivant les choses comme je le fais, il y a un problème dû au fait que l'environnement function n'est plus valable à certains endroits. Connaitriez-vous une solution simple à mon problème ?

D'avance merci pour toute aide, cordialement,

Hibou

*oui parce que si je fais tous les polynômes de lagranges en 3D pour des dizaines de milliers de points au minimum, ça va être lourd, et le résultat risque d'être en plus très moche (Lagrange n'est pas la meilleure manitère d'interpoler, je sais, mais elle est relativement simple)

**j'ai appris hier qu'il n'y avait pas besoin de floor pour appeler une valeur dans un tableau, que POV-Ray arrondit tout seul, mais ça ne change pas (beaucoup) le message d'erreur


28 Sep 2008, 14:04
Profil
P'tit timide
P'tit timide

Inscription: 01 Déc 2007, 11:24
Messages: 14
Répondre en citant le message
Message 
Effectivement, x y et z sont des variables pré-définies : <1,0,0> ; <0,1,0> et <0,0,1> (je crois qu'il y a aussi u et v qui sont comme ca). De plus, tu ne dis pas quels sont les parametres attendus par ta fonction.

Essaye quelque chose comme ca :
Code:
#declare ExtrapFunc=function(a,b,c){
   SpaceSample[floor(a)][floor(b)][floor(c)]
}


En espérant que ca résolve ton problème :)

_________________
neXtgen Povray Editor
Communauté Francophone de Povray


09 Juin 2009, 23:02
Profil Site Internet
Afficher les messages postés depuis:  Trier par  
Répondre au sujet   [ 2 messages ] 

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Forum style by ST Software for PTF.
Traduction par: phpBB-fr.com