# ParametricPlot of curve with one dimensional domain

For a mapping $$\gamma(x,y)$$ from $$\mathbb{R}^2$$ to $$\mathbb{R}^2$$ we can plot the image of some two dimensional region with ParametricPLot as, for instance,

\[Gamma][x_, y_] := {x^2, x*y^3}
ParametricPlot[\[Gamma][x, y], Element[{x, y}, Disk[]], PlotRange -> All]


being the domain, say, a disk. But if I want to plot just the image of the boundary as

ParametricPlot[\[Gamma][x, y], Element[{x, y}, Circle[]], PlotRange -> All]


then ParametricPlot has troubles understanding the dimensionality and the number of variables. Then, how can one make a parametric plot, being the domain some curve, as in the previous example ?

Note: I do not want to parametrize the circle as $$(\cos\theta,\sin\theta)$$ and then replace back to get $$\gamma(\theta)$$, because this may not be possible for more complicated curves without closed, analytical formula.

• ParametricPlot[\[Gamma][x, y], Element[{x, y}, Disk[]], PlotRange -> All, BoundaryStyle -> Red, PlotStyle -> None] Sep 20, 2022 at 14:17
• @cvgmt True. But my question comes from the fact that the function is some numerical, slowly running bunch of things and running for the whole interior, which I don't need, is unnecessary, so just want to compute the values of the boundary. Sep 20, 2022 at 14:19
• reg = ParametricRegion[{\[Gamma][x, y], {x, y} \[Element] Circle[]}, {x, y}]; Region[Style[reg, Red]] Sep 20, 2022 at 14:42
• @cvgmt - what version are you using? With v13.1 on a Mac, I don't get a plot Sep 20, 2022 at 15:17
• @BobHanlon I am using v13.1 on Win 11 and v13.1 on Manjaro Linux. Sep 20, 2022 at 22:39

• draw a circle and mapping it by γ[x_, y_] = {x^2, x*y^3}
Clear[circle,γ];
circle= RegionPlot[DiscretizeRegion[Circle[], AccuracyGoal -> 3]];
γ[x_, y_] = {x^2, x*y^3};
circle /. {x_Real, y_Real} -> γ[x, y]


• Use ParametricRegion as in comment.
reg = ParametricRegion[{γ[x, y], {x, y} ∈
Circle[]}, {x, y}];
RegionPlot[DiscretizeRegion[reg, MaxCellMeasure -> .0001],
AspectRatio -> Automatic]


You may first generate a parametrized region. From the result you then calculate the boundary using "RegionBoundary". Here is your example:

reg = ParametricRegion[{\[Gamma][x, y], {x, y} \[Element] Disk[]}, {x,
y}]
Region[Style[reg, Red]] (*show the region*)
Region[RegionBoundary[reg]] (* show the border *)


If you want to increase the performance, you may only calculate a small strip. The drawback is, that the border is then 2 sided:

reg = ParametricRegion[{\[Gamma][x, y], {x, y} \[Element]
RegionDifference[Disk[{0, 0}, 1], Disk[{0, 0}, 0.998]] }, {x, y}];
Region[Style[reg, Red]] (*show the region*)
Region[RegionBoundary[reg]] (* show the border *)


• Thanks. But my question comes from the fact that the function is some numerical, slowly running bunch of things and running for the whole interior, which I don't need, is unnecessary, so I just want to compute the values of the boundary Sep 20, 2022 at 18:34
• Look at my answer again. I added way to decrease the amount of calculation to my answer. Sep 20, 2022 at 19:01
• Nice. That's an ingenious solution. Sep 20, 2022 at 19:20