LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

VI to compute partial derivatives and curvature on a surface

Solved!
Go to solution

I have a surface ( a set of x,y,z triples that form a grid, from measurements, not from a formula).  I want to compute the curvature at each point on the grid.  I have already done some smoothing  and interpolation, so it does not have any really sharp edges.  I understand that I can't compute curvature all the way to the edge since I need adjacent points.  Is there a built-in LV routine for this, or must I write my own? 

If I must write my own routine, I will write a nested loop that goes along each row and column of the grid.  At each point, I will estimate the matrix of 2nd partial derivatives by finite differences.  From that I will compute the maximum curavature, or minimum radius of curvature, at that point (once I figure out the formula, which I have not quite done).

I appreciate any suggestions; I hope there's already a VI to do this. Thank you.

0 Kudos
Message 1 of 3
(3,079 Views)
Solution
Accepted by topic author WCR

Hi WCR,

 

For curvature computation, we only have an IMAQ VI called "IMAQ Classify Curvature.vi" (http://zone.ni.com/reference/en-XX/help/370281P-01/imaqvision/imaq_classify_curvature/) that will compute the curvature for you. However, it is an NI-IMAQ driver function and it only accepts a contour image. So if you are not planning to process this with a picture, then you are going to have to compute min/max curvature with our artihmetic vi's.

 

There is a VI which will compute the partial derivatives called "Partial Derivatives of f(x1,x2) VI" (http://zone.ni.com/reference/en-XX/help/371361H-01/gmath/partial_derivatives_fx1x2/). This particular VI will calculate a 2D array of two independent variables.

 

Hope this helps!

 

 

 

Aldo A
Applications Engineer
National Instruments
Message 2 of 3
(3,064 Views)

Thank you Aldo.  Our data is not in the form of an image and not really convertible to an image.  Thanks for revealing the existence of a Calculus VIs palette.  It computes partials based on a formula.  My data is experimental, so I don't have a formula for it, and I think the Partials VI will not help me.

I will write my own VI, using some suggestions in "Fast Algorithms for Ridge Detection" by Liang et al, 

Message 3 of 3
(3,050 Views)