Legen Sie die absolute Farbe für 3D-Punkte in MayaVi fest
Ich benutze dieMayaVi Python-Bibliothek zum Zeichnen von 3D-Punkten mit derpoints3d
Klasse.Die Dokumentation gibt an, dass die Farbe jedes Punktes durch ein viertes Argument angegeben wird,s
:
Außerdem können Sie ein viertes Array s mit der gleichen Form wie x, y und z übergeben, wobei für jeden Punkt ein zugehöriger Skalarwert angegeben wird, oder eine Funktion f (x, y, z), die den Skalarwert zurückgibt. Dieser Skalarwert kann verwendet werden, um die Farbe und die Größe der Punkte zu modulieren.
Dies gibt einen Skalarwert für jeden Punkt an, der den Punkt einer Farbkarte zuordnet, zcopper
, jet
oderhsv
. Z.B. aus ihrer Dokumentation:
import numpy
from mayavi.mlab import *
def test_points3d():
t = numpy.linspace(0, 4*numpy.pi, 20)
cos = numpy.cos
sin = numpy.sin
x = sin(2*t)
y = cos(t)
z = cos(2*t)
s = 2+sin(t)
return points3d(x, y, z, s, colormap="copper", scale_factor=.25)
Gibt:
Stattdessen möchte ich den tatsächlichen Wert für jeden Punkt als Tupel (r, g, b) angeben. Ist das in MayaVi möglich? Ich habe versucht, das zu ersetzens
mit einem Array von Tupeln, aber ein Fehler wird ausgelöst.