![]() ![]() |
import three; size(7.5cm,0); currentprojection=perspective(20,18,8); currentlight=light(8,10,2); path3 p=(-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle; draw(p); path3 g=(1,0,0)..(0,1,1)..(-1,0,0)..(0,-1,1)..cycle; draw(g,2bp+.8red); draw(surface(g),paleblue); dot(g,5bp+.8green); draw((0,0,0)--normal(p),1bp+blue,Arrow3()); |
![]() ![]() |
import graph3; size(8cm,0); currentprojection=perspective(5,5,3.5); currentlight=light(white,(2,2,2),(2,-2,-2)); path3 p=(-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle; draw(p,lightblue); path3 g=(1,0,0)..(0,1,1)..(-1,0,0)..(0,-1,1)..cycle; draw(g,2bp+.8red); draw(surface(g),palered); dot(g,5bp+.8green); limits((-1.5,-1.5,0),(1.4,1.4,1.5)); xaxis3("$x$",Arrow3); yaxis3("$y$",Arrow3); zaxis3("$z$",Arrow3); |
![]() ![]() |
import graph3; size(8cm,0); currentprojection=perspective(10,10,10); currentlight=light(white,(2,2,2),(2,-2,-2)); draw(surface(path3(polygon(5))),blue); draw(shift(Z)*surface(unitcircle3),red); draw(shift(2Z)*surface(unitcircle3,new pen[] {red,green,blue,yellow})); limits((-2,-2,-1),(2,2,3)); xaxis3("$x$",Arrow3); yaxis3("$y$",Arrow3); zaxis3("$z$",Arrow3); |
![]() ![]() |
import graph3; size(7.5cm,0); currentprojection=orthographic(3,2,4); currentlight=(5,3,0); real f(pair z) {return z.y^2-z.x^2;} draw(surface(f,(-1,-1),(1,1),nx=32,Spline), lightblue+opacity(0.3),blue); |
![]() ![]() |
import graph3; size(7.5cm,0); currentprojection=orthographic(4,2,3); currentlight=(5,-2,4); real f(pair z) {return z.y^2-z.x^2;} draw(surface(f,(-1,-1),(1,1),nx=32,Spline), lightblue+opacity(0.8),blue); |
![]() ![]() |
import graph3; size(7.5cm,0); currentprojection=orthographic(2,0,1.5); real f(pair z) { real r=2pi*(z.x^2+z.y^2); if (r!=0) return sin(r)/r; else return 1; } draw(surface(f,(-2.5,-2),(2.5,2),100,Spline),lightblue); |
![]() ![]() |
import graph3; import contour; size(7.5cm,0); size3(7.5cm,IgnoreAspect); real f(pair z) { return 2z.x^2-z.x+z.y^2; } real[] lignesniveaux={50,100,150,200,250}; currentprojection=orthographic(-25,-25,600); limits((0,0,0),(10,10,300)); xaxis3(Label("$x$",position=MidPoint,align=SE), OutTicks(Step=2)); yaxis3(Label("$y$",position=MidPoint,align=SW), OutTicks(Step=2)); zaxis3(Label("$z=2x^2-x+y^2$",position=EndPoint,align=3N+E), Bounds(Min,Max), InTicks(Step=100,Label(align=Y))); draw(surface(f,(0,0),(10,10),nx=20,Spline), lightgray,meshpen=black+thick(),nolight); draw(lift(f,contour(f,(0,0),(10,10),lignesniveaux)),1bp+red); |
![]() ![]() |
import graph3; import contour; size(7.5cm,0); size3(7.5cm,IgnoreAspect); real f(pair z) { return 2z.x^2-z.x+z.y^2; } real[] lignesniveaux={50,100,150,200,250}; currentprojection=orthographic(-25,-25,600); limits((0,0,0),(10,10,300)); xaxis3(Label("$x$",position=MidPoint,align=SE), OutTicks(Step=2)); yaxis3(Label("$y$",position=MidPoint,align=SW), OutTicks(Step=2)); zaxis3(Label("$z=2x^2-x+y^2$",position=EndPoint,align=3N+E), Bounds(Min,Max), InTicks(Step=100,Label(align=Y))); draw(surface(f,(0,0),(10,10),nx=10,Spline), lightgray,meshpen=black+thick(),nolight); Label [] L=sequence(new Label(int i) { return scale(0.75)*Label(format("$z=%g$",lignesniveaux[i]), align=E,EndPoint); },5); draw(L,lift(f,contour(f,(0,0),(10,10),lignesniveaux)),1bp+red); |
![]() ![]() |
import graph3; import contour; size(7.5cm,0); size3(8cm,10cm,12cm,IgnoreAspect); real f(pair z) { return 2z.x^2-z.x+z.y^2; } real[] lignesniveaux={50,75,100,125,150,175,200,225}; currentprojection=orthographic(-25,-15,600); limits((0,0,0),(8,10,300)); xaxis3(Label("$x$",position=MidPoint,align=SE), OutTicks(Step=2)); yaxis3(Label("$y$",position=MidPoint,align=SW), OutTicks(Step=2)); zaxis3(Label("$z=2x^2-x+y^2$",position=EndPoint,align=4N+E), Bounds(Min,Max), InTicks(Step=100,Label(align=Y))); draw(surface(f,(0,0),(8,10),nx=10,Spline), white,meshpen=.8bp+red,nolight); Label [] L=sequence(new Label(int i) { return scale(0.75)*Label(format("$z=%g$",lignesniveaux[i]), align=E,EndPoint); },8); draw(L,lift(f,contour(f,(0,0),(8,10),lignesniveaux)),1.5bp+blue); |
![]() ![]() |
import graph3; import contour; size(8cm,IgnoreAspect); real f(pair z) { return 2z.x^2+z.x+z.y^2; } real[] lignesniveaux={50,100,150,200,250}; currentprojection=orthographic(15,-30,600); limits((-10,0,0),(0,10,300)); xaxis3(Label("$x$",position=MidPoint,align=3S), Bounds(Both,Value), OutTicks(Step=2,Label(align=-2Y-Z))); yaxis3(Label("$y$",position=MidPoint,align=5E), Bounds(Both,Value), InTicks(Step=2,Label(align=2X))); zaxis3(Label("$z=x(2x+1)+y^2$",position=EndPoint,blue,align=3Z+2X), Bounds(), InTicks(Step=100,Label(align=-X))); draw(surface(f,(-10,0),(0,10),nx=10,Spline), lightgray+white,meshpen=black+thick(),nolight); Label [] L=sequence(new Label(int i) { return scale(0.9)*Label(format("$z=%g$",lignesniveaux[i]), align=E,BeginPoint); },5); draw(L,lift(f,contour(f,(-10,0),(0,10),lignesniveaux)),1.5bp+.5red); |
![]() ![]() |
import graph3; import contour; import grid3; import palette; size(8cm,IgnoreAspect); currentprojection=orthographic(-10,-10,8); limits((0,0,0),(5,10,12)); real f(pair z) {return (z.x+z.y)/(2+cos(z.x)*sin(z.y));} real[] lignesniveaux={2,4,6,8}; surface s=surface(f,(0,0),(5,10),50,Spline); draw(s,mean(palette(s.map(zpart),Rainbow())),black); grid3(new grid3routines [] {XYXgrid, ZXgrid(10), ZYgrid(5)}, Step=2, step=1, pGrid=new pen[] {red, blue, black}, pgrid=new pen[] {0.5red, lightgray, lightgray}); xaxis3(Label("$x$",position=MidPoint,align=SE), Bounds(Min,Min), OutTicks()); yaxis3(Label("$y$",position=MidPoint,align=SW), Bounds(Min,Min), OutTicks(Step=2)); zaxis3(Bounds(Max,Both)); zaxis3(Label("$z$",position=EndPoint,align=N+W), XYEquals(0,10), InTicks(beginlabel=false,endlabel=false,Label(align=Y)) ); draw(lift(f,contour(f,(0,0),(5,10),lignesniveaux)),1bp+red); |
![]() ![]() |
import graph3; import contour; import grid3; import palette; size(8cm,IgnoreAspect); currentprojection=orthographic(-10,-10,6); limits((0,0,0),(5,10,12)); real f(pair z) {return (z.x+z.y)/(2+cos(z.x)*sin(z.y));} real[] levels={4,6}; surface s=surface(f,(0,0),(5,10),120); s.colors(palette(s.map(new real(triple v) {return find(levels > v.z);}), Rainbow())); draw(s); grid3(new grid3routines [] {XYXgrid, ZXgrid(10), ZYgrid(5)}, Step=2, step=1, pGrid=new pen[] {red, blue, black}, pgrid=new pen[] {0.5red, lightgray, lightgray}); xaxis3(Label("$x$",position=MidPoint,align=SE), Bounds(Min,Min), OutTicks()); yaxis3(Label("$y$",position=MidPoint,align=SW), Bounds(Min,Min), OutTicks(Step=2)); zaxis3(Bounds(Max,Both)); zaxis3(Label("$z$",position=EndPoint,align=N+W,p=red), XYEquals(0,10), InTicks(beginlabel=false,endlabel=false,Label(align=Y)) ); draw(lift(f,contour(f,(0,0),(5,10),levels)),red); |
![]() ![]() |
import graph3; import contour; import grid3; import palette; size(8cm,IgnoreAspect); currentprojection=orthographic(-10,-10,8); limits((0,0,0),(5,10,12)); real f(pair z) {return (z.x+z.y)/(2+cos(z.x)*sin(z.y));} real[] lignesniveaux={2,4,6,8}; surface s=surface(f,(0,0),(5,10),20,Spline); pen[] Palette=Grayscale(); draw(s,surfacepen=mean(palette(s.map(zpart),Palette)) ,meshpen=black,nolight); grid3(new grid3routines [] {XYXgrid, ZXgrid(10), ZYgrid(5)}, Step=2, step=1, pGrid=new pen[] {red, blue, black}, pgrid=new pen[] {0.5red, lightgray, lightgray}); xaxis3(Label("$x$",position=MidPoint,align=SE), Bounds(Min,Min), OutTicks()); yaxis3(Label("$y$",position=MidPoint,align=SW), Bounds(Min,Min), OutTicks(Step=2)); zaxis3(Bounds(Max,Min)); zaxis3(Label("$z$",position=EndPoint,align=N+W), Bounds(Min,Max), InTicks(beginlabel=false,endlabel=false,Label(align=Y)), arrow=Arrow3 ); draw(lift(f,contour(f,(0,0),(5,10),lignesniveaux)),.5bp+red); |
![]() ![]() |
import graph3; import contour; import grid3; import palette; size(8cm,IgnoreAspect); currentprojection=orthographic(-10,-10,8); limits((0,0,0),(5,10,12)); real f(pair z) {return (z.x+z.y)/(2+cos(z.x)*sin(z.y));} real[] levels={2,4,6,8}; surface s=surface(f,(0,0),(5,10),125,Spline); pen[] Pal=Grayscale(); s.colors(palette(s.map(new real(triple v) {return find(levels > v.z);}),Pal)); draw(s); grid3(new grid3routines [] {XYXgrid, ZXgrid(10), ZYgrid(5)}, Step=2, step=1, pGrid=new pen[] {red, blue, black}, pgrid=new pen[] {0.5red, lightgray, lightgray}); xaxis3(Label("$x$",position=MidPoint,align=SE), Bounds(Min,Min), OutTicks()); yaxis3(Label("$y$",position=MidPoint,align=SW), Bounds(Min,Min), OutTicks(Step=2)); zaxis3(Bounds(Max,Both)); zaxis3(Label("$z$",position=EndPoint,align=N+W), Bounds(Min,Max), InTicks(beginlabel=false,endlabel=false,Label(align=Y)) ); draw(lift(f,contour(f,(0,0),(5,10),levels)),1bp+red); |
![]() ![]() |
import graph3; import contour; import grid3; import palette; size(8cm,IgnoreAspect); currentprojection=orthographic(-10,-10,6); limits((0,0,0),(5,10,12)); real f(pair z) {return (z.x+z.y)/(2+cos(z.x)*sin(z.y));} real[] levels={2,4,6,8}; surface s=surface(f,(0,0),(5,10),125,Spline); pen[] Pal=Rainbow(); s.colors(palette(s.map(new real(triple v) {return find(levels > v.z);}),Pal)); draw(s); grid3(new grid3routines [] {XYXgrid, ZXgrid(10), ZYgrid(5)}, Step=2, step=1, pGrid=new pen[] {red, blue, black}, pgrid=new pen[] {0.5red, lightgray, lightgray}); xaxis3(Label("$x$",position=MidPoint,align=-Y-Z), Bounds(Min,Min), OutTicks()); yaxis3(Label("$y$",position=MidPoint,align=-X-Z), Bounds(Min,Min), OutTicks(Step=2)); zaxis3(Bounds(Max,Both)); zaxis3(Label("$z$",position=EndPoint,align=2Z,p=red), Bounds(Min,Max), p=blue, InTicks(beginlabel=false,endlabel=false,Label(align=Y)) ); draw(lift(f,contour(f,(0,0),(5,10),levels)),1bp+red); |
![]() ![]() |
import graph3; import palette; size(8cm,0); currentprojection=perspective(2,5,2); real f(pair z) {return exp(-((z.x-1)^2+z.y^2)) -10*(z.x^3+z.x*z.y^4-z.x/5)*exp(-abs(z)^2);} limits((-3.5,-3.5,-3.5),(3.5,3.5,3.5)); xaxis3(Label("$x$",1),blue,arrow=Arrow3); yaxis3(Label("$y$",1),blue,arrow=Arrow3); zaxis3(Label("$z$",1),blue,arrow=Arrow3); surface s=surface(f,(-3,-3),(3,3),60,60,Spline); s.colors(palette(s.map(zpart),Rainbow())); draw(s,meshpen=blue); shipout(bbox(2mm,Fill(white))); |
![]() ![]() |
import graph3; import palette; size(8cm,0); currentprojection=perspective(2,5,2); real f(pair z) {return exp(-((z.x-1)^2+z.y^2)) -10*(z.x^3+z.x*z.y^4-z.x/5)*exp(-abs(z)^2);} surface s=surface(f,(-3,-3),(3,3),60,60,Spline); real[] level=uniform(-4.5,4.5,6); s.colors(palette(s.map(new real(triple v) {return find(level >= v.z);}), Rainbow())); draw(s,meshpen=blue); |
![]() ![]() |
import palette; import graph3; size3(8cm,8cm,3cm,IgnoreAspect); size(8cm,0); triple camera=(36,32,23), up=(-0.03,-0.015,0.015), target=(0.066,-0.49,-0.26); currentprojection=orthographic(camera,up,target); limits((-5,-5,-1),(5,5,1)); xaxis3(Label("$x$",MidPoint,align=Y-Z), Bounds(), OutTicks(scale(.7)*Label(),Step=2,step=.2,pTick=black,ptick=gray), p=blue); yaxis3(Label("$y$",MidPoint,align=X-Z), Bounds(), OutTicks(scale(.7)*Label(),Step=2,step=.2,pTick=black,ptick=gray), p=blue); zaxis3(Label("$z$",MidPoint,align=X-Y), Bounds(), OutTicks, p=red); real f(pair z) {return sin((abs(z))^2/3);} surface s=surface(f,(-5,-5),(5,5),50,50); s.colors(palette(s.map(zpart),Rainbow())); draw(s,meshpen=blue); |
![]() ![]() |
import math; import graph3; import palette; size3(8cm,8cm,3cm,IgnoreAspect); size(8cm,0); currentprojection=perspective(camera=(9.73,1.26,2.31)); real a=1; real f(pair z){ real tempo=0.01-((z.x^2+z.y^2)^2-a^2*(z.x^2-z.y^2))^2; if(tempo>=0) return sqrt(tempo); else return 0; } limits((-1.3,-.55,-.05),(1.4,.55,.4)); xaxis3(Label("$x$",1),blue,arrow=Arrow3); yaxis3(Label("$y$",1) ,blue,arrow=Arrow3); zaxis3(Label("$z$",1),blue,arrow=Arrow3); surface s=surface(f,(-1.1,-.5),(1.1,.5),95,75,monotonic); draw(s,yellow,black); |
![]() ![]() |
import math; import graph3; import palette; size3(8cm,8cm,IgnoreAspect); size(8cm,0); currentprojection=perspective(camera=(7.44,3.35,-1.67)); real a=1; real f(pair z){ real tempo=0.01-((z.x^2+z.y^2)^2-a^2*(z.x^2-z.y^2))^2; if(tempo>=0) return sqrt(tempo); else return 0; } surface s=surface(f,(-1.1,-.5),(1.1,.5),100,100,monotonic); draw(s,paleyellow,black,light=Viewport); |
![]() ![]() |
import graph3; size(7.5cm,0); real f(pair z) {return -exp(-abs(z)^2);} currentprojection=perspective(4,5,4); limits(O,2.25(1,1,1)); xaxis3(Label("$x$",1),blue,arrow=Arrow3); yaxis3(Label("$y$",1),blue,arrow=Arrow3); zaxis3(Label("$z$",1),blue,arrow=Arrow3); draw(surface(f,(-2,-2),(2,2),nx=20,Spline), lightgray,meshpen=black+thick(),nolight); dot(Label("$O$",align=Z+X),(0,0,0),red); |
![]() ![]() |
import graph3; size(7.5cm,0); real f(pair z) { if (z!=0) return angle(z); else return 0; } currentprojection=perspective(2,-4,3.5); limits((-7,-8,-4),(7,7,6)); xaxis3(Label("$x$",1),red,arrow=Arrow3); yaxis3(Label("$y$",1),red,arrow=Arrow3); zaxis3(Label("$z$",1),red,arrow=Arrow3); draw(surface(f,(-6,-6),(6,6),nx=31),white,meshpen=blue+thick(),nolight); |
![]() ![]() |
import graph3; size(8cm,0); currentprojection=orthographic((10,10,7),zoom=.99); real a=sqrt(3), b=1, dy=.5; triple f(pair p){ real x=p.x; real y=p.x^2; real z=p.y*(a^2-p.x^2); return (x,y,z); } triple f0(real t) {return f((t,0));} triple f1(real t) {return f((t,1));} surface s=surface(f,(-a,0),(a,1),100); path3 p0=graph(f0,-a,a,operator ..), p1=graph(f1,-a,a,operator ..); draw(s,yellow+opacity(.5)); draw(p0--cycle ^^ p1 ^^ (0,a^2,0)--(0,0,a^2)); draw ((b,b^2-dy,0)--(b,a^2+dy,0),blue,Arrow3); dot("$(x,x^2,0)$",(b,b^2,0),align=Z); dot(format("$(x,%f,0)$",a^2), (b,a^2,0),align=Z); limits((-.5,-.5,0),(a,a^2+.5,a^2+.5)); xaxis3("$x$",Arrow3); yaxis3("$y$",Arrow3); zaxis3("$z$",Arrow3); |
![]() ![]() |
import graph3; size(8cm,0); currentprojection=orthographic((10,8,5)); real a=sqrt(3), b=1, dy=.5; triple f(pair p){ real x=p.x; real y=p.x^2; real z=p.y*(a^2-p.x^2); return (x,y,z); } triple f0(real t) {return f((t,0));} triple f1(real t) {return f((t,1));} surface s=surface(f,(-a,0),(a,1),100); path3 p0=graph(f0,-a,a,operator ..), p1=graph(f1,-a,a,operator ..); draw(s,yellow+opacity(.6)); draw(p0--cycle ^^ p1 ^^ (0,a^2,0)--(0,0,a^2)); draw(surface(p1--cycle),yellow+opacity(.6)); draw ((b,b^2-dy,0)--(b,a^2+dy,0),blue,Arrow3); dot(YZ()*scale3(1.5)*"$(x,x^2,0)$",(b,b^2,0),align=2X+3Z,blue); dot(XZ()*scale3(1.5)*format("$(x,%f,0)$",a^2), (b,a^2,0),align=Y+2Z,blue); limits((-.5,-.5,-.1),(a,a^2+.5,a^2+.5)); xaxis3("$x$",Arrow3); yaxis3("$y$",Arrow3); zaxis3("$z$",Arrow3); |
![]() ![]() |
import solids; size(7cm,0); currentprojection=perspective(camera=(5,-4,2)); viewportmargin=(.5cm,.5cm); currentlight=White; triple f(pair p){ real x=1+cos(p.x); real y=sin(p.x); real z=p.y*sqrt(4.0001-x^2-y^2); return (x,y,z); } triple g(pair p, real k){ real x=1+cos(p.x); real y=p.y*sin(p.x); real z=k*sqrt(4.0001-x^2-y^2); return (x,y,z); } triple g1(pair p){ return g(p,1); } triple gm1(pair p){ return g(p,-1); } int n=100; pen stylo = yellow, stylo2 = red; draw(surface(f,(0,-1),(2pi,1),n),stylo); draw(surface(g1,(0,-1),(2pi,1),n),stylo2); draw(surface(gm1,(0,-1),(2pi,1),n),stylo2); |
![]() ![]() |
import solids; size(7cm,0); currentprojection=perspective(camera=(5,-4,2)); viewportmargin=(.5cm,.5cm); currentlight=White; triple f(pair p){ real x=1+cos(p.x); real y=sin(p.x); real z=p.y*sqrt(4.000001-x^2-y^2); return (x,y,z); } triple g(pair p, real k){ real x=1+cos(p.x); real y=p.y*sin(p.x); real z=k*sqrt(4.000001-x^2-y^2); return (x,y,z); } triple g1(pair p){ return g(p,1); } triple gm1(pair p){ return g(p,-1); } int n=100; pen stylo = yellow, stylo2 = red; draw(surface(f,(0,-1),(2pi,1),n,Spline),stylo); draw(surface(g1,(0,-1),(2pi,1),n,Spline),stylo2); draw(surface(gm1,(0,-1),(2pi,1),n,Spline),stylo2); |
![]() ![]() |
import solids; picture pic; unitsize(pic,1.5cm); currentlight=light(gray(0.25),specularfactor=3,viewport=false, (0.5,-0.5,-0.25),(0.5,0.5,0.25),(0.5,0.5,1),(-0.5,-0.5,-1)); settings.outformat="pdf"; settings.render=4; viewportmargin=(.5cm,.5cm); triple f(pair p){ real x=1+cos(p.x); real y=sin(p.x); real z=p.y*sqrt(4.000001-x^2-y^2); return (x,y,z); } triple g(pair p, real k){ real x=1+cos(p.x); real y=p.y*sin(p.x); real z=k*sqrt(4.000001-x^2-y^2); return (x,y,z); } triple g1(pair p){ return g(p,1); } triple gm1(pair p){ return g(p,-1); } int n=100; pen stylo = paleblue, stylo2 = palered; draw(pic,surface(f,(0,-1),(2pi,1),n),stylo); draw(pic,surface(g1,(0,-1),(2pi,1),n),stylo2); draw(pic,surface(gm1,(0,-1),(2pi,1),n),stylo2); addViews(pic,ThreeViewsFR); |
![]() ![]() |
import solids; size(7.5cm,0); viewportmargin=3mm; currentprojection=orthographic((9,6,4)); pen color=orange+yellow; real f(real x) {return sqrt(x);} pair F(real x) {return (x,f(x));} real a=1; path p=graph(F,0,a^2,n=10,operator ..)--(0,a)--cycle; path3 p3=rotate(-90,Y)*path3(p); render render=render(compression=0,merge=true); real alpha=260, alphar=pi/2+alpha*pi/180; draw(surface(revolution(p3,Z,0,alpha)),color,render); surface s=rotate(-90,Y)*surface(p); draw(s,color,render); draw(rotate(alpha,Z)*s,color,render); draw(p3,.8bp+orange); xaxis3(Label("$x$",1),xmax=a+.5,Arrow3); yaxis3(Label("$y$",1),ymax=a+.5,Arrow3); zaxis3(Label("$z$",1),zmax=a^2*1.3,Arrow3); draw((a*cos(alphar),a*sin(alphar),a^2)--(0,0,a^2)--(0,a,a^2),dashed); draw(arc(a^2*Z,r=a/2,90,90,90,90+alpha,CW),Arrow3); draw(arc(0Z,r=a,90,90+alpha,90,90,CCW),dashed,Arrow3); |
![]() ![]() |
import solids; size(7.5cm,0); viewportmargin=3mm; currentprojection=orthographic((9,6,4)); pen color=orange+white; real f(real x) {return sqrt(x);} pair F(real x) {return (x,f(x));} real a=2; path p=graph(F,0,a^2,n=10,operator ..)--(0,a)--cycle; path3 p3=rotate(-90,Y)*path3(p); render render=render(compression=0,merge=true); real alpha=280, alphar=pi/2+alpha*pi/180; draw(surface(revolution(p3,Z,0,alpha)),color,render); surface s=rotate(-90,Y)*surface(p); draw(s,color,render); draw(rotate(alpha,Z)*s,color,render); draw(p3,.8bp+orange); xaxis3(Label("$x$",1),xmax=a+.5,Arrow3); yaxis3(Label("$y$",1),ymax=a+.5,Arrow3); zaxis3(Label("$z$",1),zmax=a^2*1.3,Arrow3); draw((a*cos(alphar),a*sin(alphar),a^2)--(0,0,a^2)--(0,a,a^2),dashed); draw(arc(a^2*Z,r=a/2,90,90,90,90+alpha,CW),Arrow3); draw(arc(0Z,r=a,90,90+alpha,90,90,CCW),dashed,Arrow3); |
![]() ![]() |
// Lecture d'un fichier de données (avec les abscisses sur la première ligne, // les ordonnées sur la deuxième, et le tableau des cotes à la suite. // (fichier, téléchargeable ici : donnees.txt) import graph3; size3(150,IgnoreAspect); currentlight=nolight; file in=input("donnees.txt").line(); real[] x=in; real[] y=in; real[][] f=in.dimension(0,0); triple f(pair t) { int i=round(t.x); int j=round(t.y); return (x[i],y[j],f[i][j]); } draw(surface(f,(0,0),(x.length-1,y.length-1),x.length-1,y.length-1), surfacepen=lightgray,meshpen=1bp+black); // Calcul de la position de l'observateur triple m=currentpicture.userMin; triple M=currentpicture.userMax; triple target=0.5*(m+M); currentprojection=perspective(camera=target+realmult(dir(60,210),M-m), target=target); xaxis3(Label("$x$",position=MidPoint,align=-Y-Z), Bounds(),blue,OutTicks(Label(align=-Y-X))); yaxis3(Label("$y$",position=MidPoint,align=-5X), Bounds(),red,OutTicks(Step=1,step=0.25)); zaxis3("$z$",Bounds(),darkgreen,OutTicks(Step=1,step=0.25)); |
![]() ![]() |
// Lecture d'un fichier de données (avec les abscisses sur la première ligne, // les ordonnées sur la deuxième, et le tableau des cotes à la suite. // (fichier, téléchargeable ici : donnees.txt) import graph3; size3(150,IgnoreAspect); file in=input("donnees.txt").line(); real[] x=in; real[] y=in; real[][] f=in.dimension(0,0); triple f(pair t) { int i=round(t.x); int j=round(t.y); return (x[i],y[j],f[i][j]); } draw(surface(f,(0,0),(x.length-1,y.length-1),x.length-1,y.length-1), surfacepen=yellow,meshpen=.8bp+black); // Calcul de la position de l'observateur triple m=currentpicture.userMin; triple M=currentpicture.userMax; triple target=0.5*(m+M); currentprojection=perspective(camera=target+realmult(dir(50,35),M-m), target=target); xaxis3(Label("$x$",position=MidPoint,align=2Y), Bounds(),blue,InTicks); yaxis3(Label("$y$",position=MidPoint,align=5X), Bounds(),red,OutTicks(Label(align=X),Step=1,step=0.25)); zaxis3(Label("$z$",position=MidPoint,align=X-Y), Bounds(),darkgreen,InTicks(Step=1,step=0.25)); |
![]() ![]() |
// Lecture d'un fichier de données (avec les abscisses sur la première ligne, // les ordonnées sur la deuxième, et le tableau des cotes à la suite. // (fichier, téléchargeable ici : donnees.txt) import graph3; size3(150,IgnoreAspect); file in=input("donnees.txt").line(); real[] x=in; real[] y=in; real[][] f=in.dimension(0,0); triple f(pair t) { int i=round(t.x); int j=round(t.y); return (x[i],y[j],f[i][j]); } draw(surface(f,(0,0),(x.length-1,y.length-1),x.length-1,y.length-1), surfacepen=lightyellow,meshpen=.8bp+black); // Calcul de la position de l'observateur triple m=currentpicture.userMin; triple M=currentpicture.userMax; triple target=0.5*(m+M); currentprojection=perspective(camera=target+realmult(dir(68,-143),M-m), target=target); xaxis3(Label("$x$",position=MidPoint,align=-Y-Z), Bounds(),blue,InTicks); yaxis3(Label("$y$",position=MidPoint,align=-X-Z), Bounds(),red,InTicks(Step=1,step=0.25)); zaxis3("$z$",Bounds(),darkgreen,InTicks(Step=1,step=0.25)); |
![]() ![]() |
import tube; import graph3; size(7.5cm,0); currentprojection=perspective(10,5,12); currentlight=light(8,10,2); path3 g1=(0,0,0)--(1,0,0)..(1,1,0)..cycle; surface tb1=tube(g1,scale(.1)*unitcircle); draw(tb1,blue); path3 g2=(0,0,0)--(1,0,0)--(1,1,0)..cycle; surface tb2=tube(g2,scale(.1)*polygon(3)); draw(shift(Z)*tb2,green); limits((-1,-1,-1),(1.5,1.5,1.5)); xaxis3("$x$",Arrow3); yaxis3("$y$",Arrow3); zaxis3("$z$",Arrow3); |
![]() ![]() |
import tube; import graph3; size(7.5cm,0); currentprojection=perspective(7,10,3); currentlight=light(8,10,2); real a=5; path3 g1=(a,-a,0)--(a,a,0)..(0,a,a)..(-a,a,0) --(-a,-a,0)--(0,-a,a)--cycle; draw(tube(g1,scale(a/10)*unitcircle),red); limits((-a,-a,-a),(1.5a,1.5a,1.5a)); xaxis3("$x$",Arrow3); yaxis3("$y$",Arrow3); zaxis3("$z$",Arrow3); |
![]() ![]() |
import graph3; size3(120,IgnoreAspect); limits((0,50,0),(10,60,2)); triple m=currentpicture.userMin; triple M=currentpicture.userMax; triple target=0.5*(m+M); currentprojection=perspective(camera=target+realmult(dir(60,50),M-m), target=target); xaxis3(Bounds(),OutTicks(beginlabel=false,endlabel=false),p=blue); yaxis3(Bounds(),InTicks(Step=5,step=1),p=red); zaxis3(Bounds(),OutTicks,p=green); // Pour apprendre à configurer les repères, voir la galerie "Repères 3D" |
Dernière modification le Sat Jun 27 17:43:09 CEST 2015 par G.Marris Valide XHTML