地域を色付けする
Sep 04 2020
私の検索はこれでどこにもつながりませんでした。
私はMeshRegion(たとえば、3Dに埋め込まれた2D多様体)を持っていて、その上に関数をプロットしたいと思います:(x、y、z)の点の色が座標の関数によって決定されるように。
MeshCellStyleセルごとに単色を指定できるが、フルColorFunctionスタイルの座標にアクセスできることがわかりました。もありますRegionPlot3D。これは(x,y,z) ∈ ℛ、完全次元の部分多様体に対して(を使用して)機能する可能性がありますが、3Dに埋め込まれた低次元のオブジェクトが渡されると、サンプリングアルゴリズムはヒットしません。
回答
9 kglr Sep 04 2020 at 17:13
あなたは、あなたのメッシュ座標とポリゴンを抽出することができますMeshRegionし、構築するためにそれらを使用GraphicsComplexしてVertexColors。
例えば:
mreg = DiscretizeRegion[
ImplicitRegion[-3 y - 4 x y^2 + 4 x z^2 + 4 x^2 z + 2 y^2 z^2 + z^3 == 0,
{x, y, z}], MaxCellMeasure -> .001]
mc = MeshCoordinates[mreg];
polys = MeshCells[mreg, 2];
f[x_, y_, z_] := x y + z;
Graphics3D[{EdgeForm[],
GraphicsComplex[mc, polys, VertexColors -> (Hue[f@##] & @@@ Rescale[mc])]},
Boxed -> False]
VertexColors -> (Opacity[.7, Hue[f@##]] & @@@ Rescale[mc])取得するために使用