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 2 hours ago
Anton PetruninAnton Petrunin
532313
532313
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
1 hour 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.
1 hour ago
add a comment |
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
1 hour 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.
1 hour 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
1 hour 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.
1 hour 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 2 hours ago
marmotmarmot
113k5145275
113k5145275
Thank you, but is there a direct way to make a condition x^2+y^2<1 for the arguments?
– Anton Petrunin
1 hour 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.
1 hour 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
1 hour 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.
1 hour ago
Thank you, but is there a direct way to make a condition x^2+y^2<1 for the arguments?
– Anton Petrunin
1 hour ago
Thank you, but is there a direct way to make a condition x^2+y^2<1 for the arguments?
– Anton Petrunin
1 hour 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.
1 hour 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.
1 hour 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