mayavi: mlab.points3d Zahl der Elemente != Zeichnung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mushroom
User
Beiträge: 58
Registriert: Sonntag 21. November 2010, 12:32

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()
mushroom
User
Beiträge: 58
Registriert: Sonntag 21. November 2010, 12:32

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
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

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
Antworten