%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Pgftools%3F%20%D0%AF%20%D0%B4%D1%83%D0%BC%D0%B0%D1%8E%2C%20%D1%87%D1%82%D0%BE%20%D1%83%20%D0%BC%D0%B5%D0%BD%D1%8F%20%D0%B5%D1%81%D1%82%D1%8C%20%D0%B2%D1%81%D0%B5%20%D0%BF%D1%80%D0%B5%D0%B4%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B2%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D0%B5%2C%20%D0%BD%D0%BE%20%D0%B1%D0%B5%D0%B7%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%BD%D0%BE.png)
Я попытался построить график с помощью параметрической нотации (т. е. ({x},{y},{sort(x^2-y^2)}) и как показано в моем коде ниже, но ничто не отображает изображение, показанное на графических калькуляторах.
\begin{tikzpicture}[scale=1.5]
\begin{axis}[
grid=major,
3d box=complete,
enlargelimits=false,
colormap/cool,
xlabel=$x$,
ylabel=$y$,
zlabel=$z$,
zlabel style = {sloped like x axis}
]
\addplot3 [
surf,
shader=faceted,
samples=50,
z buffer=sort,
] {sqrt((x)^2-(y)^2)};
\end{axis}
\end{tikzpicture}
решение1
Вы сделали почти все правильно, pgfplots
просто не очень хорошо получается извлекать квадратный корень из отрицательного числа. Так что если немного подкорректировать домены, то получится
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}[scale=1.5]
\begin{axis}[
grid=major,
3d box=complete,
enlargelimits=false,
colormap/cool,
xlabel=$x$,
ylabel=$y$,
zlabel=$z$,
zlabel style = {sloped like x axis}
]
\addplot3 [domain=2:4,domain y=-2:2,
surf,
shader=faceted,
samples=50,
z buffer=sort,
] {sqrt(x^2-y^2)};
\end{axis}
\end{tikzpicture}
\end{document}
Что касается вашего запроса в комментариях, можно записать функцию как sqrt(u*v)
, где u=x+y
и v=x-y
. Тогда x=(u+v)/2
и y=(u-v)/2
. Поскольку переменные являются просто заполнителями в параметрическом графике, мы можем переименовать u
и v
в x
и y
, соответственно, и прийти к
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}[scale=1.5]
\begin{axis}[xmax=2,xmin=-2,
grid=major,
3d box=complete,
enlargelimits=false,
colormap/cool,
xlabel=$x$,
ylabel=$y$,
zlabel=$z$,
zlabel style = {sloped like x axis}
]
\addplot3 [domain=0:4,domain y=0:4,
surf,
shader=faceted,
samples=50,
z buffer=sort,
] ({(x+y)/2},{(x-y)/2},{sqrt(x*y)});
\addplot3 [domain=0:4,domain y=0:4,
surf,
shader=faceted,
samples=50,
z buffer=sort,
] ({-(x+y)/2},{-(x-y)/2},{sqrt(x*y)});
\end{axis}
\end{tikzpicture}
\end{document}