Разметка поверхности на Plot3D

Sep 04 2020

Есть ли способ пометить конкретную линию на графике Plot3D в шкале журнала. Мой первоначальный сюжет:

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]

`Если это не в масштабе журнала, я знаю, что могу использовать ParametricPlot3D и использовать Show, чтобы наложить их вместе. Но как только я рисую его в масштабе журнала, ParametricPlot не может отображаться в масштабе журнала. Я бы хотел иметь что-то вроде этого:

    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]

`Однако, поскольку MeshFunctions не дает осмысленного представления о том, что означает линия. Есть ли способ просто указать значение X, чтобы построить линию на этой поверхности? Благодаря!

Ответы

2 MichaelE2 Sep 04 2020 at 05:30

Первые две координаты переданы функции сетки являются Logиз xи yценностей. Вот код для моей интерпретации намерения MeshFunctionsкода примера OP (с другим значением для линии сетки):

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]