Dual Contouring Animation | Algorithms Visualized

  Рет қаралды 22,224

Algorithms Visualized

Algorithms Visualized

Күн бұрын

Пікірлер: 19
@ViniciusNegrao_
@ViniciusNegrao_ 7 ай бұрын
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!!
@TaoriUTS
@TaoriUTS 3 жыл бұрын
Thanks for putting in the effort to make this video.
@damiankrol5879
@damiankrol5879 6 жыл бұрын
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
@jonathanl2757
@jonathanl2757 4 жыл бұрын
Super helpful, thank you.
@epitaque7108
@epitaque7108 7 жыл бұрын
Can you do Cubical Marching Squares next? These videos are awesome!
@atomictraveller
@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
@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.
@QuesterDesura
@QuesterDesura 7 жыл бұрын
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?
@algorithmsvisualized9025
@algorithmsvisualized9025 7 жыл бұрын
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.
@danielgalvez7953
@danielgalvez7953 3 жыл бұрын
@@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.
@algorithmsvisualized9025
@algorithmsvisualized9025 3 жыл бұрын
​@@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.
@danielgalvez7953
@danielgalvez7953 3 жыл бұрын
@@algorithmsvisualized9025 i see thank you
@gummybears6125
@gummybears6125 5 жыл бұрын
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.
@algorithmsvisualized9025
@algorithmsvisualized9025 5 жыл бұрын
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).
@gummybears6125
@gummybears6125 5 жыл бұрын
@@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.
@algorithmsvisualized9025
@algorithmsvisualized9025 5 жыл бұрын
@@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.
@RealisiticEdgeMod
@RealisiticEdgeMod 3 жыл бұрын
The generated mesh look pretty damned awful.
@danielgalvez7953
@danielgalvez7953 3 жыл бұрын
@@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.
The Midpoint Circle Algorithm Explained Step by Step
13:33
NoBS Code
Рет қаралды 168 М.
Dual Contouring Demo
6:08
Vincent Nikolayev
Рет қаралды 477
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
Neural Dual Contouring - Presentation video
14:54
Zhiqin Chen (czq)
Рет қаралды 912
10 FORBIDDEN Sorting Algorithms
9:41
Ardens
Рет қаралды 943 М.
How do vector field Pathfinding algorithm work ?
7:12
PDN - PasDeNom
Рет қаралды 34 М.
When Your Game Is Bad But Your Optimisation Is Genius
8:52
Vercidium
Рет қаралды 1,5 МЛН
Better Mountain Generators That Aren't Perlin Noise or Erosion
18:09
Josh's Channel
Рет қаралды 429 М.
Animating with Code - Motion Canvas
6:58
aarthificial
Рет қаралды 222 М.
Dual Universe's voxel tech, explained
3:02
PC Gamer
Рет қаралды 27 М.
3D Point Cloud Subsampling: Random, Spatial, and Octree Methods
25:24
Abderrazzaq Kharroubi
Рет қаралды 2,4 М.
Sticky cubes, an alternative to marching cubes
10:37
Jakob Furbo
Рет қаралды 48 М.