2015-07-23 1 views
2

Je comprends comment tracer les contours d'une grille de données dans mayavi comme ceci:Que signifient les documents Mayavi contour3d lorsqu'il fait référence aux "flèches"?

from mayavi import mlab 
mlab.contour3d(my_data_grid) 

Cependant, je suis curieux de savoir ce que cette autre signature de la fonction est:

mlab.contour3d(x, y, z, my_data_grid) 

Le docs disent :

Si quatre rangées, (x, y, z, scalaires) sont passés, les 3 premiers tableaux donnent la position des flèches, et la dernière la valeur scalaire.

Quels sont les "flèches"? Je n'ai trouvé aucun exemple et quand j'essaye de l'appeler avec mon ensemble de données je reçois une erreur de segfault donc n'ai pas été en mesure de tester. Maintenant, je comprends le format attendu par mlab pour x, y et z et j'ai réussi à le faire fonctionner. Cependant, il n'y avait pas de flèches! Je suppose qu'il s'agit d'une erreur dans la documentation ...

Répondre

1

Ce n'est pas vraiment une erreur dans la documentation, mais plutôt une manière apparemment maladroite de décrire la fonction. Dans le même document, contour3d:

Emplacements iso-surfaces pour un volume 3D de données fournis en tant qu'arguments

et il est précisé que (mine de caractères gras):

La x En d'autres termes, ce sont des tableaux 3D, avec des positions situées sur une grille 3D orthogonale et régulièrement espacée avec le plus proche voisin dans l'espace correspondant au plus proche voisin dans le arr, les tableaux y et z sont supposés avoir été générés par numpy.mgrid, ay. La fonction construit un champ scalaire en supposant que les points sont régulièrement espacés.

Les « flèches » semblent être une façon un peu maladroite de dire que x, y et z sont `

tableaux 3D, avec des positions situées sur une grille orthogonale et régulièrement espacées 3D

avec la fonction 'construire un champ scalaire' comme une iso-surface, reliant efficacement les points (positions).