Plot3D'de yüzeyi işaretleme

Sep 04 2020

Günlük ölçeğinde Plot3D grafiğindeki belirli bir çizgiyi işaretlemenin herhangi bir yolu var mı? İlk arsam:

Plot3D[(y/(0.5*y + 2*x)), {x, 1/10^10, 1/10^3}, {y, 0, 4.5/10^6}, 
 ScalingFunctions -> {"Log", "Log", None}, 
 ColorFunctionScaling -> True]

`Günlük ölçeğinde değilse, ParametricPlot3D'yi ve bunları birlikte kaplamak için Göster'i kullanabileceğimi biliyorum. Ancak bunu Log ölçeğinde çizdiğimde, ParametricPlot Log ölçeğinde gösterilemiyor. Sahip olmak istediğim şey şöyle bir şey:

    Plot3D[(y/(0.5*y + 2*x)), {x, 1/10^10, 1/10^3}, {y, 0, 4.5/10^6}, 
 ScalingFunctions -> {"Log", "Log", None}, 
 ColorFunctionScaling -> True, 
 MeshFunctions -> Function @@@ {{{v, u}, v^3}}, Mesh -> 1, 
 PlotPoints -> 100, Ticks -> Automatic]

Bununla birlikte, MeshFunctions, çizginin ne anlama geldiğine dair anlamlı bir fikir vermediğinden. Bu yüzeyde bir çizgi çizmek için sadece X değerini belirtmenin bir yolu var mı? Teşekkürler!

Yanıtlar

2 MichaelE2 Sep 04 2020 at 05:30

Mesh fonksiyonlarına aktarılan ilk iki koordinat Log, xve ydeğerleridir. OP'nin örnek MeshFunctionskodunun niyetini yorumlamam için kod (örgü çizgisi için farklı bir değerle):

Plot3D[(y/(y/2 + 2*x)), {x, 1/10^10, 1/10^3}, {y, 0, 4.5/10^6}, 
 ScalingFunctions -> {"Log", "Log", None}, 
 ColorFunctionScaling -> True, 
 MeshFunctions -> {Function[{logx, logy, z}, Exp[logy]^3]}, 
 Mesh -> {{(5*^-7)^3}}, PlotPoints -> 100, Ticks -> Automatic]