plantmaker
models plant families with webGL (or tries to, anyway).
retrospectivenote: each square is where a leaf would be and the. lines represent the structure of the plant. not like it would be accurate anyway, but just lyk
intro
As you all know from ninth grade biology, the taxonomy of living organisms is intricate and descriptive. However, seeing what that... you know, looks like can be more difficult, especially when you see the words like "Leaves are often deeply lobed and pinnatifid" and "Fruit a loculicidal capsule, often deeply 5-angled". Like, what the heck does that mean? That means absolutely nothing. Furthermore, there's just so much plant data,,,, seriously,,,, you ever wanna populate your garden with some flowers of a family but not know exactly what genus? Yeah,,,, yeaaaaah,,, and with a 3D view it's just more real and gives you that experience of visualisation.
Also visualisation is just pretty.
the journey™+ technical details i guess but in a non technical way
All built in glorious, agile, flaw-free, vegan, non-gmo javascript. Incredibly efficient. This has probably been one of the full things I've made with js (and granted... it only really does need a client side so its valid, okay?), and after this, I want nothing more to write in any other language.
I originally wanted to download the dataset and go from that data, but the bandwidth sucked and I'm not about to expend an inordinate amount of data on data that might be hit or miss, etc, etc. So the actual data I've forgone for now, and I made faux data for.
I used three js (a wrapper for webGL) to build the scene and. you know. draw the stuff. I forgot how to do recursion properly, so that's why all of the plants are actually more vine looking. I'm not going to lie, I also derped on math midway through and you know. 3d's weird if you haven't had practice programming it). I also made a fatal mistake and conglomerated my math and drawing into one function and totally. like oh man the global variables. why are there even functions, why did i write it like this.
I had trouble thinking this through logically, but it's logical enough to work. namely the. it's hard to know how to write generative functions based on data you dont have. and i kinda just didn't know what should map to what, and I didn't really plan my functions thoroughly enough from the start so. i had to do a lot of backtracking later (but i was too hesitant in the first place ("joy" emoji) ("joy" emoji) ("joy" emoji) ("joy" emoji) to even write anything so like you know breakeven).
misc
final notes: why not just write an L system or some like. actual math to faux generate plants that dont exist: imagine you want to know specifically what Cissampelos pareira looks like. that's right. faithful mathematics cant give you a macgyvered mathematical guess. can't model the inherent beauty of the machine learning that is pretty much the entire universe. thats right. get on life's level.
and here are some other cool things that pertain to this that im going to read soon.
Built With
- apache
- bash
- dadanaozi
- html
- javascript
- mitochondria
- three.js
Log in or sign up for Devpost to join the conversation.