Asymptote: 3d graph over a disc
Is there a straightforward way to draw a 3D graph over a disc domain? Say
z=x^2-y^2 for x^2+y^2<1.
[I just started to use asymptote; this page explained me how to do it for a rectangular domain. I hope it is an easy question.]
graphs asymptote
add a comment |
Is there a straightforward way to draw a 3D graph over a disc domain? Say
z=x^2-y^2 for x^2+y^2<1.
[I just started to use asymptote; this page explained me how to do it for a rectangular domain. I hope it is an easy question.]
graphs asymptote
add a comment |
Is there a straightforward way to draw a 3D graph over a disc domain? Say
z=x^2-y^2 for x^2+y^2<1.
[I just started to use asymptote; this page explained me how to do it for a rectangular domain. I hope it is an easy question.]
graphs asymptote
Is there a straightforward way to draw a 3D graph over a disc domain? Say
z=x^2-y^2 for x^2+y^2<1.
[I just started to use asymptote; this page explained me how to do it for a rectangular domain. I hope it is an easy question.]
graphs asymptote
graphs asymptote
asked Apr 1 at 3:36
Anton PetruninAnton Petrunin
542313
542313
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
One way to make sure that x^2+y^2<1
is to use polar coordinates. Then x=r cos(phi)
and y=r sin(phi)
.
documentclass[variwidth,border=3.14mm]{standalone}
usepackage{asypictureB}
begin{document}
begin{asypicture}{name=discgraph}
usepackage("mathrsfs");
import graph3;
import solids;
import interpolate;
settings.outformat="pdf";
size(500);
defaultpen(0.5mm);
pen darkgreen=rgb(0,138/255,122/255);
draw(Label("$x$",1),(0,0,0)--(1.2,0,0),darkgreen,Arrow3);
draw(Label("$y$",1),(0,0,0)--(0,1.2,0),darkgreen,Arrow3);
draw(Label("$f(x,y)$",1),(0,0,0)--(0,0,0.6),darkgreen,Arrow3);
//function: call the radial coordinate r=t.x and the angle phi=t.y
triple f(pair t) {
return ((t.x)*cos(t.y), (t.x)*sin(t.y),
((t.x)*cos(t.y))^2-((t.x)*sin(t.y))^2);
}
surface s=surface(f,(0,1),(0.49,2.5*pi),32,16,
usplinetype=new splinetype {notaknot,notaknot,monotonic},
vsplinetype=Spline);
pen p=rgb(0,0,.7);
draw(s,lightolive+white);
end{asypicture}
end{document}
Thank you, but is there a direct way to make a condition x^2+y^2<1 for the arguments?
– Anton Petrunin
Apr 1 at 4:31
@marmot: The x-axis near origin should be hidden from the given point of view. Is there any way to improve this issue? E.g., by setting some samples-option?
– Marian G.
2 days ago
2
A line has a thickness, a surface not. It is why you see the x-axis near origin. You can observe the same behavior with a simple square surface and the x-axis. Perhaps it is possible to avoid its by creating two z translated surfaces, but you have to manage the boundary...
– O.G.
2 days ago
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f482530%2fasymptote-3d-graph-over-a-disc%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
One way to make sure that x^2+y^2<1
is to use polar coordinates. Then x=r cos(phi)
and y=r sin(phi)
.
documentclass[variwidth,border=3.14mm]{standalone}
usepackage{asypictureB}
begin{document}
begin{asypicture}{name=discgraph}
usepackage("mathrsfs");
import graph3;
import solids;
import interpolate;
settings.outformat="pdf";
size(500);
defaultpen(0.5mm);
pen darkgreen=rgb(0,138/255,122/255);
draw(Label("$x$",1),(0,0,0)--(1.2,0,0),darkgreen,Arrow3);
draw(Label("$y$",1),(0,0,0)--(0,1.2,0),darkgreen,Arrow3);
draw(Label("$f(x,y)$",1),(0,0,0)--(0,0,0.6),darkgreen,Arrow3);
//function: call the radial coordinate r=t.x and the angle phi=t.y
triple f(pair t) {
return ((t.x)*cos(t.y), (t.x)*sin(t.y),
((t.x)*cos(t.y))^2-((t.x)*sin(t.y))^2);
}
surface s=surface(f,(0,1),(0.49,2.5*pi),32,16,
usplinetype=new splinetype {notaknot,notaknot,monotonic},
vsplinetype=Spline);
pen p=rgb(0,0,.7);
draw(s,lightolive+white);
end{asypicture}
end{document}
Thank you, but is there a direct way to make a condition x^2+y^2<1 for the arguments?
– Anton Petrunin
Apr 1 at 4:31
@marmot: The x-axis near origin should be hidden from the given point of view. Is there any way to improve this issue? E.g., by setting some samples-option?
– Marian G.
2 days ago
2
A line has a thickness, a surface not. It is why you see the x-axis near origin. You can observe the same behavior with a simple square surface and the x-axis. Perhaps it is possible to avoid its by creating two z translated surfaces, but you have to manage the boundary...
– O.G.
2 days ago
add a comment |
One way to make sure that x^2+y^2<1
is to use polar coordinates. Then x=r cos(phi)
and y=r sin(phi)
.
documentclass[variwidth,border=3.14mm]{standalone}
usepackage{asypictureB}
begin{document}
begin{asypicture}{name=discgraph}
usepackage("mathrsfs");
import graph3;
import solids;
import interpolate;
settings.outformat="pdf";
size(500);
defaultpen(0.5mm);
pen darkgreen=rgb(0,138/255,122/255);
draw(Label("$x$",1),(0,0,0)--(1.2,0,0),darkgreen,Arrow3);
draw(Label("$y$",1),(0,0,0)--(0,1.2,0),darkgreen,Arrow3);
draw(Label("$f(x,y)$",1),(0,0,0)--(0,0,0.6),darkgreen,Arrow3);
//function: call the radial coordinate r=t.x and the angle phi=t.y
triple f(pair t) {
return ((t.x)*cos(t.y), (t.x)*sin(t.y),
((t.x)*cos(t.y))^2-((t.x)*sin(t.y))^2);
}
surface s=surface(f,(0,1),(0.49,2.5*pi),32,16,
usplinetype=new splinetype {notaknot,notaknot,monotonic},
vsplinetype=Spline);
pen p=rgb(0,0,.7);
draw(s,lightolive+white);
end{asypicture}
end{document}
Thank you, but is there a direct way to make a condition x^2+y^2<1 for the arguments?
– Anton Petrunin
Apr 1 at 4:31
@marmot: The x-axis near origin should be hidden from the given point of view. Is there any way to improve this issue? E.g., by setting some samples-option?
– Marian G.
2 days ago
2
A line has a thickness, a surface not. It is why you see the x-axis near origin. You can observe the same behavior with a simple square surface and the x-axis. Perhaps it is possible to avoid its by creating two z translated surfaces, but you have to manage the boundary...
– O.G.
2 days ago
add a comment |
One way to make sure that x^2+y^2<1
is to use polar coordinates. Then x=r cos(phi)
and y=r sin(phi)
.
documentclass[variwidth,border=3.14mm]{standalone}
usepackage{asypictureB}
begin{document}
begin{asypicture}{name=discgraph}
usepackage("mathrsfs");
import graph3;
import solids;
import interpolate;
settings.outformat="pdf";
size(500);
defaultpen(0.5mm);
pen darkgreen=rgb(0,138/255,122/255);
draw(Label("$x$",1),(0,0,0)--(1.2,0,0),darkgreen,Arrow3);
draw(Label("$y$",1),(0,0,0)--(0,1.2,0),darkgreen,Arrow3);
draw(Label("$f(x,y)$",1),(0,0,0)--(0,0,0.6),darkgreen,Arrow3);
//function: call the radial coordinate r=t.x and the angle phi=t.y
triple f(pair t) {
return ((t.x)*cos(t.y), (t.x)*sin(t.y),
((t.x)*cos(t.y))^2-((t.x)*sin(t.y))^2);
}
surface s=surface(f,(0,1),(0.49,2.5*pi),32,16,
usplinetype=new splinetype {notaknot,notaknot,monotonic},
vsplinetype=Spline);
pen p=rgb(0,0,.7);
draw(s,lightolive+white);
end{asypicture}
end{document}
One way to make sure that x^2+y^2<1
is to use polar coordinates. Then x=r cos(phi)
and y=r sin(phi)
.
documentclass[variwidth,border=3.14mm]{standalone}
usepackage{asypictureB}
begin{document}
begin{asypicture}{name=discgraph}
usepackage("mathrsfs");
import graph3;
import solids;
import interpolate;
settings.outformat="pdf";
size(500);
defaultpen(0.5mm);
pen darkgreen=rgb(0,138/255,122/255);
draw(Label("$x$",1),(0,0,0)--(1.2,0,0),darkgreen,Arrow3);
draw(Label("$y$",1),(0,0,0)--(0,1.2,0),darkgreen,Arrow3);
draw(Label("$f(x,y)$",1),(0,0,0)--(0,0,0.6),darkgreen,Arrow3);
//function: call the radial coordinate r=t.x and the angle phi=t.y
triple f(pair t) {
return ((t.x)*cos(t.y), (t.x)*sin(t.y),
((t.x)*cos(t.y))^2-((t.x)*sin(t.y))^2);
}
surface s=surface(f,(0,1),(0.49,2.5*pi),32,16,
usplinetype=new splinetype {notaknot,notaknot,monotonic},
vsplinetype=Spline);
pen p=rgb(0,0,.7);
draw(s,lightolive+white);
end{asypicture}
end{document}
answered Apr 1 at 3:58
marmotmarmot
114k5145276
114k5145276
Thank you, but is there a direct way to make a condition x^2+y^2<1 for the arguments?
– Anton Petrunin
Apr 1 at 4:31
@marmot: The x-axis near origin should be hidden from the given point of view. Is there any way to improve this issue? E.g., by setting some samples-option?
– Marian G.
2 days ago
2
A line has a thickness, a surface not. It is why you see the x-axis near origin. You can observe the same behavior with a simple square surface and the x-axis. Perhaps it is possible to avoid its by creating two z translated surfaces, but you have to manage the boundary...
– O.G.
2 days ago
add a comment |
Thank you, but is there a direct way to make a condition x^2+y^2<1 for the arguments?
– Anton Petrunin
Apr 1 at 4:31
@marmot: The x-axis near origin should be hidden from the given point of view. Is there any way to improve this issue? E.g., by setting some samples-option?
– Marian G.
2 days ago
2
A line has a thickness, a surface not. It is why you see the x-axis near origin. You can observe the same behavior with a simple square surface and the x-axis. Perhaps it is possible to avoid its by creating two z translated surfaces, but you have to manage the boundary...
– O.G.
2 days ago
Thank you, but is there a direct way to make a condition x^2+y^2<1 for the arguments?
– Anton Petrunin
Apr 1 at 4:31
Thank you, but is there a direct way to make a condition x^2+y^2<1 for the arguments?
– Anton Petrunin
Apr 1 at 4:31
@marmot: The x-axis near origin should be hidden from the given point of view. Is there any way to improve this issue? E.g., by setting some samples-option?
– Marian G.
2 days ago
@marmot: The x-axis near origin should be hidden from the given point of view. Is there any way to improve this issue? E.g., by setting some samples-option?
– Marian G.
2 days ago
2
2
A line has a thickness, a surface not. It is why you see the x-axis near origin. You can observe the same behavior with a simple square surface and the x-axis. Perhaps it is possible to avoid its by creating two z translated surfaces, but you have to manage the boundary...
– O.G.
2 days ago
A line has a thickness, a surface not. It is why you see the x-axis near origin. You can observe the same behavior with a simple square surface and the x-axis. Perhaps it is possible to avoid its by creating two z translated surfaces, but you have to manage the boundary...
– O.G.
2 days ago
add a comment |
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f482530%2fasymptote-3d-graph-over-a-disc%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown