I was struggling on the part about joining the surface points, or vertices of the new mesh and didn't know why the edges were important at that point but this helped me visualize what I needed to do, TYSM!!
@TaoriUTS3 жыл бұрын
Thanks for putting in the effort to make this video.
@damiankrol58796 жыл бұрын
Great material! I was trying to figure this out on my own for quite some time (and failed spectacularly). Finding this saved me some sleepless nights! :D
@jonathanl27574 жыл бұрын
Super helpful, thank you.
@epitaque71087 жыл бұрын
Can you do Cubical Marching Squares next? These videos are awesome!
@atomictraveller Жыл бұрын
if you really want to undertake a visualisation project, i think it would be great to have a purely visual introduction to audio dsp, illustrating elementary concepts like time to sample rate, exponential decay as an iterative pow function et c. because if people are articulate in 1 dimension, it's much easier to approach solutions for higher dimensions. i've been an audio developer for a couple decades and just baffled by the concepts other people miss because they want to be 3d or 2d developers first. personally i feel most programmers are miseducated since the tendency is to implement correct form rather than solutions that aren't prepackaged.
@algorithmsvisualized9025 Жыл бұрын
The main benefit for me is learning through implementation. It's hard to do something I'm not interested in, unfortunately not into audio right now. KZbin monetization is terrible right now, so it's hard to find a reason to do this tedious animating over other cool projects. The main target for these videos were people that happened to search the algorithms. You're right that people who follow the channel would get lost in the random topics. I'll keep this in mind if I find time and motivation to continue.
@QuesterDesura7 жыл бұрын
Why is there a donut shape before the algorithm begins? Isn't Dual Contouring supposed to make a shape like a donut out of voxels?
@algorithmsvisualized90257 жыл бұрын
It's just a preview to show the shape being created. Figured it was hard to tell what's going on without it. The model is created from a signed distance function of a torus.
@danielgalvez79533 жыл бұрын
@@algorithmsvisualized9025 but it looks like the algorithm requires the preview shape in order to find the intersections. So it looks like the shape must exist before the algorithm takes place.
@algorithmsvisualized90253 жыл бұрын
@@danielgalvez7953 The algorithm is for creating a triangle mesh. You need to have those intersection points and normals as input (or a way to calculate them at runtime). How you find the intersection points and normals depends on what data you're working with, I didn't consider it as part of the algorithm. Same is true for marching cubes, but you don't need the normal vector. If I remember correctly in the paper they used it like a 3D model format by storing the octree in a file and then running the algorithm on that. Then they could edit the octree at runtime resuling in a 'destructibe' mesh. In this video I used signed distance field of torus which has an analytical solution, although I believe I was lazy and just did a linear search over the edge for the intersection point.
@danielgalvez79533 жыл бұрын
@@algorithmsvisualized9025 i see thank you
@gummybears61255 жыл бұрын
Your explanation is wrong. One has to compute the isovalue function at the corners of a specific cube (cell), and determine if there is a sign change. If there is a sign change (we are below or above the isovalue), we need to find the intersection point (which is an approximation, and not exact) by interpolating between 2 corner points. You do this for all the edges of a cube. The idea of this exercise is to find and place a vertex in the cell by minimizing the quadratic error function QEF which is also an approximation.
@algorithmsvisualized90255 жыл бұрын
Can you be more specific about what's wrong? I know that I left out a lot of details (the process of making these videos was time-intensive and it was aimed to be more like an overview).
@gummybears61255 жыл бұрын
@@algorithmsvisualized9025 I think I am specific, the points pi are not points of the implicit surface (torus in your example) but approximations (linear interpolations from the corner points where there is a sign change). From the video it seems the solutions are exact, which they are not, and it is possible to have no solutions at all as the normals at the point pi could point outward and not inward. Perhaps an idea (if it is not a lot of work) to put minus/plus signs at the corners of your cube to indicate a change of the isovalue. Also to draw a tangent plane at the computed vertex position could be helpful to explain the QEF. I know it takes a lot of time to produce these videos, and it is difficult to convey these ideas, you did a great job in any case. Don't take my comment as criticism, merely as an addendum. Thanks for the video.
@algorithmsvisualized90255 жыл бұрын
@@gummybears6125 I see what you mean, it's not unambiguous in the video. I'll keep in mind if I ever create more/redo them. Thanks for the feedback.
@RealisiticEdgeMod3 жыл бұрын
The generated mesh look pretty damned awful.
@danielgalvez79533 жыл бұрын
@@RealisiticEdgeMod the low poly count was because of the size of the cubes being used. If there were smaller cubes, there would be more cubes to fill the volume, and so there would be more polygons, and the mesh would look smoother. This video was just a mathematical demonstration.