Cardioid
A simple circle that draws lines into a shape of a cardioid.
I hope for this to provide a better understanding for the cardioid. something that shows up in mathematics everywhere.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
1 Posted by 3Cat on 20 Feb, 2022 10:12 AM
Zipped File
Support Staff 2 Posted by john on 22 Feb, 2022 10:12 AM
3Cat,
This is lovely and I agree: cardioids are cool.
Would you consider sharing a zipped NDBX file so we can all see your code?
Thanks,
John
3 Posted by 3Cat on 24 Feb, 2022 05:13 PM
The Cardioid Zipped NDBX file
4 Posted by 3Cat on 24 Feb, 2022 05:17 PM
I have also made a polar version of the cardioid that draws one with the frames by pressing play.
Thank you John for your support!
Support Staff 5 Posted by john on 25 Feb, 2022 12:59 AM
3Cat,
Thank you very much for both of these excellent demos!
I especially enjoyed increasing the multiplier in your first demo to add more "petals" and increasing the lines to create cool Moire patterns.
And I learned something new from both examples...
Even after all my years fiddling with NodeBox, it never occurred to me that you could publish ports to the main root as you do in your first demo. I don't know why I didn't notice this before. It makes perfect sense and provides a very nice way to parameterize an entire network. Very useful. It's a trick I will start using in similar situations from now on.
I had also never thought of using the buffer_points node the way you did in your second demo. I always thought of this as a tool for managing data coming in from audio and other devices - something I rarely do. But it works quite well in this situation. Much easier than writing a buffer subnetwork from scratch.
NOTE: for this to work properly I believe you need to enable Device Support under the Nodebox Preferences menu - and Save and restart NodeBox if it wasn't already set. Once Device Support is set you never have to worry about it again. Experienced Nodebox users probably set this years ago and forgot all about it, but new users might not know about this quirk.
Thanks again! And please keep these demos coming!
John
6 Posted by Gabriel Sim-Lar... on 28 Feb, 2025 07:33 PM
I'm wondering why I can't find buffer_points on Windows Nodebox 3.053 ?
I was testing some things on Mac 10.14.6 and found some weird behavior. When I try to export CSV from a table made from buffer_points **sometimes**, can't tell why, (too many points in the length?) the export dialog never offers a save location. Once this happens it seems it won't work at all until I restart the computer.
1) What happened to buffer_points?
2) Why is CSV export so fussy? Am I not supposed to use a table? Are there size/object limitations on the export dialog?
Support Staff 7 Posted by john on 01 Mar, 2025 12:27 AM
Gabriel,
Buffer_points is an "experimental" node. As you may already know, it can only be found and used if you first go to Settings... (under the Nodebox menu on the Mac, not sure about the PC) which should open a simple Preferences dialog with a single option, a checkbox to enable Device Support. Make sure this is checked and hit Save.
You then have to quit Nodebox and relaunch. After that, in theory, you should then be able to find the buffer_points node. You only have to do this once. From then on, it should always be there. But if Device Support is not enabled, you will be unable to even find buffer_points.
This may also explain the problems you were having with CSV. If you don't have Device Support enabled, strange things may happen if you try to do anything with the output of a buffer_points node already present in some Nodebox network you have.
When I was experimenting with this (on my Mac) I sometimes had to save and restart twice before Nodebox would turn Device Support off, and sometimes I was unable to quite a network which had a buffer_points node in it, and had to force quit. I later discovered that I somehow had two different instances of Nodebox open. Not sure how that happened.
Once you have Device Support turned on and have saved it and restarted, everything should work OK. I was able to render the buffer_points node in 3Cat's network and directly save it to a CSV file without even placing the points in a table (though the table also worked fine for me).
That said, buffer_points is a strange node. You have to be sure to play your network to build up points in the buffer before attempting to export anything; after hitting rewind or restarting there won't be much in the buffer. And anything that triggers a reload (including command R) can cause new data to appear in the buffer.
I find it disconcerting to have a node that has a different output depending on when you look at it. Perhaps that is why Frederik called it experimental and forced you to manually enable it under settings.
If you don't want to or can't use buffer_points, you can roll your own buffer by feeding a range node into your network instead of a frame node, generate the full number of points or whatever, save that as a CSV, then read in the CSV and use that as your buffer. For animations you can then use the frame node to extract the first n entries from your CSV buffer.
Let me know if this clears things up. If you're still having issues, send me a zipped copy of your ndbx file and I'll see if there's anything I can do on my end to help.
Good to hear from you again!
John