在 Asymptote 中绘图。帮助在此处检查我的代码

在 Asymptote 中绘图。帮助在此处检查我的代码

我想要绘制 $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);

但是我使用 geogebra想画成这样

答案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);

在此处输入图片描述

相关内容