Short animation on how does Delaunay triangulation work using the divide and conquer algorithm. www.scribd.com/document/34083...
Пікірлер: 26
@edwardoakheart40552 жыл бұрын
Can you explain what data structure would you use for this? if it's a DECL, how do you iterate through neighbouring vertices when merging the two halves, what's the exact process, this step is very confusing.
@0919killer7 жыл бұрын
@0:29 Isn´t there a mistake between points (s10,s11) , (s8,s7) and (s3,s6)? it shouldn't be a perpendicular line in the middle of those points?
@kiki23s_DKC7 жыл бұрын
It should be that way however it is not possible in this example to make it. Try drawing it on paper. It you find a solution, do share it.
@d_a_r_ii8 күн бұрын
There are perpendicular segments, they just don’t intersect the original segments
@NM-jq3sv7 жыл бұрын
Is there only one triangulated model that can be produced from a given 3d point cloud ?
@kiki23s_DKC7 жыл бұрын
I got only one.
@kerch002 ай бұрын
Depends on the algorithm
@BigGamer25252 жыл бұрын
Can I get a copy of the paper in the description not in slovenian?
@JohnSmith-kr4zu8 жыл бұрын
Hi, how were you calculating the counterclockwise and clockwise angle from the base edge to the potential candidate point?
@kiki23s_DKC8 жыл бұрын
+John Smith Hi. Let me explain for the left side, and for the right side you use the same principle. Well what i did was to make new lines that connect my base with the points. So first lets do a quick naming convention. For the base line S2S7 lets name it b1. Now watch the video to the point where the pink lines appear. The pink lines represent the lines that connects the point S2 and the potencial candidates. So as you can see, we have S2S4, S2S5 and S2S3. Lets name them p1, p2 and p3. I could have connected the point S2 with S1 too, but in this example i made all my lines so that the angle between the lines p and base b1 is around 90 degrees. The criteria says the points need to be less than 180 degrees, however in this example i made it so that the angle of around 90 degrees is a valid subcriteria. However when facing unknown sets of points, we always need to consider the 2 criteria for picking the candidate. 1. the angle between 2 lines (b1 and any p) needs to be less than 180 degrees. 2. when placing a circumcircle around the points, there can not be any points in the circle which represent potencial candidates. Now then, by comparing the angles between b1 and p1, b1 and p2 and b1 and p3, we get the result that the smallest angle is made by b1 and p1. Now we draw a circumcircle around the points to check if any other potencial candidates are inside the circumcircle. Since there are none, because of fulfilling both prior given criteria, we pick point S4 as the candidate and do the triangulation. Hope the explanation is undestandable and helpful.
@JohnSmith-kr4zu8 жыл бұрын
+Dušan Cvejić Hi, thanks for the explanation. Were you using the formula cos(theta) = dotproduct(v,u) / (magnitude(v) * magnitude(u)) or some other formula for calculating the angle? I was always getting angles less than 180 degrees which resulted in edges intersecting with other edges
@JohnSmith-kr4zu8 жыл бұрын
+John Smith Unecessary edges, I should say, intersecting with other edges
@kiki23s_DKC8 жыл бұрын
+John Smith The same formula is usable for this example and you should get almost always that all the angles are less than 180. After obtaining information on all angles, than you need to sort them. By doing so you get a list min to max or max to min, dependable on your sort, and by picking the smallest angle you check if the circumcircle around the base and the chosen candidate contains any other potencial candidates inside. If you are trying to implement in code, i think the simple if else function could work for this.
@JohnSmith-kr4zu8 жыл бұрын
+Dušan Cvejić Do you ignore points that are already connected to both endpoints, or do you still compare them with other potentials
@ritheshbaliga404 жыл бұрын
is there any alternate link to download
@kiki23s_DKC4 жыл бұрын
Only the one in the description. Does it not work?
@PikachuGamess3 жыл бұрын
Can you send me your code? I'm now working to propose a new algorithm for constructing a Delaunay Triangulation in 2D. Thank you very much for considering my request. I am looking forward to hearing from you.
@kiki23s_DKC3 жыл бұрын
I didnt do a code for this. Only an explanation of how it works. You can find the paper here: www.scribd.com/document/340837645/Delaunay-Triangulacija-u-Ravni-Rekurzivni-Algoritam
@Fen1kz7 жыл бұрын
I like how at @0:24 you just show a circle that has points in it and then WHOOP, right edge -_-
@kiki23s_DKC7 жыл бұрын
It is a speed up proces. The same principle applies as for the left egde
@boualemaitmessaoudene63397 жыл бұрын
can you give us the algoritm you used pleass ?
@kiki23s_DKC7 жыл бұрын
You can find my paper of detailed explanation on how this works on this link: www.scribd.com/document/340837645/Delaunay-Triangulacija-u-Ravni-Rekurzivni-Algoritam However you are going to need to translate it first, because it is written in Sebian.
@boualemaitmessaoudene63397 жыл бұрын
Dušan Cvejić thank you very much 👍🏼
@brooks78455 жыл бұрын
@@kiki23s_DKC Is the source code available. Please share if you have.
@kiki23s_DKC5 жыл бұрын
@@brooks7845 I don´t have the source code, however an explanation on how it works is given is in the paper given in the video description