Marcando la superficie en Plot3D

Sep 04 2020

¿Hay alguna forma de marcar una línea específica en el gráfico de Plot3D en escala logarítmica? Mi trama inicial es: `

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]

`Si no está en la escala de registro, sé que puedo usar ParametricPlot3D y usar Mostrar para superponerlos juntos. Pero una vez que lo trazo en la escala Log, ParametricPlot no se puede mostrar en la escala Log. Lo que me gustaría tener es algo como esto:

    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]

`Sin embargo, dado que MeshFunctions no da una idea significativa de lo que significa la línea. ¿Hay alguna manera de especificar el valor X para trazar una línea en esa superficie? ¡Gracias!

Respuestas

2 MichaelE2 Sep 04 2020 at 05:30

Las dos primeras coordenadas pasadas a las funciones de malla son la Logde la xy yvalores. Aquí está el código para mi interpretación de la intención del MeshFunctionscódigo de ejemplo del OP (con un valor diferente para la línea de malla):

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]