Message Boards Message Boards

0
|
1418 Views
|
3 Replies
|
1 Total Likes
View groups...
Share
Share this post:

Displaying ParametricRegion doesn't seem to terminate.

Posted 1 year ago

Hello,

Displaying ParametricRegion doesn't seem to terminate (waited for 10-15 minutes).

f[w_] := {w[[1]]/(w[[1]]^2 + w[[2]]^2 + w[[3]]^2), w[[2]]/(w[[1]]^2 + w[[2]]^2 + w[[3]]^2), w[[3]]/(w[[1]]^2 + w[[2]]^2 + w[[3]]^2)}
planeRegion = ImplicitRegion[z == 5, {x, y, z}]
tr = TransformedRegion[planeRegion, f]
Region[tr]

Thank you

POSTED BY: Felix Filozov
3 Replies

Felix,

here is a version that works - DiscretizeRegion[] often saves the day!

f = {Indexed[#1, {1}]/(
    Indexed[#1, {1}]^2 + Indexed[#1, {2}]^2 + Indexed[#1, {3}]^2), 
    Indexed[#1, {2}]/(
    Indexed[#1, {1}]^2 + Indexed[#1, {2}]^2 + Indexed[#1, {3}]^2), 
    Indexed[#1, {3}]/(
    Indexed[#1, {1}]^2 + Indexed[#1, {2}]^2 + Indexed[#1, {3}]^2)} &;
planeRegion = DiscretizeRegion@ImplicitRegion[z == 5, {x, y, z}];
tr = TransformedRegion[planeRegion, f];
Region[tr]

enter image description here

POSTED BY: Henrik Schachner
Posted 1 year ago

Thank you Henrik. That worked.

I took your advice about using DiscretizeRegion. I came across a similar problem, however:

ballRegion = DiscretizeRegion[Region[Ball[{1, 0, 0}]]];
cubeRegion = DiscretizeRegion[Region[Cube[]]];
diff = RegionDifference[cubeRegion, ballRegion];
tr = TransformedRegion[diff, f]
Region[tr]

Where f is how you defined it, and the last Region[] also doesn't seem to terminate.

POSTED BY: Felix Filozov

Well, yes, with Region and friends one often has to play around ...

You can try the following (- but I am not sure if the result is what you expect):

dCSGReg = DiscretizeRegion[CSGRegion["Difference", {Cube[], Ball[{1, 0, 0}]}]];
tr = TransformedRegion[dCSGReg, f];
Region[tr]
POSTED BY: Henrik Schachner
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract