What's the most efficient way to draw this region?Why this region is bad?How to plot this region?How to draw a picture like this?Efficient way to get adjacency information from MeshRegionWhy this “is not a correctly specified region”?Draw bounding region by list of points
How do you translate "Don't Fear the Reaper" into Latin?
Is there a practical way of making democratic-like system skewed towards competence?
Delete line if next line is the same
5v home network
How can my hammerspace safely "decompress"?
What is the ring of invariants under the action of an arbitrary subgroup of the symmetric group?
UK PM is taking his proposal to EU but has not proposed to his own parliament - can he legally bypass the UK parliament?
How to remind myself to lock my doors
How do I weigh a kitchen island to determine what size castors to get?
What is this dial on my old film camera for?
Why is lying to Congress a crime?
How is the corresponding author on a (math) paper typically chosen?
Can you decide not to sneak into a room after seeing your roll?
Are there any rules around when something can be described as "based on a true story"?
Could someone please translate this code into some mathematical notation?
What are the consequences for downstream actors of redistributing a work under a wider CC license than the copyright holder authorized?
Disrespectful employee going above my head and telling me what to do. I am his manager
Count number of different name in a file
Can the bass be used instead of drums?
Fantasy novel/series with young man who discovers he can use magic that is outlawed
'Kukhtarev's model' or 'THE Kukhtarev's model'?
How should I tell a professor the answer to something he doesn't know?
Is there a general way of solving the Maxwell equations?
C4_4 Reflection!
What's the most efficient way to draw this region?
Why this region is bad?How to plot this region?How to draw a picture like this?Efficient way to get adjacency information from MeshRegionWhy this “is not a correctly specified region”?Draw bounding region by list of points
.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$
Viral question on YouTube. But let me start by saying the guy got it wrong. We don't do such things at the age of 11, we do this question about Year 11 (aged 14/15, 16 for some).
I want to draw the following.
Tried this
f1 = 10 - Sqrt[10^2 - x^2];
f2 = 5 - Sqrt[5^2 - (x - 5)^2];
f3 = 5 + Sqrt[5^2 - (x - 5)^2];
And
r00 = Graphics[EdgeForm[Thick], Transparent, Rectangle[0, 0, 10, 10]]
r0 = Plot[f1, f2, f3, x, 0, 10, Frame -> True, AspectRatio -> 1, PlotRange -> -0.5, 10.5, -0.5, 10.5]
r1 = Plot[f1, f2, f3, x, 6.25 - 1.25 Sqrt[7], 6.25 + 1.25 Sqrt[7], Filling -> 1 -> 2, Frame -> True, AspectRatio -> 1, PlotRange -> -0.5, 10.5, -0.5, 10.5]
r2 = Plot[f1, f2, f3, x, 6.25 + 1.25 Sqrt[7], 10, Filling -> 3 -> 2, Frame -> True, AspectRatio -> 1, PlotRange -> -0.5, 10.5, -0.5, 10.5]
Show[r00, r0, r1, r2]
Surely there is a simpler way to do this?
regions filling drawing scidraw
$endgroup$
add a comment
|
$begingroup$
Viral question on YouTube. But let me start by saying the guy got it wrong. We don't do such things at the age of 11, we do this question about Year 11 (aged 14/15, 16 for some).
I want to draw the following.
Tried this
f1 = 10 - Sqrt[10^2 - x^2];
f2 = 5 - Sqrt[5^2 - (x - 5)^2];
f3 = 5 + Sqrt[5^2 - (x - 5)^2];
And
r00 = Graphics[EdgeForm[Thick], Transparent, Rectangle[0, 0, 10, 10]]
r0 = Plot[f1, f2, f3, x, 0, 10, Frame -> True, AspectRatio -> 1, PlotRange -> -0.5, 10.5, -0.5, 10.5]
r1 = Plot[f1, f2, f3, x, 6.25 - 1.25 Sqrt[7], 6.25 + 1.25 Sqrt[7], Filling -> 1 -> 2, Frame -> True, AspectRatio -> 1, PlotRange -> -0.5, 10.5, -0.5, 10.5]
r2 = Plot[f1, f2, f3, x, 6.25 + 1.25 Sqrt[7], 10, Filling -> 3 -> 2, Frame -> True, AspectRatio -> 1, PlotRange -> -0.5, 10.5, -0.5, 10.5]
Show[r00, r0, r1, r2]
Surely there is a simpler way to do this?
regions filling drawing scidraw
$endgroup$
add a comment
|
$begingroup$
Viral question on YouTube. But let me start by saying the guy got it wrong. We don't do such things at the age of 11, we do this question about Year 11 (aged 14/15, 16 for some).
I want to draw the following.
Tried this
f1 = 10 - Sqrt[10^2 - x^2];
f2 = 5 - Sqrt[5^2 - (x - 5)^2];
f3 = 5 + Sqrt[5^2 - (x - 5)^2];
And
r00 = Graphics[EdgeForm[Thick], Transparent, Rectangle[0, 0, 10, 10]]
r0 = Plot[f1, f2, f3, x, 0, 10, Frame -> True, AspectRatio -> 1, PlotRange -> -0.5, 10.5, -0.5, 10.5]
r1 = Plot[f1, f2, f3, x, 6.25 - 1.25 Sqrt[7], 6.25 + 1.25 Sqrt[7], Filling -> 1 -> 2, Frame -> True, AspectRatio -> 1, PlotRange -> -0.5, 10.5, -0.5, 10.5]
r2 = Plot[f1, f2, f3, x, 6.25 + 1.25 Sqrt[7], 10, Filling -> 3 -> 2, Frame -> True, AspectRatio -> 1, PlotRange -> -0.5, 10.5, -0.5, 10.5]
Show[r00, r0, r1, r2]
Surely there is a simpler way to do this?
regions filling drawing scidraw
$endgroup$
Viral question on YouTube. But let me start by saying the guy got it wrong. We don't do such things at the age of 11, we do this question about Year 11 (aged 14/15, 16 for some).
I want to draw the following.
Tried this
f1 = 10 - Sqrt[10^2 - x^2];
f2 = 5 - Sqrt[5^2 - (x - 5)^2];
f3 = 5 + Sqrt[5^2 - (x - 5)^2];
And
r00 = Graphics[EdgeForm[Thick], Transparent, Rectangle[0, 0, 10, 10]]
r0 = Plot[f1, f2, f3, x, 0, 10, Frame -> True, AspectRatio -> 1, PlotRange -> -0.5, 10.5, -0.5, 10.5]
r1 = Plot[f1, f2, f3, x, 6.25 - 1.25 Sqrt[7], 6.25 + 1.25 Sqrt[7], Filling -> 1 -> 2, Frame -> True, AspectRatio -> 1, PlotRange -> -0.5, 10.5, -0.5, 10.5]
r2 = Plot[f1, f2, f3, x, 6.25 + 1.25 Sqrt[7], 10, Filling -> 3 -> 2, Frame -> True, AspectRatio -> 1, PlotRange -> -0.5, 10.5, -0.5, 10.5]
Show[r00, r0, r1, r2]
Surely there is a simpler way to do this?
regions filling drawing scidraw
regions filling drawing scidraw
edited 5 hours ago
MelaGo
3,1661 gold badge2 silver badges10 bronze badges
3,1661 gold badge2 silver badges10 bronze badges
asked 11 hours ago
CasperYCCasperYC
3646 bronze badges
3646 bronze badges
add a comment
|
add a comment
|
3 Answers
3
active
oldest
votes
$begingroup$
f1h = HoldForm[10 - Sqrt[10^2 - x^2]];
f1 = f1h // ReleaseHold;
f2h = HoldForm[5 - Sqrt[5^2 - (x - 5)^2]];
f2 = f2h // ReleaseHold;
f3h = HoldForm[5 + Sqrt[5^2 - (x - 5)^2]];
f3 = f3h // ReleaseHold;
The x values for the curve intersections are
x1, x2 = x /. Solve[f1 == #, x][[1]] & /@ f2, f3;
The point coordinates for the curve intersections are
pt1, pt2 = (#, f1 /. x -> # // FullSimplify) & /@ x1, x2;
reg1 = ImplicitRegion[f1 < y < 10 && x > 0, x, y];
reg2 = ImplicitRegion[f2 < y < f3, x, y];
Show[
Region[
regDiff = RegionDifference[reg2, reg1]],
Plot[f1, f2, f3, x, 0, 10,
PlotStyle ->
Orange, AbsoluteThickness[4],
Purple, AbsoluteThickness[4],
Darker@Green, AbsoluteThickness[4]],
Epilog ->
Text[Style[x1, 14, Bold], x1, 2, 0, -1],
Arrow[pt1, x1, 2],
Text[Style[x2, 14, Bold], 7.75, pt2[[2]], 1, 0],
Arrow[pt2, 7.75, pt2[[2]]],
Text[Style[f1h, 14, Bold], 10, 8, -1, 0],
Text[Style[f2h, 14, Bold], 9.5, 1.5, -1, 0],
Text[Style[f3h, 14, Bold], 5, 11],
Red, AbsolutePointSize[7],
Point[pt1, pt2],
Ticks -> 5, 10, 5, 10,
PlotRange -> -1, 14, -1, 12,
Axes -> True]
The area of the shaded region is
area = Area[regDiff] // FullSimplify
(* 25/2 (Sqrt[7] + π - ArcCot[3/Sqrt[7]] - 4 ArcTan[(5 Sqrt[7])/9]) *)
The area relative to the smaller circle is
area/Area[reg2] // N
(* 0.186378 *)
$endgroup$
add a comment
|
$begingroup$
One simple way to visualize complicated regions in mathematica
disk1 = Region[Disk[5, 5, 5]]
disk2 = Region[Disk[0, 10, 10]]
disk3 = Region[Disk[10, 0, 10]]
result = Region[
RegionUnion[RegionDifference[disk1, disk3],
RegionDifference[disk1, disk2]]]
$endgroup$
$begingroup$
RegionDifference
nice function!
$endgroup$
– CasperYC
10 hours ago
$begingroup$
Anyway to smooth the "tip"?
$endgroup$
– CasperYC
10 hours ago
1
$begingroup$
result = RegionPlot[ RegionUnion[RegionDifference[disk1, disk3], RegionDifference[disk1, disk2]], PlotPoints -> 100]
$endgroup$
– OkkesDulgerci
10 hours ago
add a comment
|
$begingroup$
RegionPlot[
x^2 + y^2 < 25 [And]
((x - 5)^2 + (y + 5)^2 > 100 [Or] (x + 5)^2 + (y - 5)^2 > 100),
x, -5, 5, y, -5, 5]
Or...
z[w_] := EuclideanDistance[x, y, w 5, -5];
RegionPlot[
z[0] < 5 [And] (z[1] > 10 [Or] z[-1] > 10),
x, -5, 5, y, -5, 5]
Or...
z[w_] := (a = (x, y - 5 w, -w)).a;
RegionPlot[
z[0] < 25 [And] (z[1] > 100 [Or] z[-1] > 100),
x, -5, 5, y, -5, 5]
Or even shorter....
z[w_, k_] := (a = (x, y - 5 w, -w)).a > 25 k;
RegionPlot[
Not[z[0, 1]] [And] (z[1, 4] [Or] z[-1, 4]),
x, -5, 5, y, -5, 5]
I would be very impressed if someone uses fewer keystrokes than this in a Region
-based solution:
d[c_, r_:10] := Region[Disk[c, r]];
RegionDifference[d[5, 5, 5], RegionIntersection[d[0, 10], d[10, 0]]]
Or...
d[c_, r_:10] := Region[Disk[c, r]];
q = 0, 10;
h = 5, -5;
RegionDifference[d[q + h, 5], RegionIntersection[d[q], d[q + 2 h]]]
Or....
d[c_, r_:10] := Region[Disk[c, r]]; q = 5, 5; h = 5, -5;
RegionDifference[d[q, 5], RegionIntersection[d[q - h], d[q + h]]]
Pretty efficient!
$endgroup$
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%2f207329%2fwhats-the-most-efficient-way-to-draw-this-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$
f1h = HoldForm[10 - Sqrt[10^2 - x^2]];
f1 = f1h // ReleaseHold;
f2h = HoldForm[5 - Sqrt[5^2 - (x - 5)^2]];
f2 = f2h // ReleaseHold;
f3h = HoldForm[5 + Sqrt[5^2 - (x - 5)^2]];
f3 = f3h // ReleaseHold;
The x values for the curve intersections are
x1, x2 = x /. Solve[f1 == #, x][[1]] & /@ f2, f3;
The point coordinates for the curve intersections are
pt1, pt2 = (#, f1 /. x -> # // FullSimplify) & /@ x1, x2;
reg1 = ImplicitRegion[f1 < y < 10 && x > 0, x, y];
reg2 = ImplicitRegion[f2 < y < f3, x, y];
Show[
Region[
regDiff = RegionDifference[reg2, reg1]],
Plot[f1, f2, f3, x, 0, 10,
PlotStyle ->
Orange, AbsoluteThickness[4],
Purple, AbsoluteThickness[4],
Darker@Green, AbsoluteThickness[4]],
Epilog ->
Text[Style[x1, 14, Bold], x1, 2, 0, -1],
Arrow[pt1, x1, 2],
Text[Style[x2, 14, Bold], 7.75, pt2[[2]], 1, 0],
Arrow[pt2, 7.75, pt2[[2]]],
Text[Style[f1h, 14, Bold], 10, 8, -1, 0],
Text[Style[f2h, 14, Bold], 9.5, 1.5, -1, 0],
Text[Style[f3h, 14, Bold], 5, 11],
Red, AbsolutePointSize[7],
Point[pt1, pt2],
Ticks -> 5, 10, 5, 10,
PlotRange -> -1, 14, -1, 12,
Axes -> True]
The area of the shaded region is
area = Area[regDiff] // FullSimplify
(* 25/2 (Sqrt[7] + π - ArcCot[3/Sqrt[7]] - 4 ArcTan[(5 Sqrt[7])/9]) *)
The area relative to the smaller circle is
area/Area[reg2] // N
(* 0.186378 *)
$endgroup$
add a comment
|
$begingroup$
f1h = HoldForm[10 - Sqrt[10^2 - x^2]];
f1 = f1h // ReleaseHold;
f2h = HoldForm[5 - Sqrt[5^2 - (x - 5)^2]];
f2 = f2h // ReleaseHold;
f3h = HoldForm[5 + Sqrt[5^2 - (x - 5)^2]];
f3 = f3h // ReleaseHold;
The x values for the curve intersections are
x1, x2 = x /. Solve[f1 == #, x][[1]] & /@ f2, f3;
The point coordinates for the curve intersections are
pt1, pt2 = (#, f1 /. x -> # // FullSimplify) & /@ x1, x2;
reg1 = ImplicitRegion[f1 < y < 10 && x > 0, x, y];
reg2 = ImplicitRegion[f2 < y < f3, x, y];
Show[
Region[
regDiff = RegionDifference[reg2, reg1]],
Plot[f1, f2, f3, x, 0, 10,
PlotStyle ->
Orange, AbsoluteThickness[4],
Purple, AbsoluteThickness[4],
Darker@Green, AbsoluteThickness[4]],
Epilog ->
Text[Style[x1, 14, Bold], x1, 2, 0, -1],
Arrow[pt1, x1, 2],
Text[Style[x2, 14, Bold], 7.75, pt2[[2]], 1, 0],
Arrow[pt2, 7.75, pt2[[2]]],
Text[Style[f1h, 14, Bold], 10, 8, -1, 0],
Text[Style[f2h, 14, Bold], 9.5, 1.5, -1, 0],
Text[Style[f3h, 14, Bold], 5, 11],
Red, AbsolutePointSize[7],
Point[pt1, pt2],
Ticks -> 5, 10, 5, 10,
PlotRange -> -1, 14, -1, 12,
Axes -> True]
The area of the shaded region is
area = Area[regDiff] // FullSimplify
(* 25/2 (Sqrt[7] + π - ArcCot[3/Sqrt[7]] - 4 ArcTan[(5 Sqrt[7])/9]) *)
The area relative to the smaller circle is
area/Area[reg2] // N
(* 0.186378 *)
$endgroup$
add a comment
|
$begingroup$
f1h = HoldForm[10 - Sqrt[10^2 - x^2]];
f1 = f1h // ReleaseHold;
f2h = HoldForm[5 - Sqrt[5^2 - (x - 5)^2]];
f2 = f2h // ReleaseHold;
f3h = HoldForm[5 + Sqrt[5^2 - (x - 5)^2]];
f3 = f3h // ReleaseHold;
The x values for the curve intersections are
x1, x2 = x /. Solve[f1 == #, x][[1]] & /@ f2, f3;
The point coordinates for the curve intersections are
pt1, pt2 = (#, f1 /. x -> # // FullSimplify) & /@ x1, x2;
reg1 = ImplicitRegion[f1 < y < 10 && x > 0, x, y];
reg2 = ImplicitRegion[f2 < y < f3, x, y];
Show[
Region[
regDiff = RegionDifference[reg2, reg1]],
Plot[f1, f2, f3, x, 0, 10,
PlotStyle ->
Orange, AbsoluteThickness[4],
Purple, AbsoluteThickness[4],
Darker@Green, AbsoluteThickness[4]],
Epilog ->
Text[Style[x1, 14, Bold], x1, 2, 0, -1],
Arrow[pt1, x1, 2],
Text[Style[x2, 14, Bold], 7.75, pt2[[2]], 1, 0],
Arrow[pt2, 7.75, pt2[[2]]],
Text[Style[f1h, 14, Bold], 10, 8, -1, 0],
Text[Style[f2h, 14, Bold], 9.5, 1.5, -1, 0],
Text[Style[f3h, 14, Bold], 5, 11],
Red, AbsolutePointSize[7],
Point[pt1, pt2],
Ticks -> 5, 10, 5, 10,
PlotRange -> -1, 14, -1, 12,
Axes -> True]
The area of the shaded region is
area = Area[regDiff] // FullSimplify
(* 25/2 (Sqrt[7] + π - ArcCot[3/Sqrt[7]] - 4 ArcTan[(5 Sqrt[7])/9]) *)
The area relative to the smaller circle is
area/Area[reg2] // N
(* 0.186378 *)
$endgroup$
f1h = HoldForm[10 - Sqrt[10^2 - x^2]];
f1 = f1h // ReleaseHold;
f2h = HoldForm[5 - Sqrt[5^2 - (x - 5)^2]];
f2 = f2h // ReleaseHold;
f3h = HoldForm[5 + Sqrt[5^2 - (x - 5)^2]];
f3 = f3h // ReleaseHold;
The x values for the curve intersections are
x1, x2 = x /. Solve[f1 == #, x][[1]] & /@ f2, f3;
The point coordinates for the curve intersections are
pt1, pt2 = (#, f1 /. x -> # // FullSimplify) & /@ x1, x2;
reg1 = ImplicitRegion[f1 < y < 10 && x > 0, x, y];
reg2 = ImplicitRegion[f2 < y < f3, x, y];
Show[
Region[
regDiff = RegionDifference[reg2, reg1]],
Plot[f1, f2, f3, x, 0, 10,
PlotStyle ->
Orange, AbsoluteThickness[4],
Purple, AbsoluteThickness[4],
Darker@Green, AbsoluteThickness[4]],
Epilog ->
Text[Style[x1, 14, Bold], x1, 2, 0, -1],
Arrow[pt1, x1, 2],
Text[Style[x2, 14, Bold], 7.75, pt2[[2]], 1, 0],
Arrow[pt2, 7.75, pt2[[2]]],
Text[Style[f1h, 14, Bold], 10, 8, -1, 0],
Text[Style[f2h, 14, Bold], 9.5, 1.5, -1, 0],
Text[Style[f3h, 14, Bold], 5, 11],
Red, AbsolutePointSize[7],
Point[pt1, pt2],
Ticks -> 5, 10, 5, 10,
PlotRange -> -1, 14, -1, 12,
Axes -> True]
The area of the shaded region is
area = Area[regDiff] // FullSimplify
(* 25/2 (Sqrt[7] + π - ArcCot[3/Sqrt[7]] - 4 ArcTan[(5 Sqrt[7])/9]) *)
The area relative to the smaller circle is
area/Area[reg2] // N
(* 0.186378 *)
answered 9 hours ago
Bob HanlonBob Hanlon
66.2k3 gold badges37 silver badges101 bronze badges
66.2k3 gold badges37 silver badges101 bronze badges
add a comment
|
add a comment
|
$begingroup$
One simple way to visualize complicated regions in mathematica
disk1 = Region[Disk[5, 5, 5]]
disk2 = Region[Disk[0, 10, 10]]
disk3 = Region[Disk[10, 0, 10]]
result = Region[
RegionUnion[RegionDifference[disk1, disk3],
RegionDifference[disk1, disk2]]]
$endgroup$
$begingroup$
RegionDifference
nice function!
$endgroup$
– CasperYC
10 hours ago
$begingroup$
Anyway to smooth the "tip"?
$endgroup$
– CasperYC
10 hours ago
1
$begingroup$
result = RegionPlot[ RegionUnion[RegionDifference[disk1, disk3], RegionDifference[disk1, disk2]], PlotPoints -> 100]
$endgroup$
– OkkesDulgerci
10 hours ago
add a comment
|
$begingroup$
One simple way to visualize complicated regions in mathematica
disk1 = Region[Disk[5, 5, 5]]
disk2 = Region[Disk[0, 10, 10]]
disk3 = Region[Disk[10, 0, 10]]
result = Region[
RegionUnion[RegionDifference[disk1, disk3],
RegionDifference[disk1, disk2]]]
$endgroup$
$begingroup$
RegionDifference
nice function!
$endgroup$
– CasperYC
10 hours ago
$begingroup$
Anyway to smooth the "tip"?
$endgroup$
– CasperYC
10 hours ago
1
$begingroup$
result = RegionPlot[ RegionUnion[RegionDifference[disk1, disk3], RegionDifference[disk1, disk2]], PlotPoints -> 100]
$endgroup$
– OkkesDulgerci
10 hours ago
add a comment
|
$begingroup$
One simple way to visualize complicated regions in mathematica
disk1 = Region[Disk[5, 5, 5]]
disk2 = Region[Disk[0, 10, 10]]
disk3 = Region[Disk[10, 0, 10]]
result = Region[
RegionUnion[RegionDifference[disk1, disk3],
RegionDifference[disk1, disk2]]]
$endgroup$
One simple way to visualize complicated regions in mathematica
disk1 = Region[Disk[5, 5, 5]]
disk2 = Region[Disk[0, 10, 10]]
disk3 = Region[Disk[10, 0, 10]]
result = Region[
RegionUnion[RegionDifference[disk1, disk3],
RegionDifference[disk1, disk2]]]
answered 11 hours ago
MarkhaimMarkhaim
59210 bronze badges
59210 bronze badges
$begingroup$
RegionDifference
nice function!
$endgroup$
– CasperYC
10 hours ago
$begingroup$
Anyway to smooth the "tip"?
$endgroup$
– CasperYC
10 hours ago
1
$begingroup$
result = RegionPlot[ RegionUnion[RegionDifference[disk1, disk3], RegionDifference[disk1, disk2]], PlotPoints -> 100]
$endgroup$
– OkkesDulgerci
10 hours ago
add a comment
|
$begingroup$
RegionDifference
nice function!
$endgroup$
– CasperYC
10 hours ago
$begingroup$
Anyway to smooth the "tip"?
$endgroup$
– CasperYC
10 hours ago
1
$begingroup$
result = RegionPlot[ RegionUnion[RegionDifference[disk1, disk3], RegionDifference[disk1, disk2]], PlotPoints -> 100]
$endgroup$
– OkkesDulgerci
10 hours ago
$begingroup$
RegionDifference
nice function!$endgroup$
– CasperYC
10 hours ago
$begingroup$
RegionDifference
nice function!$endgroup$
– CasperYC
10 hours ago
$begingroup$
Anyway to smooth the "tip"?
$endgroup$
– CasperYC
10 hours ago
$begingroup$
Anyway to smooth the "tip"?
$endgroup$
– CasperYC
10 hours ago
1
1
$begingroup$
result = RegionPlot[ RegionUnion[RegionDifference[disk1, disk3], RegionDifference[disk1, disk2]], PlotPoints -> 100]
$endgroup$
– OkkesDulgerci
10 hours ago
$begingroup$
result = RegionPlot[ RegionUnion[RegionDifference[disk1, disk3], RegionDifference[disk1, disk2]], PlotPoints -> 100]
$endgroup$
– OkkesDulgerci
10 hours ago
add a comment
|
$begingroup$
RegionPlot[
x^2 + y^2 < 25 [And]
((x - 5)^2 + (y + 5)^2 > 100 [Or] (x + 5)^2 + (y - 5)^2 > 100),
x, -5, 5, y, -5, 5]
Or...
z[w_] := EuclideanDistance[x, y, w 5, -5];
RegionPlot[
z[0] < 5 [And] (z[1] > 10 [Or] z[-1] > 10),
x, -5, 5, y, -5, 5]
Or...
z[w_] := (a = (x, y - 5 w, -w)).a;
RegionPlot[
z[0] < 25 [And] (z[1] > 100 [Or] z[-1] > 100),
x, -5, 5, y, -5, 5]
Or even shorter....
z[w_, k_] := (a = (x, y - 5 w, -w)).a > 25 k;
RegionPlot[
Not[z[0, 1]] [And] (z[1, 4] [Or] z[-1, 4]),
x, -5, 5, y, -5, 5]
I would be very impressed if someone uses fewer keystrokes than this in a Region
-based solution:
d[c_, r_:10] := Region[Disk[c, r]];
RegionDifference[d[5, 5, 5], RegionIntersection[d[0, 10], d[10, 0]]]
Or...
d[c_, r_:10] := Region[Disk[c, r]];
q = 0, 10;
h = 5, -5;
RegionDifference[d[q + h, 5], RegionIntersection[d[q], d[q + 2 h]]]
Or....
d[c_, r_:10] := Region[Disk[c, r]]; q = 5, 5; h = 5, -5;
RegionDifference[d[q, 5], RegionIntersection[d[q - h], d[q + h]]]
Pretty efficient!
$endgroup$
add a comment
|
$begingroup$
RegionPlot[
x^2 + y^2 < 25 [And]
((x - 5)^2 + (y + 5)^2 > 100 [Or] (x + 5)^2 + (y - 5)^2 > 100),
x, -5, 5, y, -5, 5]
Or...
z[w_] := EuclideanDistance[x, y, w 5, -5];
RegionPlot[
z[0] < 5 [And] (z[1] > 10 [Or] z[-1] > 10),
x, -5, 5, y, -5, 5]
Or...
z[w_] := (a = (x, y - 5 w, -w)).a;
RegionPlot[
z[0] < 25 [And] (z[1] > 100 [Or] z[-1] > 100),
x, -5, 5, y, -5, 5]
Or even shorter....
z[w_, k_] := (a = (x, y - 5 w, -w)).a > 25 k;
RegionPlot[
Not[z[0, 1]] [And] (z[1, 4] [Or] z[-1, 4]),
x, -5, 5, y, -5, 5]
I would be very impressed if someone uses fewer keystrokes than this in a Region
-based solution:
d[c_, r_:10] := Region[Disk[c, r]];
RegionDifference[d[5, 5, 5], RegionIntersection[d[0, 10], d[10, 0]]]
Or...
d[c_, r_:10] := Region[Disk[c, r]];
q = 0, 10;
h = 5, -5;
RegionDifference[d[q + h, 5], RegionIntersection[d[q], d[q + 2 h]]]
Or....
d[c_, r_:10] := Region[Disk[c, r]]; q = 5, 5; h = 5, -5;
RegionDifference[d[q, 5], RegionIntersection[d[q - h], d[q + h]]]
Pretty efficient!
$endgroup$
add a comment
|
$begingroup$
RegionPlot[
x^2 + y^2 < 25 [And]
((x - 5)^2 + (y + 5)^2 > 100 [Or] (x + 5)^2 + (y - 5)^2 > 100),
x, -5, 5, y, -5, 5]
Or...
z[w_] := EuclideanDistance[x, y, w 5, -5];
RegionPlot[
z[0] < 5 [And] (z[1] > 10 [Or] z[-1] > 10),
x, -5, 5, y, -5, 5]
Or...
z[w_] := (a = (x, y - 5 w, -w)).a;
RegionPlot[
z[0] < 25 [And] (z[1] > 100 [Or] z[-1] > 100),
x, -5, 5, y, -5, 5]
Or even shorter....
z[w_, k_] := (a = (x, y - 5 w, -w)).a > 25 k;
RegionPlot[
Not[z[0, 1]] [And] (z[1, 4] [Or] z[-1, 4]),
x, -5, 5, y, -5, 5]
I would be very impressed if someone uses fewer keystrokes than this in a Region
-based solution:
d[c_, r_:10] := Region[Disk[c, r]];
RegionDifference[d[5, 5, 5], RegionIntersection[d[0, 10], d[10, 0]]]
Or...
d[c_, r_:10] := Region[Disk[c, r]];
q = 0, 10;
h = 5, -5;
RegionDifference[d[q + h, 5], RegionIntersection[d[q], d[q + 2 h]]]
Or....
d[c_, r_:10] := Region[Disk[c, r]]; q = 5, 5; h = 5, -5;
RegionDifference[d[q, 5], RegionIntersection[d[q - h], d[q + h]]]
Pretty efficient!
$endgroup$
RegionPlot[
x^2 + y^2 < 25 [And]
((x - 5)^2 + (y + 5)^2 > 100 [Or] (x + 5)^2 + (y - 5)^2 > 100),
x, -5, 5, y, -5, 5]
Or...
z[w_] := EuclideanDistance[x, y, w 5, -5];
RegionPlot[
z[0] < 5 [And] (z[1] > 10 [Or] z[-1] > 10),
x, -5, 5, y, -5, 5]
Or...
z[w_] := (a = (x, y - 5 w, -w)).a;
RegionPlot[
z[0] < 25 [And] (z[1] > 100 [Or] z[-1] > 100),
x, -5, 5, y, -5, 5]
Or even shorter....
z[w_, k_] := (a = (x, y - 5 w, -w)).a > 25 k;
RegionPlot[
Not[z[0, 1]] [And] (z[1, 4] [Or] z[-1, 4]),
x, -5, 5, y, -5, 5]
I would be very impressed if someone uses fewer keystrokes than this in a Region
-based solution:
d[c_, r_:10] := Region[Disk[c, r]];
RegionDifference[d[5, 5, 5], RegionIntersection[d[0, 10], d[10, 0]]]
Or...
d[c_, r_:10] := Region[Disk[c, r]];
q = 0, 10;
h = 5, -5;
RegionDifference[d[q + h, 5], RegionIntersection[d[q], d[q + 2 h]]]
Or....
d[c_, r_:10] := Region[Disk[c, r]]; q = 5, 5; h = 5, -5;
RegionDifference[d[q, 5], RegionIntersection[d[q - h], d[q + h]]]
Pretty efficient!
edited 2 hours ago
answered 5 hours ago
David G. StorkDavid G. Stork
26.3k2 gold badges24 silver badges59 bronze badges
26.3k2 gold badges24 silver badges59 bronze badges
add a comment
|
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%2f207329%2fwhats-the-most-efficient-way-to-draw-this-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