What do I need to know to make a 3D object I can move around and rotate within a label? I have a fairly comprehensive knowledge of Funky Trees, but I have been unable to figure this out myself. I don’t want to take any shortcuts here (just importing images of the object won’t cut it). If there’s any sort of coding outside of SP (python, etc. ) as a form of conversion or editing, I’m afraid I would not be very competent with that and I’d need to find, borrow, or modify an existing script somehow.
@32 IA 3D Renderer V4.2 is out now with just some minor bug fixes that you'll probably want to use instead
@32 Np!
@IzzyIA that’s awesome! Today was actually the day I was planning to start prototyping for an upcoming project, so this came right in time!
@32 IA 3D Renderer V4.1 is available is here! All the changes are described in the .py file but the main upgrade is a large improvement in performance
@PlanariaLab I've been able to save a lot of performance by precalculating the sin and cos functions into variables instead of doing the trig calculations for every single point which changed the game and allowed me to really push the boundaries. So far I've been reaching up to rendering 2500 points on my gaming PC. I like the strategy of rendering lines by a series of points but its disappointing there is no alternative right now for fully filled in lines.
@PlanariaLab Very interesting! And thanks for the tip on the multibyte characters I've never considered that
@IzzyIA
From your comments and the renderer v4, it looks almost identical to mine as far as rendering the vertices.
(There is a difference between perspective or parallel projection, but the only difference is whether the x,y position is midwifed by z-depth or not.)
The drawing of the line is simply a straight line completion and laying down periods and minus signs based on the x,y positions of the vertices after passing through a rotation matrix and other processing.
But the aspect ratio of character symbols is limited, so if one tries to draw thin or long lines, a large number of characters must be lined up to compensate.
Also, this was a mistake that I realized later, but multibyte characters are very demanding on the terminal, and because I was using multibyte characters for some of the lines, it was putting an extra load on the device.
@32 No problem, I'm here if you have any questions
@IzzyIA that is so incredibly useful, thank you so much. I believe it has everything I need for my project, but be warned I may have some questions later on down the line.
@32 I found the old script and did a good amount of work to make it more efficient and usable, it will take in a set of points and their colors and generate a craft that will render them in a label. Here is the link! Please let me know what you think, if there are any bugs, or if any features should be added.
@IzzyIA that’s really useful, thanks so much
@32 I had made this 3D Renderer which probably works similarly to the one that @PlanariaLab made. It essentially takes 3D points and applies rotation matrices and then projects them to 2D. I remember using this video as a guide to understanding how the math works. The main issue is connecting the points. While rendering the points themselves don't take much cpu, I don't know of a way to draw lines to connect them increasing the cpu cost by a ton. This may be a simple problem to solve for all I know but I haven't looked very much into it since my work on these are all years old. If I remember correctly, my python program I made to generate the renderer simply takes in a set of 3D points, and I might have made a V2 that could also allow you to specify the color of each point too. I can go looking for that script for you when I get the time but if I forget over the next few days give me a ping to remind me 👍
Im an absolute noob at ft lol, seems like you got an answer from someone else tho.
I once tried drawing wireframes to create a UI for a landing aid, but the load on the terminal was unnecessarily large, and then it became tedious, so I quit.
Prototype1
Prototype2
@IzzyIA @PlanariaLab do either of you have any sort of documentation or anything that could potentially help with this?