Pythonライブラリを使用して、points3d
クラスを使用して3Dポイントをプロットしています。 The documentationは、各点の色は、第四の引数を通してs
に指定されていることを指定します。MayaViの3Dポイントの絶対色を指定してください
加えて、第四のアレイのX、Y、 およびz関連するスカラー値を与えると同じ形状のを渡すことができ各点について、または関数 f(x、y、z)がスカラー値を返します。このスカラー値は、 を使用して、ポイントの色とサイズを調整することができます。
これはcolourmapにポイントをマッピングする各点に対するスカラー値を指定する、などcopper
、jet
又はhsv
。例えば。それらのドキュメントから:
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)
を与える:
その代わりに、私は(R、G、B)のタプルとして各点について実際の値を指定したいです。これはMayaViでも可能ですか? s
をタプルの配列に置き換えようとしましたが、エラーがスローされます。
256x256x256値でユニークなカラーマップを指定せずに、任意の0〜255のRGB値を生成するためにこれを行う方法はありますか? 逆のスペクトル()関数を特徴付ける方法があります。スペクトラル()はドメイン[0,1]と0-255,0-255,0の範囲の関数です。 255? この現象はいつも気にならず、いくつかのアプリケーションが周りを回っているのを見ています(たとえば、所有者がソースを私にリリースすることを拒否したvtkプログラムのtrackvisesなど)。 – aestrivex
mayavi.core.lut_manager、特にmayavi.core.lut_manager内のpylab_lutsを調べて、これらがどのように構築されているかを確認することができます(自分自身を構築し、任意の動作を割り当てようとする) – Chrismit
これで遊んだことがあります。スカラが指定されている各頂点に一意のRGB値を指定するよりも、カスタムlutsを使用して目的のカラースキームを指定する方がはるかに一般的ではありません。 RGBカラースペクトルを一意に定義する256x256x256の値を持つLUTを指定することができるため、これは真実ではありません。しかし実際にそれをすることは特別な痛みであろう。 この質問に対する正しい答えは「申し訳ありませんが、これを行う正しい方法はありません」と思います。 – aestrivex