blot icon indicating copy to clipboard operation
blot copied to clipboard

Fix Circle Generation for HeartOfCircles to Stay Within Drawable Bounds (Follow-up to PR #823)

Open PawiX25 opened this issue 1 year ago • 2 comments

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

image

PawiX25 avatar Oct 06 '24 13:10 PawiX25

@PawiX25 is attempting to deploy a commit to the Hack Club Team on Vercel.

A member of the Team first needs to authorize it.

vercel[bot] avatar Oct 06 '24 13:10 vercel[bot]

art/HeartOfCircles-PawiX25/index.js looks like art! preview it in the editor

github-actions[bot] avatar Oct 06 '24 13:10 github-actions[bot]

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? image

Your project is really cool, though, and I hope you can get a blot! :)

EnterpriseGoose avatar Nov 12 '24 23:11 EnterpriseGoose

@EnterpriseGoose I've made the updates requested in the review!

PawiX25 avatar Nov 13 '24 19:11 PawiX25

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.

EnterpriseGoose avatar Nov 13 '24 23:11 EnterpriseGoose

I have made the requested changes:

  • Replaced Math.random() with bt.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.

PawiX25 avatar Nov 19 '24 22:11 PawiX25

Awesome! I'll send it to Alex and see what he thinks!

EnterpriseGoose avatar Nov 20 '24 01:11 EnterpriseGoose