Principal curvature?

Does anyone know of a text, tutorial (yeah, right) or other document on how to calculate the principal curvature of an arbitrary mesh? Or would anyone care to enlighten me on the subject? (If it’s at all possible, that is…)

Huge thanks if you can!

What technic do you use for your meshes ? are they Bézier curves ? are they controled by somethings ? if not, there is absolutely no solution (maybe one but i don’t know them)

No, unfortunately, they’re just arbitrary OBJ meshes. Oh, well, I’m probably better off writing a custom application for assigning curvature at vertices, and then interpolating them. Thanks for your time, though!

(If anyone knows of such an algorithm, I’m still very interested, of course.)

Let me guess… You want to do sketch rendering ? :slight_smile:

If not i suggest you read “Real Time Hatching” and “Lapped Textures” of Emil Praun and Hugues Hoppe.

There is a LOT to do when you get the raw curvature data for each vertex to be able to exploit them. If your problem is first to get this raw data, tell me and i’ll dig in my papers from last year and search the maths.

N.B. : It is possible to get this curvature from any mesh.

This is an OpenGL forum, so you should post this kind of question elsewhere. Anyway, have a look at Cohen-Steiner’s Normal Cycles. And search for discrete differential geometry operators on google.

Hi,
actually there is a solution of the problem by Gabriel Taubin from IBM research:
http://www.research.ibm.com/people/t/taubin/publications/taubin-iccv95b.pdf

The above algorithm not only gives you the principal curvatures, but also their direction (i.e you have the full curvature tensor). I actually did a (GPL) implementation of this algorithm presented in this paper so you might have it if you are interested.

Best regards
Martin

Let me guess… You want to do sketch rendering ? :slight_smile:

This forum needs a “I’m so busted” smiley.
Yes, this is my prime intention, but I’m also curious about doing some kind of abstract effect with vertex coloring based on the curvature.

So, yes, I’ve been through Praun & Hoppe, and they are very cool papers. I just wondered if there are alternative ways to do it - or more detailed info. (Yes, I’m all too much of a newbie to be doing this.) The thing is, I’m going to suffer mesh deformation, so ideally I’ll get the time to solve this curvature (if not accurately) in real time.

And yes, I realize this is a GL forum, my apologies. I just want to exploit the minds I respect the most, and they tend to hang around this board.

I’ll definitely look into Cohen-Steiner and Taubin when I get the time. Thanks for your time!