Seite 1 von 1

mayavi: mlab.points3d Zahl der Elemente != Zeichnung

Verfasst: Dienstag 9. August 2011, 15:56
von mushroom
Ich habe drei arrays, die die Koordinaten zur visuellen Darstellung von Kugeln enthalten. Wieso wird bei der Ausgabe nur eine Kugel gemalt, obwohl die Koordinaten für zwei Kugeln gegeben sind?

Code: Alles auswählen

from enthought.mayavi import mlab

x = [0.0,0.5] #Koordinaten
y = [0.0,0.5]
z = [0.0,0.5]
an = [70, 25] #Radien

mlab.points3d(x, y, z, an, color=(1,0.5,1))
mlab.show()

Re: mayavi: mlab.points3d Zahl der Elemente != Zeichnung

Verfasst: Dienstag 9. August 2011, 16:08
von mushroom
Problem hat sich bereits erledigt. der Vollständigkeit halber: Lösung ist entweder durch

Code: Alles auswählen

mlab.points3d(x, y, z, s, scale_factor = 1)
oder

Code: Alles auswählen

pts = mlab.points3d(x, y, z, s)
pts.glyph.glyph.clamping = False
gegeben.

Grüße
Markus

Re: mayavi: mlab.points3d Zahl der Elemente != Zeichnung

Verfasst: Dienstag 9. August 2011, 16:42
von CM
Sorry, wenn ich dennoch antworte: Die zweite Option ist IMHO etwas unglücklich, weil sie eine Abhängigkeit in der Reihenfolge der Statements vorgibt:

Code: Alles auswählen

In [3]: x = [0, 0.5]

In [4]: pts = mlab.points3d(x, x, x, [1,2])

In [5]: pts.glyph.glyph.clamping = False

In [6]: mlab.show()
würde anders aussehen als

Code: Alles auswählen

In [7]: pts = mlab.points3d(x, x, x, [1,2])

In [8]: mlab.show()
, wobei "pts.glyph.glyph.clamping = False" nachträglich gar nicht möglich ist. Diesen Weg zu gehen ist wie gemacht sich ins Knie zu bohren. ;-)

Gruß,
Christian