How to get a smooth, uniform ParametricPlot of a 2D Region?How to plot a complicated Region?How to exclude a region from ParametricPlotHow discretize a region placing vertices on a specific non-uniform gridHow to transform a Plot or a ParametricPlot into a RegionHow can I get a smooth plot of a bounded region?Smooth ParametricPlot3D with RegionFunction?Smooth border of a region ParametricPlotSmooth region boundarySmooth region plot from list of pointsGet minimum y of a certain x in a region
Did "2001: A Space Odyssey" make any reference to the names of companies, or show any evidence of the existence of advertisements?
Pros and cons of playing correspondence chess
How do professors and lecturers learn to teach?
Is it OK for a Buddhist teacher to charge their students an hourly rate for their time?
Do insurance rates depend on credit scores?
Why does California seem to have much more aggressive Consumer Protection and Safety Legislation?
Query more than 50000 records
Is this medieval picture of hanging 5 royals showing an historical event?
Film about the USA being run by fake videos of the president after his kidnapping
Is American Express widely accepted in Hong Kong?
How many atoms in the hydrocarbon?
How do you give spell casters xp?
If a picture of a screen is a screenshot, what is a video of a screen?
Is there any plausible in-between of Endotherms and Ectotherms?
How can we save ourselves from large drops in stock price?
How would you separate fields with multiple spaces and store them in an array?
Reconstructed PIE grammar? Could we be able to speak in Proto-European?
Why do we have to discharge the capacitor before testing it in an LCR Meter?
Group Delay for Hilbert Transformer and Resulting Dispersion
Is there a material or method to allow "swimmable" coins?
Can any number of squares be a square?
Is there a BIOS setting that controls cpu load sharing?
Can the category of partial orders be fully embedded in the category of linear orders?
C++ Leak detection simple class
How to get a smooth, uniform ParametricPlot of a 2D Region?
How to plot a complicated Region?How to exclude a region from ParametricPlotHow discretize a region placing vertices on a specific non-uniform gridHow to transform a Plot or a ParametricPlot into a RegionHow can I get a smooth plot of a bounded region?Smooth ParametricPlot3D with RegionFunction?Smooth border of a region ParametricPlotSmooth region boundarySmooth region plot from list of pointsGet minimum y of a certain x in a region
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty
margin-bottom:0;
.everyonelovesstackoverflowposition:absolute;height:1px;width:1px;opacity:0;top:0;left:0;pointer-events:none;
$begingroup$
This is an offspring of this question.
How to get a nice, smooth, uniform plot of the following? I.e. with no horizontal lines, and no ragged boundary at the top. I went with PlotPoints
up to 400
and I'm dissapointed. What I'm actually after is a nicely Export
ed .pdf.
ParametricPlot[1 + a1/(-1 + a2),
1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π,
a2 >= -1 && 1 + a1 >= a2 && a1 + a2 <= 1, a1, -2, 2, a2, -1,
1, Frame -> True, PlotRange -> 0, 2, 0, 1,
AspectRatio -> 1/GoldenRatio, PlotPoints -> 150] // Quiet
plotting regions
$endgroup$
add a comment
|
$begingroup$
This is an offspring of this question.
How to get a nice, smooth, uniform plot of the following? I.e. with no horizontal lines, and no ragged boundary at the top. I went with PlotPoints
up to 400
and I'm dissapointed. What I'm actually after is a nicely Export
ed .pdf.
ParametricPlot[1 + a1/(-1 + a2),
1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π,
a2 >= -1 && 1 + a1 >= a2 && a1 + a2 <= 1, a1, -2, 2, a2, -1,
1, Frame -> True, PlotRange -> 0, 2, 0, 1,
AspectRatio -> 1/GoldenRatio, PlotPoints -> 150] // Quiet
plotting regions
$endgroup$
1
$begingroup$
ParametricPlot
doesn't allow constraint to be passed in that way.
$endgroup$
– Chip Hurst
Sep 28 at 13:21
add a comment
|
$begingroup$
This is an offspring of this question.
How to get a nice, smooth, uniform plot of the following? I.e. with no horizontal lines, and no ragged boundary at the top. I went with PlotPoints
up to 400
and I'm dissapointed. What I'm actually after is a nicely Export
ed .pdf.
ParametricPlot[1 + a1/(-1 + a2),
1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π,
a2 >= -1 && 1 + a1 >= a2 && a1 + a2 <= 1, a1, -2, 2, a2, -1,
1, Frame -> True, PlotRange -> 0, 2, 0, 1,
AspectRatio -> 1/GoldenRatio, PlotPoints -> 150] // Quiet
plotting regions
$endgroup$
This is an offspring of this question.
How to get a nice, smooth, uniform plot of the following? I.e. with no horizontal lines, and no ragged boundary at the top. I went with PlotPoints
up to 400
and I'm dissapointed. What I'm actually after is a nicely Export
ed .pdf.
ParametricPlot[1 + a1/(-1 + a2),
1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π,
a2 >= -1 && 1 + a1 >= a2 && a1 + a2 <= 1, a1, -2, 2, a2, -1,
1, Frame -> True, PlotRange -> 0, 2, 0, 1,
AspectRatio -> 1/GoldenRatio, PlotPoints -> 150] // Quiet
plotting regions
plotting regions
asked Sep 28 at 10:53
corey979corey979
21.9k6 gold badges44 silver badges83 bronze badges
21.9k6 gold badges44 silver badges83 bronze badges
1
$begingroup$
ParametricPlot
doesn't allow constraint to be passed in that way.
$endgroup$
– Chip Hurst
Sep 28 at 13:21
add a comment
|
1
$begingroup$
ParametricPlot
doesn't allow constraint to be passed in that way.
$endgroup$
– Chip Hurst
Sep 28 at 13:21
1
1
$begingroup$
ParametricPlot
doesn't allow constraint to be passed in that way.$endgroup$
– Chip Hurst
Sep 28 at 13:21
$begingroup$
ParametricPlot
doesn't allow constraint to be passed in that way.$endgroup$
– Chip Hurst
Sep 28 at 13:21
add a comment
|
3 Answers
3
active
oldest
votes
$begingroup$
To avoid the artifacts from singularities and jumps, we can take a somewhat manual approach.
Notice that the bottom boundary is formed from a2 == -1
, the top boundary is a horizontal line formed as a2 -> 1
from the left, and the left boundary is a vertical line formed as a2
sweeps from -1
to 1
.
So we can get a clean graphic by plotting the bottom boundary by fixing a2 == -1
, extracting the points, and adding the upper left corner to form a polygon.
bdplot = With[a2 = -1,
ParametricPlot[1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π, a1, -2, 2,
Frame -> True, PlotRange -> 0, 2, 0, 1, AspectRatio -> 1/GoldenRatio] // Quiet
]
pts = Append[MeshCoordinates[DiscretizeGraphics[bdplot]], 0, 1];
poly = Polygon[FindShortestTour[pts][[2, 1 ;; -2]]];
Graphics[GraphicsComplex[pts, EdgeForm[], Hue[0.6, 0.3, 0.95], poly], Frame -> True, AspectRatio -> 1/GoldenRatio]
Now notice that your constraint is not needed:
Reduce[a2 >= -1 && 1 + a1 >= a2 && a1 + a2 <= 1, a1]
(-1 <= a2 < 1 && -1 + a2 <= a1 <= 1 - a2) || (a2 == 1 && a1 == 0)
We see the constraint says a1
should range from -1 + a2
to 1 - a2
instead of -2
to 2
. If we plot for many fixed values of a2
, we see we'd have the same plot if all a2
were sampled:
Show@Table[
ParametricPlot[1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π, a1, -1 + a2, 1 - a2,
Frame -> True, PlotRange -> 0, 2, 0, 1, AspectRatio -> 1/GoldenRatio, PlotPoints -> 100] // Quiet,
a2, Range[-1, 1, .01] /. -1. -> -0.999, 1. -> 0.999
]
$endgroup$
$begingroup$
Exactly the approach I've just undertaken :o Although I've made a few tweaks. Will post in a moment.
$endgroup$
– corey979
Sep 28 at 14:12
$begingroup$
The lower boundray isn't th problem I think. The upper boundary, especially the pointa1==2&&a2==1
has to be examined in more detail.
$endgroup$
– Ulrich Neumann
Sep 29 at 5:57
add a comment
|
$begingroup$
As discussed by Chip Hurst, the lower boundary of the region can be obtained by setting a2=-1
. Therefore, this boundary is parametrized by a1
only (let it be called $(A,T)$):
reg = With[a2 = -1, 1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi]]
1 - a1/2, 1 - (2 ArcCsc[2/Sqrt[2 + a1]])/[Pi]
This can be solved to get a1
as a function of A
:
sol = Solve[A == reg[[1]], a1][[1]]
a1 -> -2 (-1 + A)
and inserted into T
to obtain a function $T(A)$, Then the plotting is done with Filling
:
Plot[reg[[2]] /. sol, A, 0, 2, Frame -> True, Filling -> Top, PlotStyle -> None]
The region can then be describe with e.g. ImplicitRegion
.
$endgroup$
add a comment
|
$begingroup$
Try option RegionFunction
inside ParametricPlot
together with the Option MaxRecursions
.
The second plot argument 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi]
is only defined for 1 + a1 >= a2
, that's why I only consider this restriction!
ParametricPlot[ 1 + a1/(-1 + a2) ,1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi] , a1, -2, 2, a2, -1, 1,Frame -> True, PlotRange -> 0, 2 , 0, 1 ,AspectRatio -> 1/GoldenRatio, Evaluated -> True, MaxRecursion -> 4,PlotPoints->50, FrameLabel -> a1, a2,RegionFunction -> Function[x,y,a1, a2, -a1 + a2 <= 1 ]]
$endgroup$
$begingroup$
Witha1, -2, 2, a2, -1, 1
andPlotRange -> 0, 2, 0, 1
, the proper ranges I'm interested in, this plots a different Region than appears in my OP. And fyi, it's not(a1,a2)
on the axes, but some functions of them.
$endgroup$
– corey979
Sep 28 at 12:37
$begingroup$
The scaling of the plotrange shouldn't be a problem I think. I modified my answer!
$endgroup$
– Ulrich Neumann
Sep 28 at 12:42
$begingroup$
I think yourRegionFunction
arg spec should beFunction[x, y, a1, a2, ...]
.
$endgroup$
– Chip Hurst
Sep 28 at 13:20
$begingroup$
@ChipHurst Thanks, I changed my answer!
$endgroup$
– Ulrich Neumann
Sep 29 at 5:54
add a comment
|
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "387"
;
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/4.0/"u003ecc by-sa 4.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%2fmathematica.stackexchange.com%2fquestions%2f207010%2fhow-to-get-a-smooth-uniform-parametricplot-of-a-2d-region%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
To avoid the artifacts from singularities and jumps, we can take a somewhat manual approach.
Notice that the bottom boundary is formed from a2 == -1
, the top boundary is a horizontal line formed as a2 -> 1
from the left, and the left boundary is a vertical line formed as a2
sweeps from -1
to 1
.
So we can get a clean graphic by plotting the bottom boundary by fixing a2 == -1
, extracting the points, and adding the upper left corner to form a polygon.
bdplot = With[a2 = -1,
ParametricPlot[1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π, a1, -2, 2,
Frame -> True, PlotRange -> 0, 2, 0, 1, AspectRatio -> 1/GoldenRatio] // Quiet
]
pts = Append[MeshCoordinates[DiscretizeGraphics[bdplot]], 0, 1];
poly = Polygon[FindShortestTour[pts][[2, 1 ;; -2]]];
Graphics[GraphicsComplex[pts, EdgeForm[], Hue[0.6, 0.3, 0.95], poly], Frame -> True, AspectRatio -> 1/GoldenRatio]
Now notice that your constraint is not needed:
Reduce[a2 >= -1 && 1 + a1 >= a2 && a1 + a2 <= 1, a1]
(-1 <= a2 < 1 && -1 + a2 <= a1 <= 1 - a2) || (a2 == 1 && a1 == 0)
We see the constraint says a1
should range from -1 + a2
to 1 - a2
instead of -2
to 2
. If we plot for many fixed values of a2
, we see we'd have the same plot if all a2
were sampled:
Show@Table[
ParametricPlot[1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π, a1, -1 + a2, 1 - a2,
Frame -> True, PlotRange -> 0, 2, 0, 1, AspectRatio -> 1/GoldenRatio, PlotPoints -> 100] // Quiet,
a2, Range[-1, 1, .01] /. -1. -> -0.999, 1. -> 0.999
]
$endgroup$
$begingroup$
Exactly the approach I've just undertaken :o Although I've made a few tweaks. Will post in a moment.
$endgroup$
– corey979
Sep 28 at 14:12
$begingroup$
The lower boundray isn't th problem I think. The upper boundary, especially the pointa1==2&&a2==1
has to be examined in more detail.
$endgroup$
– Ulrich Neumann
Sep 29 at 5:57
add a comment
|
$begingroup$
To avoid the artifacts from singularities and jumps, we can take a somewhat manual approach.
Notice that the bottom boundary is formed from a2 == -1
, the top boundary is a horizontal line formed as a2 -> 1
from the left, and the left boundary is a vertical line formed as a2
sweeps from -1
to 1
.
So we can get a clean graphic by plotting the bottom boundary by fixing a2 == -1
, extracting the points, and adding the upper left corner to form a polygon.
bdplot = With[a2 = -1,
ParametricPlot[1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π, a1, -2, 2,
Frame -> True, PlotRange -> 0, 2, 0, 1, AspectRatio -> 1/GoldenRatio] // Quiet
]
pts = Append[MeshCoordinates[DiscretizeGraphics[bdplot]], 0, 1];
poly = Polygon[FindShortestTour[pts][[2, 1 ;; -2]]];
Graphics[GraphicsComplex[pts, EdgeForm[], Hue[0.6, 0.3, 0.95], poly], Frame -> True, AspectRatio -> 1/GoldenRatio]
Now notice that your constraint is not needed:
Reduce[a2 >= -1 && 1 + a1 >= a2 && a1 + a2 <= 1, a1]
(-1 <= a2 < 1 && -1 + a2 <= a1 <= 1 - a2) || (a2 == 1 && a1 == 0)
We see the constraint says a1
should range from -1 + a2
to 1 - a2
instead of -2
to 2
. If we plot for many fixed values of a2
, we see we'd have the same plot if all a2
were sampled:
Show@Table[
ParametricPlot[1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π, a1, -1 + a2, 1 - a2,
Frame -> True, PlotRange -> 0, 2, 0, 1, AspectRatio -> 1/GoldenRatio, PlotPoints -> 100] // Quiet,
a2, Range[-1, 1, .01] /. -1. -> -0.999, 1. -> 0.999
]
$endgroup$
$begingroup$
Exactly the approach I've just undertaken :o Although I've made a few tweaks. Will post in a moment.
$endgroup$
– corey979
Sep 28 at 14:12
$begingroup$
The lower boundray isn't th problem I think. The upper boundary, especially the pointa1==2&&a2==1
has to be examined in more detail.
$endgroup$
– Ulrich Neumann
Sep 29 at 5:57
add a comment
|
$begingroup$
To avoid the artifacts from singularities and jumps, we can take a somewhat manual approach.
Notice that the bottom boundary is formed from a2 == -1
, the top boundary is a horizontal line formed as a2 -> 1
from the left, and the left boundary is a vertical line formed as a2
sweeps from -1
to 1
.
So we can get a clean graphic by plotting the bottom boundary by fixing a2 == -1
, extracting the points, and adding the upper left corner to form a polygon.
bdplot = With[a2 = -1,
ParametricPlot[1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π, a1, -2, 2,
Frame -> True, PlotRange -> 0, 2, 0, 1, AspectRatio -> 1/GoldenRatio] // Quiet
]
pts = Append[MeshCoordinates[DiscretizeGraphics[bdplot]], 0, 1];
poly = Polygon[FindShortestTour[pts][[2, 1 ;; -2]]];
Graphics[GraphicsComplex[pts, EdgeForm[], Hue[0.6, 0.3, 0.95], poly], Frame -> True, AspectRatio -> 1/GoldenRatio]
Now notice that your constraint is not needed:
Reduce[a2 >= -1 && 1 + a1 >= a2 && a1 + a2 <= 1, a1]
(-1 <= a2 < 1 && -1 + a2 <= a1 <= 1 - a2) || (a2 == 1 && a1 == 0)
We see the constraint says a1
should range from -1 + a2
to 1 - a2
instead of -2
to 2
. If we plot for many fixed values of a2
, we see we'd have the same plot if all a2
were sampled:
Show@Table[
ParametricPlot[1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π, a1, -1 + a2, 1 - a2,
Frame -> True, PlotRange -> 0, 2, 0, 1, AspectRatio -> 1/GoldenRatio, PlotPoints -> 100] // Quiet,
a2, Range[-1, 1, .01] /. -1. -> -0.999, 1. -> 0.999
]
$endgroup$
To avoid the artifacts from singularities and jumps, we can take a somewhat manual approach.
Notice that the bottom boundary is formed from a2 == -1
, the top boundary is a horizontal line formed as a2 -> 1
from the left, and the left boundary is a vertical line formed as a2
sweeps from -1
to 1
.
So we can get a clean graphic by plotting the bottom boundary by fixing a2 == -1
, extracting the points, and adding the upper left corner to form a polygon.
bdplot = With[a2 = -1,
ParametricPlot[1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π, a1, -2, 2,
Frame -> True, PlotRange -> 0, 2, 0, 1, AspectRatio -> 1/GoldenRatio] // Quiet
]
pts = Append[MeshCoordinates[DiscretizeGraphics[bdplot]], 0, 1];
poly = Polygon[FindShortestTour[pts][[2, 1 ;; -2]]];
Graphics[GraphicsComplex[pts, EdgeForm[], Hue[0.6, 0.3, 0.95], poly], Frame -> True, AspectRatio -> 1/GoldenRatio]
Now notice that your constraint is not needed:
Reduce[a2 >= -1 && 1 + a1 >= a2 && a1 + a2 <= 1, a1]
(-1 <= a2 < 1 && -1 + a2 <= a1 <= 1 - a2) || (a2 == 1 && a1 == 0)
We see the constraint says a1
should range from -1 + a2
to 1 - a2
instead of -2
to 2
. If we plot for many fixed values of a2
, we see we'd have the same plot if all a2
were sampled:
Show@Table[
ParametricPlot[1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/π, a1, -1 + a2, 1 - a2,
Frame -> True, PlotRange -> 0, 2, 0, 1, AspectRatio -> 1/GoldenRatio, PlotPoints -> 100] // Quiet,
a2, Range[-1, 1, .01] /. -1. -> -0.999, 1. -> 0.999
]
edited Sep 28 at 14:11
answered Sep 28 at 14:04
Chip HurstChip Hurst
26.4k1 gold badge65 silver badges105 bronze badges
26.4k1 gold badge65 silver badges105 bronze badges
$begingroup$
Exactly the approach I've just undertaken :o Although I've made a few tweaks. Will post in a moment.
$endgroup$
– corey979
Sep 28 at 14:12
$begingroup$
The lower boundray isn't th problem I think. The upper boundary, especially the pointa1==2&&a2==1
has to be examined in more detail.
$endgroup$
– Ulrich Neumann
Sep 29 at 5:57
add a comment
|
$begingroup$
Exactly the approach I've just undertaken :o Although I've made a few tweaks. Will post in a moment.
$endgroup$
– corey979
Sep 28 at 14:12
$begingroup$
The lower boundray isn't th problem I think. The upper boundary, especially the pointa1==2&&a2==1
has to be examined in more detail.
$endgroup$
– Ulrich Neumann
Sep 29 at 5:57
$begingroup$
Exactly the approach I've just undertaken :o Although I've made a few tweaks. Will post in a moment.
$endgroup$
– corey979
Sep 28 at 14:12
$begingroup$
Exactly the approach I've just undertaken :o Although I've made a few tweaks. Will post in a moment.
$endgroup$
– corey979
Sep 28 at 14:12
$begingroup$
The lower boundray isn't th problem I think. The upper boundary, especially the point
a1==2&&a2==1
has to be examined in more detail.$endgroup$
– Ulrich Neumann
Sep 29 at 5:57
$begingroup$
The lower boundray isn't th problem I think. The upper boundary, especially the point
a1==2&&a2==1
has to be examined in more detail.$endgroup$
– Ulrich Neumann
Sep 29 at 5:57
add a comment
|
$begingroup$
As discussed by Chip Hurst, the lower boundary of the region can be obtained by setting a2=-1
. Therefore, this boundary is parametrized by a1
only (let it be called $(A,T)$):
reg = With[a2 = -1, 1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi]]
1 - a1/2, 1 - (2 ArcCsc[2/Sqrt[2 + a1]])/[Pi]
This can be solved to get a1
as a function of A
:
sol = Solve[A == reg[[1]], a1][[1]]
a1 -> -2 (-1 + A)
and inserted into T
to obtain a function $T(A)$, Then the plotting is done with Filling
:
Plot[reg[[2]] /. sol, A, 0, 2, Frame -> True, Filling -> Top, PlotStyle -> None]
The region can then be describe with e.g. ImplicitRegion
.
$endgroup$
add a comment
|
$begingroup$
As discussed by Chip Hurst, the lower boundary of the region can be obtained by setting a2=-1
. Therefore, this boundary is parametrized by a1
only (let it be called $(A,T)$):
reg = With[a2 = -1, 1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi]]
1 - a1/2, 1 - (2 ArcCsc[2/Sqrt[2 + a1]])/[Pi]
This can be solved to get a1
as a function of A
:
sol = Solve[A == reg[[1]], a1][[1]]
a1 -> -2 (-1 + A)
and inserted into T
to obtain a function $T(A)$, Then the plotting is done with Filling
:
Plot[reg[[2]] /. sol, A, 0, 2, Frame -> True, Filling -> Top, PlotStyle -> None]
The region can then be describe with e.g. ImplicitRegion
.
$endgroup$
add a comment
|
$begingroup$
As discussed by Chip Hurst, the lower boundary of the region can be obtained by setting a2=-1
. Therefore, this boundary is parametrized by a1
only (let it be called $(A,T)$):
reg = With[a2 = -1, 1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi]]
1 - a1/2, 1 - (2 ArcCsc[2/Sqrt[2 + a1]])/[Pi]
This can be solved to get a1
as a function of A
:
sol = Solve[A == reg[[1]], a1][[1]]
a1 -> -2 (-1 + A)
and inserted into T
to obtain a function $T(A)$, Then the plotting is done with Filling
:
Plot[reg[[2]] /. sol, A, 0, 2, Frame -> True, Filling -> Top, PlotStyle -> None]
The region can then be describe with e.g. ImplicitRegion
.
$endgroup$
As discussed by Chip Hurst, the lower boundary of the region can be obtained by setting a2=-1
. Therefore, this boundary is parametrized by a1
only (let it be called $(A,T)$):
reg = With[a2 = -1, 1 + a1/(-1 + a2), 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi]]
1 - a1/2, 1 - (2 ArcCsc[2/Sqrt[2 + a1]])/[Pi]
This can be solved to get a1
as a function of A
:
sol = Solve[A == reg[[1]], a1][[1]]
a1 -> -2 (-1 + A)
and inserted into T
to obtain a function $T(A)$, Then the plotting is done with Filling
:
Plot[reg[[2]] /. sol, A, 0, 2, Frame -> True, Filling -> Top, PlotStyle -> None]
The region can then be describe with e.g. ImplicitRegion
.
edited Sep 28 at 14:51
answered Sep 28 at 14:19
corey979corey979
21.9k6 gold badges44 silver badges83 bronze badges
21.9k6 gold badges44 silver badges83 bronze badges
add a comment
|
add a comment
|
$begingroup$
Try option RegionFunction
inside ParametricPlot
together with the Option MaxRecursions
.
The second plot argument 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi]
is only defined for 1 + a1 >= a2
, that's why I only consider this restriction!
ParametricPlot[ 1 + a1/(-1 + a2) ,1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi] , a1, -2, 2, a2, -1, 1,Frame -> True, PlotRange -> 0, 2 , 0, 1 ,AspectRatio -> 1/GoldenRatio, Evaluated -> True, MaxRecursion -> 4,PlotPoints->50, FrameLabel -> a1, a2,RegionFunction -> Function[x,y,a1, a2, -a1 + a2 <= 1 ]]
$endgroup$
$begingroup$
Witha1, -2, 2, a2, -1, 1
andPlotRange -> 0, 2, 0, 1
, the proper ranges I'm interested in, this plots a different Region than appears in my OP. And fyi, it's not(a1,a2)
on the axes, but some functions of them.
$endgroup$
– corey979
Sep 28 at 12:37
$begingroup$
The scaling of the plotrange shouldn't be a problem I think. I modified my answer!
$endgroup$
– Ulrich Neumann
Sep 28 at 12:42
$begingroup$
I think yourRegionFunction
arg spec should beFunction[x, y, a1, a2, ...]
.
$endgroup$
– Chip Hurst
Sep 28 at 13:20
$begingroup$
@ChipHurst Thanks, I changed my answer!
$endgroup$
– Ulrich Neumann
Sep 29 at 5:54
add a comment
|
$begingroup$
Try option RegionFunction
inside ParametricPlot
together with the Option MaxRecursions
.
The second plot argument 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi]
is only defined for 1 + a1 >= a2
, that's why I only consider this restriction!
ParametricPlot[ 1 + a1/(-1 + a2) ,1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi] , a1, -2, 2, a2, -1, 1,Frame -> True, PlotRange -> 0, 2 , 0, 1 ,AspectRatio -> 1/GoldenRatio, Evaluated -> True, MaxRecursion -> 4,PlotPoints->50, FrameLabel -> a1, a2,RegionFunction -> Function[x,y,a1, a2, -a1 + a2 <= 1 ]]
$endgroup$
$begingroup$
Witha1, -2, 2, a2, -1, 1
andPlotRange -> 0, 2, 0, 1
, the proper ranges I'm interested in, this plots a different Region than appears in my OP. And fyi, it's not(a1,a2)
on the axes, but some functions of them.
$endgroup$
– corey979
Sep 28 at 12:37
$begingroup$
The scaling of the plotrange shouldn't be a problem I think. I modified my answer!
$endgroup$
– Ulrich Neumann
Sep 28 at 12:42
$begingroup$
I think yourRegionFunction
arg spec should beFunction[x, y, a1, a2, ...]
.
$endgroup$
– Chip Hurst
Sep 28 at 13:20
$begingroup$
@ChipHurst Thanks, I changed my answer!
$endgroup$
– Ulrich Neumann
Sep 29 at 5:54
add a comment
|
$begingroup$
Try option RegionFunction
inside ParametricPlot
together with the Option MaxRecursions
.
The second plot argument 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi]
is only defined for 1 + a1 >= a2
, that's why I only consider this restriction!
ParametricPlot[ 1 + a1/(-1 + a2) ,1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi] , a1, -2, 2, a2, -1, 1,Frame -> True, PlotRange -> 0, 2 , 0, 1 ,AspectRatio -> 1/GoldenRatio, Evaluated -> True, MaxRecursion -> 4,PlotPoints->50, FrameLabel -> a1, a2,RegionFunction -> Function[x,y,a1, a2, -a1 + a2 <= 1 ]]
$endgroup$
Try option RegionFunction
inside ParametricPlot
together with the Option MaxRecursions
.
The second plot argument 1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi]
is only defined for 1 + a1 >= a2
, that's why I only consider this restriction!
ParametricPlot[ 1 + a1/(-1 + a2) ,1 - 2 ArcCsc[2/Sqrt[1 + a1 - a2]]/[Pi] , a1, -2, 2, a2, -1, 1,Frame -> True, PlotRange -> 0, 2 , 0, 1 ,AspectRatio -> 1/GoldenRatio, Evaluated -> True, MaxRecursion -> 4,PlotPoints->50, FrameLabel -> a1, a2,RegionFunction -> Function[x,y,a1, a2, -a1 + a2 <= 1 ]]
edited Sep 28 at 13:39
answered Sep 28 at 12:30
Ulrich NeumannUlrich Neumann
16.8k9 silver badges24 bronze badges
16.8k9 silver badges24 bronze badges
$begingroup$
Witha1, -2, 2, a2, -1, 1
andPlotRange -> 0, 2, 0, 1
, the proper ranges I'm interested in, this plots a different Region than appears in my OP. And fyi, it's not(a1,a2)
on the axes, but some functions of them.
$endgroup$
– corey979
Sep 28 at 12:37
$begingroup$
The scaling of the plotrange shouldn't be a problem I think. I modified my answer!
$endgroup$
– Ulrich Neumann
Sep 28 at 12:42
$begingroup$
I think yourRegionFunction
arg spec should beFunction[x, y, a1, a2, ...]
.
$endgroup$
– Chip Hurst
Sep 28 at 13:20
$begingroup$
@ChipHurst Thanks, I changed my answer!
$endgroup$
– Ulrich Neumann
Sep 29 at 5:54
add a comment
|
$begingroup$
Witha1, -2, 2, a2, -1, 1
andPlotRange -> 0, 2, 0, 1
, the proper ranges I'm interested in, this plots a different Region than appears in my OP. And fyi, it's not(a1,a2)
on the axes, but some functions of them.
$endgroup$
– corey979
Sep 28 at 12:37
$begingroup$
The scaling of the plotrange shouldn't be a problem I think. I modified my answer!
$endgroup$
– Ulrich Neumann
Sep 28 at 12:42
$begingroup$
I think yourRegionFunction
arg spec should beFunction[x, y, a1, a2, ...]
.
$endgroup$
– Chip Hurst
Sep 28 at 13:20
$begingroup$
@ChipHurst Thanks, I changed my answer!
$endgroup$
– Ulrich Neumann
Sep 29 at 5:54
$begingroup$
With
a1, -2, 2, a2, -1, 1
and PlotRange -> 0, 2, 0, 1
, the proper ranges I'm interested in, this plots a different Region than appears in my OP. And fyi, it's not (a1,a2)
on the axes, but some functions of them.$endgroup$
– corey979
Sep 28 at 12:37
$begingroup$
With
a1, -2, 2, a2, -1, 1
and PlotRange -> 0, 2, 0, 1
, the proper ranges I'm interested in, this plots a different Region than appears in my OP. And fyi, it's not (a1,a2)
on the axes, but some functions of them.$endgroup$
– corey979
Sep 28 at 12:37
$begingroup$
The scaling of the plotrange shouldn't be a problem I think. I modified my answer!
$endgroup$
– Ulrich Neumann
Sep 28 at 12:42
$begingroup$
The scaling of the plotrange shouldn't be a problem I think. I modified my answer!
$endgroup$
– Ulrich Neumann
Sep 28 at 12:42
$begingroup$
I think your
RegionFunction
arg spec should be Function[x, y, a1, a2, ...]
.$endgroup$
– Chip Hurst
Sep 28 at 13:20
$begingroup$
I think your
RegionFunction
arg spec should be Function[x, y, a1, a2, ...]
.$endgroup$
– Chip Hurst
Sep 28 at 13:20
$begingroup$
@ChipHurst Thanks, I changed my answer!
$endgroup$
– Ulrich Neumann
Sep 29 at 5:54
$begingroup$
@ChipHurst Thanks, I changed my answer!
$endgroup$
– Ulrich Neumann
Sep 29 at 5:54
add a comment
|
Thanks for contributing an answer to Mathematica 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.
Use MathJax to format equations. MathJax reference.
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%2fmathematica.stackexchange.com%2fquestions%2f207010%2fhow-to-get-a-smooth-uniform-parametricplot-of-a-2d-region%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
1
$begingroup$
ParametricPlot
doesn't allow constraint to be passed in that way.$endgroup$
– Chip Hurst
Sep 28 at 13:21