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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage