Contrassegnare la superficie su Plot3D
C'è un modo per contrassegnare una linea specifica sul grafico Plot3D in scala Log. La mia trama iniziale è: `
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]
`Se non è in scala Log, so che posso usare ParametricPlot3D e usare Show per sovrapporli insieme. Ma una volta tracciato in scala log, ParametricPlot non può essere visualizzato in scala log. Quello che vorrei avere è qualcosa del genere:
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]
`Tuttavia, poiché MeshFunctions non dà un'idea significativa di cosa rappresenta la linea. C'è un modo per specificare semplicemente il valore X per tracciare una linea su quella superficie? Grazie!
Risposte
I primi due coordinate passati alle funzioni maglie sono Logdel xe yvalori. Ecco il codice per la mia interpretazione dell'intenzione del MeshFunctionscodice di esempio dell'OP (con un valore diverso per la linea 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]