Oznaczanie powierzchni na Plot3D
Czy istnieje sposób zaznaczenia określonej linii na wykresie Plot3D w skali logarytmicznej? Mój początkowy wątek to: `
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]
`Jeśli nie jest w skali logarytmicznej, wiem, że mogę użyć narzędzia ParametricPlot3D i funkcji Pokaż, aby nałożyć je na siebie. Ale kiedy wykreślę to w skali logarytmicznej, parametr ParametricPlot nie może wyświetlić się w skali logarytmicznej. Chciałbym mieć coś takiego:
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]
`Jednakże, ponieważ MeshFunctions nie daje znaczącego pojęcia o tym, co oznacza ta linia. Czy istnieje sposób, aby po prostu określić wartość X, aby wykreślić linię na tej powierzchni? Dzięki!
Odpowiedzi
Pierwsze dwie współrzędne przekazywane do funkcji siatki są Logz xi ywartości. Oto kod mojej interpretacji intencji przykładowego MeshFunctionskodu PO (z inną wartością dla linii siatki):
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]