this is just a visualisation program that draws rad looking euclidian constructions. there were a bunch of other propositions from the elements that i created, as you can see from the source files, however i didnāt get to adding them into this scraped together demo. if youād like to be unrestricted by the web limitations, you can grab the binary and run the exe to use your computerās full power for, uh, this, creation. drop down as many gears as possible and let it cook
since this project was built up in c, its a minor miracle that i got the web version compiled in the first place. the ui on the web demo is from the compile tool emscripten, and the console is just the output interface you can use to see what instructions register.
this project was supposed to be something else entirely, however I think where it ended up is okay for now. I have a lot of other constructions that I never got to add into the sandbox system however I suppose theyāre just waiting to be utilised. if you want to try this project, moā gears moā fun, as they say, iāve added up to 32 (i already had to make changes to my emscripten compile to get that working). i hope someone gets something out of this anyway, because i still think it looks quite cool. the original video from which i made this gif goes on a lot longer by the way, like fine wine, these constructions only get better with time.
Log in to leave a comment
Hello friends, I will admit I slightly lost the plot trying to pursue the excessively complex constructions. They donāt even fit into what I wanted this to be because theyāre far too lengthy to reasonably fit cleanly into a short animation period.
I decided to pivot and start working on the actual gear mechanism, and then figure things out from there. Iāve now been on the figure things out stage for quite some time and I think Iām starting to lose the will.
For now, weāre sticking simple with a test of the gear system by just drawing a circle. I spent an hour searching for why it wouldnāt work before spotting I forgot to type the word ābreakā, and so I made up for it by breaking my keyboard into small pieces, all the easier to type with, as grandma says.
Iām pretty sure the answers will come to me naturally as long as I search within myself, or maybe that wasnāt the moral of the third and final kung fu panda movie, I really donāt know anymore just watch the circle get drawn okay?
Log in to leave a comment
huge updates my avid viewers (there was one comment on the last post so this is a milestone). to begin with i remade the colour system to be able to change the colours for all constructions since inputting values for each construction became a headache very quickly. that isnāt to say that the headache is gone however, because it remains.
i have made a serious and continuous lapse in my judgement and I donāt expect it to ever be resolved, because my modular design to input only points into each of these constructions has made it an absolute pain to accurately tell which point is what, because each point becomes renamed relative to the construction it is immediately a part of. it also means that tracking which lines to draw, which lines to fade, which lines shouldnāt even exist, all becomes like a twenty mile hike without boots up a mountain of legos.
anyway iāve gotten equal angle constructions working, so thatās neat. and as i spoiled earlier iāve added a fade function, which may be even worse since its basically a guessing game what is and isnāt going to disappear, however it has resulted in Massive improvements to the visuals of the equal angle construction (it was so much worse before)
Log in to leave a comment
added angle bisection. iāve been quite carelessly balling with the trigonometry and somehow it continues to work, in truth there is a fair chance that the moment i try some of these constructions on different points the entire thing combusts, but that is a risk i am willing to take.
i edited the equilateral construction to include a parameter that configures the direction of the triangle (given a point it should be facing away from). this is because as can be seen, there are always two potential triangles that can be formed, and aesthetically, in cases such as in this angle bisection, it is far cleaner if the triangle is facing away from the point we are bisecting. its a bit of a pain to include a random vector if a particular direction is unnecessary, however for now this solution seems to work, and the design of the bisection is worth the extra input.
Log in to leave a comment
Nice project, really unique as well BUT when I tried compiling it started downloading a large file from raylib. I donāt if you know but to use raylib you only need to download 12mb or something like that.
Would be better if you Updated your CMakeLists to only download whatās needed.
okay so i took a look at where i got the cmake file template from, and it seems itās downloading the master branch from source since its āeasier than including prebuilt binaries for every platform and configurationā.
i think its more important for anyone to be able to run the program without hassle than for a smaller download, but if thereās some obviously easier way to compile then iāll certainly change it
added equal line construction. this required rethinking the phase system since I needed constructions to begin one after the other. the best way seemed to be to move the update function for each subsidiary construction into its own phase within the update loop and simply check for completion there.
i also standardised the progress to be from 0 to 1, meaning all construction meaning all phases of each construction will take the same amount of time, it may be worthwhile looking to configure custom speeds for each since the vectorLerp iām using seems sedated.
i then had the problem of hiding certain lines that were being drawn within my constituent constructions. i was thinking about ways of controlling the hidden and shown segments, but wanted it controlled via a single parameter, so i opted for a bitmask which i can configure within my update function.
Log in to leave a comment
cleaned up the perpendicular bisector a little more by using a separate function to draw the final line itself. also, added equilateral triangle construction, the repertoire grows
Log in to leave a comment
cleaned up the heretical bisector construction code. turns out I was actually right the first time and my ultimate solution was just to employ the use of switch cases but cycling through phases of construction with an enum.
it also turns out that raylib has a function to draw arcs in particular, so my incredible method for manually drawing them with hundreds of lines was unnecessary (iām so glad that function was in a separate section of the docs, and iām also so glad that it takes degrees rather than radians like everything else for some reason)
Log in to leave a comment
fully animated the perpendicular bisector construction, just please donāt ask how. though, the basic idea was just to split up the total construction progress into each half arc and cycle through the necessary drawings, allowing me to configure each stretch individually. that being said, this may just be the worst possible implementation possible, and I will have to return and fix the yandere sim excerpts (please donāt look at the code)
Log in to leave a comment
employed the previously created circle construction method to draw bisectors. the arcs are purely for visual purposes however, the coordinates bisector itself is drawn through some amount of trigonometric shenanigans.
Log in to leave a comment
Created a system to construct basic circles using raylib
Log in to leave a comment