"깨끗한" 방식으로 z-단순 포물면을 그리는 방법

"깨끗한" 방식으로 z-단순 포물면을 그리는 방법

z=x^2+y^2간격을 두고 싶습니다 0<z<9. 그래서 일반적으로 나는 단지 명령 pgfplots과 함께 사용하고 addplot3있으며 너무 많은 문제를 일으키지 않는 직사각형 도메인에 대해 사용했습니다. 예(fromTikZ에서 쌍곡선 포물면과 같은 선직면을 그리는 쉬운 방법이 있습니까?):

여기에 이미지 설명을 입력하세요

그러나 내 경우에는 포물면을 그리고 싶고 곡선의 가장자리가 평면 r=3에 있도록 하고 싶습니다 z=9. 나의 첫 번째 시도는 다음과 같았습니다(이전 질문에서 수정됨).

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=-3,ymin=-3,zmin=0,xmax=3,ymax=3,zmax=10]
\addplot3 [surf,draw=none,restrict z to domain=0:9] {x^2+y^2};
\end{axis}
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

분명히 도메인은 문제를 일으킵니다. 평가된 마지막 z 값이 가 아니기 때문에 포물면이 전혀 인쇄되지 않습니다 . 오히려 각 좌표 쌍(x,y)에 따라 달라지며 z=9아래 값에 가깝습니다 .z=9

설정할 수는 있지만 samples y=300컴파일 시간이 엄청나게 걸릴 것입니다. 또한 스택 크기를 많이 소모하므로 문서의 가능성이 제한됩니다.

여기에 이미지 설명을 입력하세요

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=-3,ymin=-3,zmin=0,xmax=3,ymax=3,zmax=10]
\addplot3 [surf,draw=none,restrict z to domain=0:9,samples y=300] {x^2+y^2};
\end{axis}
\end{tikzpicture}
\end{document}

확실히 이 작업을 수행하는 더 좋은 방법이 있습니까?

답변1

Percusse가 의견에서 말했듯이 극좌표를 사용할 수 있습니다.

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=-3,ymin=-3,zmin=0,xmax=3,ymax=3,zmax=10]
\addplot3 [surf,draw=none,restrict z to domain=0:9, data cs=polar, domain=0:360, y domain=0:3] (x, y, y^2);
\end{axis}
\end{tikzpicture}
\end{document}

관련 정보