Bir Bölgeyi Renklendirin
Benim aramalarım bu konuda hiçbir yere götürmedi.
Bir MeshRegion(örneğin, 3B'de gömülü bir 2B manifoldum var) ve bunun üzerinde bir fonksiyon çizmek istiyorum: öyle ki (x, y, z) noktasındaki bir noktanın rengi koordinatların bir fonksiyonu tarafından belirlenir.
MeshCellStyleHücre başına düz renk belirlememe izin veren, ancak tam bir ColorFunctionstil için koordinatlara erişim sağlayan buldum . Ayrıca RegionPlot3D, (x,y,z) ∈ ℛtam boyutlu bir altmanifold için (kullanarak ) işe yarayabilecek, ancak 3B'ye gömülü daha düşük boyutlu bir nesne geçirildiğinde, örnekleme algoritması asla çarpmaz.
Yanıtlar
Aşağıdaki konularda örgü koordinatlarını ve poligonları çıkarabilir MeshRegionve bir inşa etmek için kullanabilirsiniz GraphicsComplexile VertexColors.
Örneğin:
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]
Almak VertexColors -> (Opacity[.7, Hue[f@##]] & @@@ Rescale[mc])için kullanın