0

I know that some tags do not correspond but I wanted to draw your attention to this question. I made two graphics in asymptote.ualberta.ca/, but I want to download them as pdf file, but it keeps loading infinitely, that does not happen if I try to download it as png. Does anyone else have this problem or is it that maybe the problem is my machine? Any way to solve this problem in case the problem is located in my code?

First:

settings.render=8;
import graph3;
import palette;

currentprojection=orthographic(1,1,0.3); //currentlight.background = gray(0.7);

typedef triple newtriple(pair); // https://en.wikipedia.org/wiki/Hyperboloid newtriple f(real a, real b, real c) { return new triple(pair k){ real u=k.x,v=k.y; real x,y,z; x=acosh(v)cos(u); y=bcosh(v)sin(u); z=c*sinh(v); return (x,y,z); }; } triple F(pair z){ return f(1,1,1)(z); }

// Gauss map triple g(pair z) { real u=z.x, v=z.y; triple U=(-cosh(v)sin(u),cosh(v)cos(u),0); triple V=(sinh(v)cos(u),sinh(v)sin(u),cosh(v)); return 1.5*cross(U,V)/abs(cross(U,V)); }

// https://trecs.se/hyperboloidOfOneSheet.php path3 vector(pair z) { real u=z.x, v=z.y; real a=1, b=1, c=1; real x,y,z; x=-bccosh(v)^2cos(u); y=-accosh(v)^2sin(u); z=absinh(v)*cosh(v); return O--(-(x,y,z)/sqrt(x^2+y^2+z^2)); }

size(13cm);

surface sf=surface(F,(0,-1.5),(2pi,1.5),40,Spline); //sf.colors(palette(sf.map(zpart),Rainbow())); draw(sf,RGB(0,153,216),render(merge=true)); label("$(\mathcal{H})$",(-1,2.2,2.7),dir(45)); add(vectorfield(vector,F,(0,-1.5),(2pi,1.5),10,0.5,red,render(merge=true))); xaxis3(Label("$x$",EndPoint),0,3.5,Arrow3); yaxis3(Label("$y$",EndPoint),0,3.5,Arrow3); zaxis3(Label("$z$",EndPoint),0,3,Arrow3); pair z=(pi/3,1); dot("$P$",F(z),dir(-10),white+3bp); draw(Label("$N(P)$",EndPoint,LeftSide),shift(F(z))*vector(z),white,Arrow3);

transform3 t=shift(5(Y-X)); surface sg=surface(g,(0,-1.5),(2pi,1.5),20,Spline); //sg.colors(palette(sg.map(zpart),Rainbow())); draw(tsg,RGB(231,76,60),render(merge=true)); label("$N\left(\mathcal{H} \right)$",t(-.5,0.5,1.2),dir(45)); dot(t(0,0,1.5/sqrt(2)),white+3bp); draw(Label("$x$",EndPoint),t((0,0,0)--(3.5,0,0)),Arrow3); draw(Label("$y$",EndPoint),t((0,0,0)--(0,3.5,0)),Arrow3); draw(Label("$z$",EndPoint),t*((0,0,0)--(0,0,3)),Arrow3);

draw(Label("$N$",Relative(.5),N),subpath((0,0,0)--t*(0,0,0),0.4,0.6),Arrow3);

label("$\frac{1}{\sqrt{2}}$",t*(0.9,0,1.4),dir(45));

Second:

settings.render=8;
import graph3;
import palette;

currentprojection=orthographic(1,1,0.3); //currentlight.background = gray(0.7);

typedef triple newtriple(pair); // https://en.wikipedia.org/wiki/Hyperboloid newtriple f(real a, real b, real c) { return new triple(pair k){ real u=k.x,v=k.y; real x,y,z; x=-au; y=bv; z=cexp(u)sin(v); return (x,y,z); }; } triple F(pair z){ return f(1,1,1)(z); }

// Gauss map triple g(pair z) { real u=z.x, v=z.y; real x,y,z; x=exp(u)sin(v); y=exp(u)cos(v); z=sqrt(1+exp(2u)); return -7(x,y,-1)/z; }

// https://trecs.se/hyperboloidOfOneSheet.php path3 vector(pair z) { real u=z.x, v=z.y; real a=1, b=1, c=1; real x,y,z; x=-bcexp(u)sin(v); y=-acexp(u)cos(v); z=absqrt(1+exp(2*u)); return O--(-(x,y,-1)/z); }

size(480,400,false);

surface sf=surface(F,(-10,-12),(3,6),40,Spline); //sf.colors(palette(sf.map(zpart),Rainbow())); draw(sf,RGB(0,153,216),render(merge=true)); add(vectorfield(vector,F,(-10,-12),(3,6),10,2.5,red,render(merge=true))); //xaxis3(Label("$x$",BeginPoint),0,7,Arrow3); draw(Label("$x$",EndPoint),(12,0,0)--(-12,0,0),Arrow3); yaxis3(Label("$y$",EndPoint),0,12,Arrow3); zaxis3(Label("$z$",EndPoint),-18,22,Arrow3); label("$\mathcal{H}$",(-.5,5.5,18),dir(45));

transform3 t=shift(20(Y-X)); surface sg=surface(g,(-2.7,-12),(3,6),20,Spline); //sg.colors(palette(sg.map(zpart),Rainbow())); draw(tsg,RGB(231, 76, 60),render(merge=true)); label("$N\left(\mathcal{H} \right)$",t(-.5,6,6),dir(45)); draw(Label("$x$",EndPoint),t((0,0,0)--(12,0,0)),Arrow3); draw(Label("$y$",EndPoint),t((0,0,0)--(0,12,0)),Arrow3); draw(Label("$z$",EndPoint),t((0,0,0)--(0,0,13)),Arrow3); //dot(Label("$(0,0,1)$",black),t(0,0,7),dir(135),white+5bp); label("$(0,0,1)$",t(.5,0,7),dir(135));

draw(Label("$N$",Relative(.5),N),subpath((0,0,0)--t*(0,0,0),0.4,0.6),Arrow3);

Willie Wong
  • 24,733
  • 8
  • 74
  • 106
Zaragosa
  • 599
  • Have you tried using a locally installed version of asymptote? I just compiled the first of your two files with no problems on my chromebook (took about 20 seconds). // That said my locally installed version is v2.70, which seems to be behind what is on the ualberta website. – Willie Wong Dec 08 '21 at 00:53
  • (Also, do not misuse tags) – Willie Wong Dec 08 '21 at 00:53
  • @WillieWong What happens is that I don't have my laptop at hand, and the machine I'm working on is borrowed. But I'll take that into account, to see if I can install Asympote. Thanks for your comment. – Zaragosa Dec 08 '21 at 00:59
  • @WillieWong last question, the code for this question link can also be? it's just to confirm nothing else, I'm already downloading Asymptote. – Zaragosa Dec 08 '21 at 01:31
  • Yes, I confirm that I can compile the code in your linked question and I get something that looks, at a quick glance, very much like the image that immediately preceded it in your post. – Willie Wong Dec 08 '21 at 04:33

1 Answers1

2

I just updated asymptote.ualberta.ca to the latest development version (which will soon released as Asymptote 2.71) and confirmed that your first example works fine.

John Bowman
  • 878
  • 4
  • 5