Group Abstract Group Abstract

Message Boards Message Boards

0
|
2.5K Views
|
6 Replies
|
2 Total Likes
View groups...
Share
Share this post:

FilledCurve and lopsided mandalas

Posted 1 year ago

The following code makes the mandala in the image below. Notice that one petal of the mandala is shorter than all the others. I'm trying to get them all to be the same. It seems that this unwanted behavior is due to the FilledCurve's feature of closing all curves, even if they already close themselves. Does anyone see a way to prevent this from happening to produce a symmetric mandala? (Yes, I'm aware of the very cool resource function "RandomMandala", but I'm trying to roll my own for a special purpose.)

curve = BSplineCurve[{{0, 0}, {1, 1}, {3, -7}, {3, 1}, {0, 0}}];
rot = Table[RotationTransform[i*\[Pi]/15][curve], {i, 30}];
gr = Graphics[{EdgeForm[Black], FaceForm[Yellow], 
   FilledCurve[rot]}]

enter image description here

Thanks in advance.

POSTED BY: Mark Greenberg
6 Replies
Posted 1 year ago
POSTED BY: Eric Rimbey

Ah, I see. Thank you, Eric. The way I was doing it, FilledCurve's argument was a list of B-spline curves. Your solution is a single closed B-spline curve. I'm not sure I would have come up with that on my own. That's the solution I need. : )

POSTED BY: Mark Greenberg
POSTED BY: Arnoud Buzing
POSTED BY: Mark Greenberg

Interesting approach, Gianluca. Thanks. I had not thought of superimposing two curves for the color & outline. I was hoping to preserve the odd-even filling scheme if possible. Your solution results in a fill of the entire shape.

POSTED BY: Mark Greenberg
POSTED BY: Gianluca Gorni
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard