Geodesics on Surfaces




Source (Code):

Blend:
https://www.dropbox.com/s/z52hwvhcgcm2pli/geodesic_elephant.blend?dl=0

Source Papers:


http://cg.cs.uni-bonn.de/aigaion2root/attachments/novotni-2002-computing.pdf
http://saturno.ge.imati.cnr.it/ima/personal-old/attene/PersonalPage/pdf/steepest-descent-paper.pdf

Demo Video

2 Likes

Holy dong, does that mean proportional editing distance calculation is going to get cured ?
(http://imgur.com/a/gBoc2#0)

Hadrien

probably not. This implementation is in python, however yes, the fundamental principles I think might apply. I don’t fully understand your picture there. Can you tell me which one is the problem, and which is ideal? Is the problem that proportional editing uses euclidian distance and therefore will pull things which are on the other side of the mesh or, uses distance along edges which is very different?

Thanks for your response. The “bad” one is the first, the one with four distinct slopes in place of a smooth bump; like you say distance is calculated using edge length, so on a grid mesh like the one pictured, a point at a certain distance on a diagonal from the origin appears twice as far from it than a point at the same distance sitting on a straight edgeloop. This has been an annoyance of mine for some time, so naturally it’s the first thing that came to mind when I saw your pictures.

If I understand correctly your addon tries to find the shortest cut line between two points ? Instead of the usual method of projecting the cut from view ? (just tried it with limited success on a suzanne mesh - I am having lots of red lines, especially on the more complex parts of the mesh)

You are saying the gradient generation part is flawed and that is why we are seeing these kind of erosion patterns ?

Ok then yes, thus technique would fix that

Im not sure if its in the distance field or the calculation of the gradient which causes the interesting erosion/river pattern. Im not 100 percent sure its “wrong” or just a byproduct of the method. I need to do some more quantitative testing to get to the bottom of that.

Very promising ! I ran some more tests and it generally seems to work better on high def meshes.


Wow that’s great. Thanks for testing it out. I have not put geodesics into the cutting yet. I plan to use geodesics when my traditional cutting algorithm fails. This is meant to trim portions of high res meshes. And, will eventually tie in to hard surface retopology.

One of those threads that makes me realize how ignorant I am lol
Can the average Joe 3d guy use this somehow?

Not yet. I’m working to incorporate it into a full tool. I wanted to share because geodesics have wider applications thsn what I plan to use them for so hopefully another dev can use it to bring something else to blender.

you can test it though!

1 Like

Looking great!

Ok so the cutting I tried out was actually not using distance fields ? How exactly can I try it ? Geopath does not turn up in spacebar menu.

Correct, the cutting does not use the distance fields (yet)

have you pulled the latest from the github repo? I just made that operator last night

Is it possible with this addon to compare distances between two equal objects, or between mesh object and pointcloud?
like this - https://yadi.sk/i/Wr0UvoYTpsnLX
or like this - https://yadi.sk/i/UNOX9zuZpsnTc

interesting script

looked at your first video and

using the min dist between verts on mesh raw data
might not give the real min for a smooth 3D surface

to get better results might need to copy a small area of concern and subdivide it at higher level
then apply it and calculate the min dist for verts

but this might be more complicated to do!

also depends on goals your want.

will follow this

is this going on market or stay free ?

thanks

happy bl

Free always

I don’t think so. Although I don’t fully comprehend what your images are showing. I have a different addon that could along a point cloud to a surface though.

Hello Patmo141, i’m writing an article about your plugin in french and i’d like to know more about your algorithm. Do you calculate a navigation mesh like A* algorithm and calculate the shortest path between two points ?

Hi, thanks so much! I will get the paper citation that it is based on to you ASSP

http://www.generalized-documents.org/V3D2/pubs.collection/Roda/novotni-2002-computing.pdf

a few others that are cited in this paper I also read, however this is the main algorithm it is based off of.

-Patrick