我想要绘制 $4x^2+4y^2-z^2=0$ 这是我的代码,请帮忙检查
import graph3;
currentprojection=orthographic(5,4,4);
size3(100);
triple f(pair t){return (1\2*sin(t.y)*cos(t.x), 1\2*sin(t.y)*sin(t.
x), -1*cos(t.y));}
surface s=surface(f,(pi,0) ,(2*pi,pi),nu=40,nv=40,Spline);
draw(s,green+opacity(0.9),render(merge=true));
xaxis3(Label("$x$"),p=blue ,Arrow3);
yaxis3(Label("$y$"),p=blue ,Arrow3);
zaxis3(Label("$z$"),p=blue ,Arrow3);
答案1
我不太懂渐近线,但你的输入不能令人满意
4x^2+4y^2-z^2=0
所以我把它改成了可以实现的东西。
\documentclass[varwidth,border=3mm]{standalone}
\usepackage{asymptote}
\begin{document}
\begin{asy}
import graph3;
currentprojection=orthographic(5,4,4);
size3(100);
triple f(pair t){return (t.y*cos(t.x)/2,t.y*sin(t.x)/2, t.y);}
surface s=surface(f,(0,-1) ,(2*pi,3),nu=40,nv=40,Spline);
draw(s,green+opacity(0.9),render(merge=true));
xaxis3(Label("$x$"),p=blue ,Arrow3);
yaxis3(Label("$y$"),p=blue ,Arrow3);
zaxis3(Label("$z$"),p=blue ,Arrow3);
\end{asy}
\end{document}
还不错,因为我真的不知道我在这里做什么。
更新。编译于http://asymptote.ualberta.ca/
import graph3;
currentprojection=orthographic(1,1,1);
size(10cm);
triple f(pair t){return (t.y*cos(t.x)/2,t.y*sin(t.x)/2, t.y);}
surface s=surface(f,(0,-2) ,(2*pi,2),Spline);
draw(s,cyan+opacity(0.9),blue+0.6bp,render(merge=true));
xaxis3(Label("$x$"),Arrow3);
yaxis3(Label("$y$"),Arrow3);
zaxis3(Label("$z$"),Arrow3);