Fix Circle Generation for HeartOfCircles to Stay Within Drawable Bounds (Follow-up to PR #823)
This is an updated version of my "HeartOfCircles" art piece, where I have now fixed the circle generation to ensure it stays within drawable bounds. The artwork represents a blend of geometric shapes and harmonious heart patterns, drawn from algorithmic creativity. My experience creating it was both challenging and rewarding, especially while tweaking the shapes.
Checklist
- [x] I have read the steps to getting a blot
- [x] I have read all the submission requirements and follow them
- [x] I am submitting art that...
- [x] is algorithmically generated
- [x] is my own work, not copied from elsewhere
- [x] is drawable through the editor
- [x] doesn't call
Math.random() - [x] is drawable on Blot (doesn't have lines overlap more than 5 times)
- [x] Doesn't overlap lines more than 5 times
- [x] Fits in the working area of 125x125mm
- [x] Doesn't rely on color to look good
Additional Info
This PR is an update to the original PR #823, where I was asked to fix the circle generation to stay within the drawable bounds. That issue has been addressed.
Image
@PawiX25 is attempting to deploy a commit to the Hack Club Team on Vercel.
A member of the Team first needs to authorize it.
art/HeartOfCircles-PawiX25/index.js looks like art! preview it in the editor
Hello! Sorry it's been so long. The main reviewer has been swamped lately, so I wanted to give you a few hints so you have the best chance of getting a blot. I love the idea of taking a shape and drawing it using a bunch of random circles. It looks really cool! To add a little bit more randomness, I would love to see the general shape of the heart randomize between runs as well! You could have a few different options, or, if you really want to go for it, find a way to make the shape generated in a way that you can add complete randomness to it.
Also, I'm a little worried that some parts may not always be drawable, for example I got a run where the bottom has a lot of overlap. Is there some way you can have it not put too many circles on top of one another?
Your project is really cool, though, and I hope you can get a blot! :)
@EnterpriseGoose I've made the updates requested in the review!
Just took a look at it again and it's looking great! I think it's almost there. Just a couple things I noticed:
- You're calling Math.random() in the beginning to set the seed. I see why you did this and I did it too at first, but I think they want you to really truly not use Math.random() at all, so I would just use a bt.rand() there as well
- I noticed that it seemed like the heart still isn't really a whole random shape even if I turn up the heart randomness factor; the circles just individually stray more from the path. I think this is because it's generating a new random a through e for each circle. I think if you generated a random a through e at the beginning and then just calculated x and y based on the global a-e, it would meant that the whole shape would be somewhat random rather than individual circles.
Once you address these, I'll send it to Alex (the official reviewer) to see what he thinks.
I have made the requested changes:
- Replaced
Math.random()withbt.rand()to set the seed. - Adjusted the heart generation to use a global set of random parameters (a through e) for the whole shape, ensuring that the entire heart shape is somewhat random rather than individual circles.
You can review the changes in commit a11faee. Let me know if there's anything else that needs to be addressed before sending it to Alex.
Awesome! I'll send it to Alex and see what he thinks!