Menandai suface di Plot3D

Sep 04 2020

Apakah ada cara untuk menandai garis tertentu pada grafik Plot3D dalam skala Log. Plot awal saya adalah: `

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]

`Jika tidak ada dalam skala Log, saya tahu saya dapat menggunakan ParametricPlot3D dan menggunakan Tampilkan untuk melapisinya bersama-sama. Tapi begitu saya memplotnya dalam skala Log, ParametricPlot tidak dapat ditampilkan dalam skala Log. Yang ingin saya miliki adalah seperti ini:

    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]

`Namun, karena MeshFunctions tidak memberikan gambaran yang berarti tentang apa arti garis tersebut. Apakah ada cara untuk menentukan nilai X untuk memplot garis di permukaan itu? Terima kasih!

Jawaban

2 MichaelE2 Sep 04 2020 at 05:30

Dua koordinat pertama yang diteruskan ke fungsi mesh adalah Logdari xdan ynilai. Berikut adalah kode untuk interpretasi saya tentang maksud MeshFunctionskode contoh OP (dengan nilai berbeda untuk garis mesh):

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]