Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "vertices"
-
First story (not rant) :3
So I was asked to set problems for an online programming contest for my college (I'm a sophomore)
The participants were students from my college.
Teacher told me "make as hard as you can"
I gave it my all.
:|
1 person solved the first question. Nobody solved the other four. :|
Not sure if I should be proud or sad.
And if you're wondering - here was my first question -
Sam wants to invest in real estate. He's got X dollars to spend. He knows the expected value per square meter of a given property. He knows the coordinates of the vertices of the polygon shaped properties he's interested in.
(both the values and coordinates for each property are given in input)
Find the maximum return on investment he can get.
(answer is, basically you calculate the area of each polygonal house using half the vector cross product, multiply it with their expected value per square meter, and then apply a dynamic programming - knapsack approach)
;-; I really thought it was a nice question man. ;-; I put so much thought into others too. ;-;
Got ignored. ;-;6 -
Okay so my last idea has one big problem: I need to project vertices into a single space which encompasses an entire hemisphere. AND straight lines need to remain straight when projected.
That's not something a typical projection matrix can do. Damn. I'm thinking maybe something like octahedral projection? [1]
But I'm not sure there's an answer. Else I would have to chop up the hemisphere into parts and try rastering each tri for each view. Ugh, that sucks
[1] https://researchgate.net/figure/...5 -
Look at this amazing chaos game fractal.
Three vertices of an equilateral triangle and a random point p between any two vertices are taken,then we generate a random integer between 1 and 6 (just like throwing a dice) .if 2 or 4 comes on the dice we draw a point between the random point p and the vertex v1.similarly if 3 or 4 comes on dice , we draw a point between the previously drawn point and vertex v2.for 5 or 6 the vertex is v3.after a few iterations we get to see this amazing pattern30 -
FUCK ME IN MY INDICES.
FUCK THE GPUS IN THEIR INDICES.
I mean... I understand (roughly) why the meshes are sent to gpu in this form, but at the same time...
...there's a reason why first thing I did when I was coding my procedural geometry generation library, was abstracting away all of that stuff...
...sadly, as many useful things, when I was looking for that lib on the start of this contract, I couldn't find it. and I was like "doesn't matter, this is a simple thing, using the library would be just a lazy overkill anyway".
well, fuck.
two hours of playing around with two fucking triangles, trying to figure out which indexes are pointing to the correct vertices in a list containing FOUR outline paths.
(lower inner, upper inner, lower outer, upper outer, exacly in this order).
i mean, yeah, it's actually pretty straightforward stuff... for someone not as dumb as me =D
you just have two offsets, one that jumps you to start of the upper path, another that jumps you to the start of the outer path, then it's just
0 + upOffset to get the vertex extruded upwards from the zeroth of the inner path, or
0 + outOffset to get the zeroth from the outer outline, or
0 + outOffset + upOffset, to get the one extruded from zeroth outer vertex...
and so on.
simple stuff, then you just replace the zero with loop control var, put them in the right order, and voilá! walls!
except... whatever, why am I describing in such detail, not necessary, you're not my rubber duck =D
in short, figuring out which fuckin vertex is which, when the list contains ...well, any number of points, and you need to plug the gap between last and first points of the paths, where you need to wrap around the list...
...has proven to be surprisingly hard for me.
funny how much I love doing these things with meshes, despite how bad I am at doing them, which makes me hate doing them despite loving it =D2 -
Sometimes I just wonder how.
I spent hours trying to find out why nothing was being rendered on screen. In the end I realized that my full-screen triangle consisted of 2 vertices. -
I spent the last 2 days, my father's birthday, and my birthday working on a bug for the game in developing for mobile. And I've done everything to try and fix it. Optimize the vertices, deleted assets not in use, organized all my assets into separate folders, and you know what. Fuck it. If "app not installed" I'm going to port it to PC.
-
Messing with three.js library. Now imagine I have a letter in 3D, from which I removed all the faces and replaced vertices with white dots (plexus effect), and all around are like thousands of dots. Now I wanted to put single sprite somewhere on that letter. So I wrote a short script doing that. Fast forward an hour. I am figuring out, why the FPS significantly dropped to like 0.5 fps or what. Checking various browsers, even downscaling image from 512x512 sprite to 64x64, checking whole stackoverflow why is just one fucking sprite causing a lot of trouble and such an fps drop. Trying everything except... I wrote that function inside loop rendering those thousands dots all around. Lol my computer almost catched in fire rendering that shit.
Must to say, in chrome it had 0.5fps, mozilla had around 15-20 fps which is A LOT better.1 -
I think I just realized the relationships between toons in Looney Toons: World of Mayhem is basically a graph... And so the optimal teams can be found by solving Pick 4 Vertices (toons) that maximize the # of Edges (positive relationships) between them...
Is there an algorithm that finds that or I just bring force it by testing all combos? Given the # of toons shouldn't take too long.2 -
I had a problem visualizing giant job/schedule dependencies trees a few years ago and basically wrote a program to convert the dependencies so it could be read in by a JS graph program that actually did the work. The output was a Gantt chart but really messed up, overlapping arrows, not very readable.
Today someone asked me for my app and but in a better format/visualization.
I so I was thinking how do I do this... Figure out which nodes are leaves, how to combine visually.
Programmatically you just link all the Nodes together. So I was thinking like how u need to use BFS and Mark when each more is traverse and on its first traversal, add it to a Map<Depth,List<Node>> then print each level, etc.
But not so straight forward.... But finally realized that I'm not trying to draw a Tree (or a tree where the rootams are actually in the middle and the top n bottom are leaves)... But actually a Graph.... A DAG....
SO FINALLY I googled and found GraphViz...
https://graphviz.gitlab.io/gallery/
And in the gallery I opened some pictures and printed at the bottom was like 1996...
And I'm now wondering "how the fuck did they do this?" Calculate where all the vertices should be placed so they can be linked with lines and and not look like a big mess...I guess like a yarnball3