Marcando la superficie en Plot3D
¿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
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]