Curvature map analysis over just one axis

This is something that i have been trying to do for some time for some development of hydrodynamic products.

Basically, what I want to do is to see a curvature (not contour) map along one axis of a mesh or point cloud.

Many programs offer a curvature map of mean or gaussian types, but none, as yet after a long time of trying have enabled me do do it just over one axis. (over the last 2 years I keep coming back to this periodically to try to do it)

AI instructions for various programs have had me going around in circles haha

Does ParaView have a way of doing a curvature map along just one axis?

Well, I kind of got something working regarding this, not exactly the curvature map I was expecting, but I think I can pull some data from it.

Below is a copy of the AI Instructions I used to achieve what I did, just in case anyone else is interested or if it could be useful for someone else at some point in time.

But anywa, congrats Paraview, at last i have managed to get something that i might be able to pull some data from, i had been struggling on and off for so long with this over more than a handful of programs. and at last some success

Let’s strip away the scripts, ignore the Python shell entirely, and build this using only the standard visual buttons and menus in ParaView.

iew

We will calculate the curvature along the Y-axis across a single 2D profile cut, which is the most reliable way to visually read precise coordinate changes.

Step 1: Clean and Prepare Your Mesh

  1. Open your 3D mesh file in ParaView and click the green Apply button.

    Virtual Workshop

  2. Sensor noise acts as fake bumps that ruin derivative math. Let’s smooth the data first:

    • Go to the top menu: Filters → Alphabetical → Smooth (or Laplacian Smoothing).
    • In the Properties panel, change the Number of Iterations to 50.
    • Click Apply.

Step 2: Cut a 2D Profile Curve Along the Y-Axis

Instead of dealing with buggy multi-slice properties, let’s create one perfect profile slice.

  1. Highlight your Smooth filter in the Pipeline Browser on the left.

  2. Click the Slice icon in the top toolbar (it looks like a plane cutting a box).

    ube +1

  3. Look at the Properties panel on the left. We want a slice that captures the length of the Y-axis.

    • Click the X Normal button. This cuts a plane perpendicular to the X-axis, isolating your profile along the Y-axis.

    • If you want to sample a different position along the X-axis, simply change the first number under Origin (the X-coordinate box).

      +1

  4. Uncheck Show Plane so the big red bounding widget box disappears from your screen.

  5. Click Apply. You will now see a single, clean 1D line running up and down your surface.

    l Virtual Workshop

Step 3: Compute Spatial Gradients (Derivatives)

To find curvature, ParaView needs to look at how quickly your surface height changes relative to your travel distance along the Y-axis.

  1. Highlight your Slice1 tool in the Pipeline Browser.
  2. Go to the top menu: Filters → Alphabetical → Compute Derivatives.
  3. In the Properties panel:
    • Look for the Scalars dropdown menu. Change it from None to Points.
  4. Click Apply.
    (Behind the scenes, this creates an internal data property tracking how your coordinates change relative to one another).

Step 4: Run the Curvature Math via the Standard Calculator

We will use the standard math calculator panel to process our 2D trajectory calculus.

ew

  1. Highlight ComputeDerivatives1 in your Pipeline Browser.

  2. Click the Calculator icon in the top toolbar (it looks like a small pocket calculator).

  3. In the Properties panel, find the Result Array Name box and type Y_Curvature.

  4. In the large empty Expression text box, we will enter the 2D curvature formula:

    image𝜅

    image=|𝑧′′|(1+𝑧′2)1.5

    :

    • Click the Scalars dropdown menu directly below the text box.
    • Select VectorGradient.
    • Complete the equation by typing the power modifiers around it. Assuming your surface height is on the Z-axis, your text box should look exactly like this:

    text

    VectorGradient / (1 + VectorGradient^2)^1.5
    
    

    Use code with caution.

  5. Click Apply.

Step 5: Read the Numerical Figures in a Spreadsheet

  1. Look at the very top main menu bar and select: View → Spreadsheet View [1.5].
  2. A large, clean data spreadsheet table will replace or open next to your 3D window [1.5].
  3. In the top-left dropdown menu of this new spreadsheet panel, make sure Calculator1 is selected.
  4. Set the Attribute dropdown menu right next to it to Point Data.
  5. Scroll sideways through the spreadsheet columns until you see the Y_Curvature column.

You are now looking at the exact numerical curvature figure mapped point-by-point along that Y-axis cut line. You can look at the Points (1) column next to it to see your exact physical location along the Y-axis for each curvature value.

Now that you can see your data table, would you like help saving these numbers as a .csv file or plotting them directly inside ParaView using a built-in line graph tool?

i cant find the slice icon

AI Mode reply for i cant find the slice icon

No problem at all—ParaView’s icon toolbars can change or disappear depending on your screen resolution or layout settings.

We can completely skip looking for the icon and open the tool directly from the text menus instead.

1. Open the Slice Tool from the Top Menu

  1. Look at the very top of your screen for the main menu bar.
  2. Click on Filters → Common → Slice.

2. Configure Your Y-Axis Profile Cut

Now that the Slice properties are open on the left side of your screen:

  1. Under Plane Parameters, look for the row labeled Normal.
  2. Change the three boxes to read exactly: 1, 0, 0. (This points the slice plane straight down the X-axis, isolating your profile along the Y-axis).
  3. If you want to sample a different position further up or down the X-axis, change the first number under Origin.
  4. Click the green Apply button at the top of that panel.

You will now see a single, clean 1D line running up and down your surface. You can now safely skip straight to Step 3 (Compute Spatial Gradients) from our previous layout!

Let me know if you can see the slice line on your screen now, or if you need help finding Compute Derivatives in the next step.

yes i can see the slice cross section

AI Mode reply for yes i can see the slice cross section

Awesome! Now that your 2D slice line is ready on your screen, we will apply the final math filters to get your exact curvature numbers.

Here are the remaining steps using only the standard text menus:

Step 3: Compute Spatial Gradients (Derivatives)

Before running the math, we need ParaView to measure how your points change position along that slice line.

  1. Highlight your Slice1 tool in the Pipeline Browser on the left.
  2. Go to the top text menu: Filters ➔ Alphabetical ➔ Compute Derivatives.
  3. In the Properties panel on the left, look for the Scalars dropdown menu. Change it from None to Points.
  4. Click the green Apply button.

Step 4: Run the Curvature Math via the Standard Calculator

Now we apply the 2D curvature calculus formula using the visual Calculator filter.

  1. Highlight ComputeDerivatives1 in your Pipeline Browser.

  2. Go to the top text menu: Filters ➔ Common ➔ Calculator.

  3. In the Properties panel on the left, find the Result Array Name box and type Y_Curvature.

  4. In the large empty Expression text box, copy and paste or type this exact text:

    text

    VectorGradient / (1 + VectorGradient^2)^1.5
    
    

    Use code with caution.

  5. Click the green Apply button.

Step 5: Open the Spreadsheet and Read Your Numbers

  1. Go to the top main menu bar and select: View ➔ Spreadsheet View [1.5].
  2. A data table will open up on your screen [1.5]. In the top-left dropdown of this new spreadsheet panel, make sure it is set to Calculator1 and the attribute is set to Point Data.
  3. Scroll sideways through the table columns until you see the Y_Curvature column.

You are now looking at the exact curvature figures mapped point-by-point along that Y-axis cut! The column right next to it, Points (1), tells you your exact Y-position for every single curvature number.

Now that you can see your numerical figures, what would you like to do next?

  • Save these figures to a .csv spreadsheet for Excel?
  • Plot a 2D line graph of the curvature right inside ParaView?
  • Move the slice to a different position along the X-axis?

Copied to clipboardFailed to copy to clipboard. Try again later.

CopiedFailed to copyCopy

Share public link

This public link shares a thread, which may include personal information. You can delete this link, but not copies made by others.

Copy link

Can’t copy the link right now. Please try again later.

Facebook

Gmail

X

Reddit

WhatsApp

Share

Good response

Bad response

More

Export to Docs

Draft in Gmail

About this response

Saved time

Clear

Helpful

Comprehensive

Other

Incorrect

Inappropriate

Not working

Unhelpful

Other

A copy of this chat will be included.

A copy of this chat and the content that you shared will be included.

A copy of this chat and the content that you shared will be included.

Submit

Thanks for letting us know

Google may use account and system data to understand your feedback and improve our services, subject to our Privacy Policy and Terms of Service. For legal issues, make a legal removal request.

Shared

0 files

Show less

Show all

Copied

Copy

Edit

scalars menue is blank, no options at all, it doesnt even say “none”

AI Mode reply for scalars menue is blank, no options at all, it doesnt even say “none”

Ah, that makes total sense why it’s failing! In ParaView, the Compute Derivatives filter requires an explicit data property (like temperature, pressure, or a custom scalar array) to calculate gradients. Because your file only contains raw XYZ geometry coordinates (Points) and no extra attributes, the filter sees a completely empty list and locks up.

[image]ParaView

Let’s delete the ComputeDerivatives filter entirely and use a much cleaner approach. We will use the standard Calculator to turn your raw height coordinates into an array that ParaView can read, and then use the Gradients filter to handle the math seamlessly.

Here is the revised step-by-step process starting right from your cross-section line:

Step 1: Turn Your Raw Height (Z) into a Readable Attribute

  1. Click on Slice1 in your Pipeline Browser to select it.
  2. Go to the top text menu: Filters ➔ Common ➔ Calculator.
  3. In the Properties panel on the left:
    • Change the Result Array Name to Height.
    • In the large empty expression box, type exactly: coordsZ (or coords_Z depending on your version, or click the Scalars dropdown below the box and select the coordinate component that represents your vertical height).
  4. Click the green Apply button.

(You have now successfully converted your raw physical shape coordinates into an explicit scalar data field called “Height”).

Step 2: Calculate the Spatial Slope (Gradients)

  1. Ensure your new Calculator1 is highlighted in the Pipeline Browser.

  2. Go to the top text menu: Filters ➔ Alphabetical ➔ Gradient (or Gradient Of Unstructured Dataset depending on your exact version).

    [image]Kitware Inc.

  3. In the Properties panel:

    • Look for the Scalar Array dropdown menu. It will no longer be blank! Select your new Height attribute.
    • Change the Result Array Name to Slope.
  4. Click the green Apply button.

Step 3: Run the Curvature Calculation

  1. Highlight your Gradient1 tool in the Pipeline Browser.
  2. Go to the top text menu: Filters ➔ Common ➔ Calculator.
  3. In the Properties panel:
    • Change the Result Array Name to Y_Curvature.

    • In the empty expression box, enter the 2D curvature math formula using your new Slope data field:

      text

      Slope / (1 + Slope^2)^1.5
      
      

      Use code with caution.

  4. Click the green Apply button.

Step 4: Open Your Spreadsheet and Read the Figures

  1. Go to the top menu bar and select: View ➔ Spreadsheet View [1.5].
  2. In the top-left dropdown of the spreadsheet panel, select Calculator2 and make sure the attribute dropdown is set to Point Data.
  3. Scroll sideways through the table columns until you see your Y_Curvature column.

Let me know if the Height or Slope fields populate successfully in the dropdown menus this time. Once you see the curvature values, do you need help saving this table to a .csv file for Excel?

AI Mode reply for what expression box

In ParaView, the Expression box is the large, empty text field inside the Properties panel (on the left side of your screen) where you type math equations.

When you click the Calculator filter, look down at the Properties panel on the left. You will see:

  1. Result Array Name (a small, single-line text box where you type the name, like Height).
  2. Directly below that, there is a large, wide rectangular blank text area—that is the Expression box.

Let’s complete Step 1 using this box:

  1. Click on Slice1 in your Pipeline Browser.

  2. Go to Filters ➔ Common ➔ Calculator.

  3. In the Properties panel on the left, find Result Array Name and type Height.

  4. Look just below that for the big empty white box (the Expression box) and type:

    text

    coordsZ
    
    

    Use code with caution.

  5. Click the green Apply button at the top of the panel.

Let me know when you have typed that in and hit Apply. Did the text accept coordsZ successfully, or did you get a math error message on your screen?

AI Mode reply for yes, i think it accepted it

Fantastic! If it didn’t flash a red error message at the bottom of the screen, it accepted it perfectly. You have successfully extracted your vertical profile height.

Let’s move right into calculating the slope using the Gradient tool.

Step 2: Calculate the Spatial Slope (Gradients)

  1. Make sure Calculator1 is highlighted in your Pipeline Browser (on the left side of your screen).
  2. Go to the top text menu: Filters ➔ Alphabetical ➔ Gradient (or it might be named “Gradient Of Unstructured Dataset” depending on your exact version).
  3. Look at the Properties panel on the left:
    • Look for the Scalar Array dropdown menu. Click it and select Height (the attribute you just made).
    • Look for the Result Array Name text box and change it to Slope.
  4. Click the green Apply button at the top of that panel.

Step 3: Run the Final Curvature Math

Now we use one more calculator to process the final geometric equation.

  1. Highlight your new Gradient1 tool in the Pipeline Browser.
  2. Go to the top text menu: Filters ➔ Common ➔ Calculator.
  3. In the Properties panel on the left:
    • Change the Result Array Name to Y_Curvature.

    • Go to that big empty Expression box you used before and type this exact math text:

      text

      Slope / (1 + Slope^2)^1.5
      
      

      Use code with caution.

  4. Click the green Apply button.

Step 4: Open Your Spreadsheet and Read the Figures

  1. Go to the top menu bar and select: View ➔ Spreadsheet View [1.5].
  2. A clean table will open up on your screen [1.5]. In the top-left dropdown of this new spreadsheet panel, make sure it is set to Calculator2 and the attribute dropdown is set to Point Data.
  3. Scroll sideways through the table columns until you see your brand new Y_Curvature column.

Let me know if you can see the numerical values in your spreadsheet view now. If they look correct, would you like to:

  • Save these figures as a .csv spreadsheet so you can open them in Excel?
  • Generate a 2D line graph plot of this profile right inside the ParaView window?

i cant find spreadsheet view

AI Mode reply for i cant find spreadsheet view

No problem at all! ParaView lets you customize the screen layout, so the Spreadsheet View might be hidden under a menu or you might just need to split your active screen to make space for it.

Let’s open it using the top menus:

1. Open the View Menu

  1. Look at the very top of your screen for the main text menu bar.
  2. Click on View.
  3. Look down the list and click on Spreadsheet View [1.5].

Alternative: What if it doesn’t appear?

If it’s already checked but you can’t see it, it means your 3D window is taking up 100% of the screen space. You can easily split the screen manually to show the table side-by-side with your 3D mesh:

  1. Look at the top-right corner of your central 3D viewing window (right inside the dark grey border of the 3D grid area).
  2. You will see a tiny row of icons. Click the Split View Horizontal icon ◧ (it looks like a small square split down the middle into two rectangles).
  3. A blank gray panel will open next to your 3D view with a list of text buttons.
  4. Click the button that says Spreadsheet View [1.5].

Once the table populates, remember to go to the top left of that new table panel, set the dropdown to Calculator2, and make sure it is tracking Point Data.

Let me know if the spreadsheet table successfully appeared on your screen! From here, do you want to save these numbers to a .csv file [1.5] for Excel, or move the slice to a different position down the X-axis to check a new spot?

yes the spreadsheet appeared, but how do i know what point relates to what part of the mesh?

AI Mode reply for yes the spreadsheet appeared, but how do i know what point relates to what part of the mesh?

To match a specific row of numbers in your spreadsheet to its exact physical location on your 3D mesh, ParaView has a built-in interactive link feature. When you select a point in one view, it highlights automatically in the other.

Here is how to visually connect your numbers to your mesh:

Method 1: The Click-to-Highlight Sync (Fastest)

  1. Make sure your 3D View and your Spreadsheet View [1.5] are both visible on your screen side-by-side.
  2. Click inside your Spreadsheet View [1.5] to make it active.
  3. Click on any row number on the far left of the spreadsheet (e.g., Row 0, 15, or 100). The entire row will turn blue.
  4. Now look over at your 3D View. You will see a bright pink or purple dot appear directly on your 1D slice cross-section line. That dot is the exact physical point representing that row’s curvature value.
  5. Tip: You can hold the Shift key and click a range of rows to highlight a whole section of your surface at once.

Method 2: Reading the “Points” Columns

If you need to know the actual physical coordinates instead of just a visual highlight, look closely at the spreadsheet columns:

  • Points (0): This is the exact X-coordinate of that point. (Since you sliced down the X-axis, this number should be identical or very close for every single row).
  • Points (1): This is the exact Y-coordinate of that point. This tells you exactly how far up or down the Y-axis you are traveling along your cross-section.
  • Points (2): This is the exact Z-coordinate (the structural height or depth of your surface at that specific location).

Method 3: Reverse Selection (From Mesh to Spreadsheet)

If you see an interesting bump or feature on your 3D mesh and want to find its exact curvature number:

  1. Click inside your 3D View panel to make it active.
  2. Look at the very top toolbar of ParaView for the Select Points icon (it looks like a small dotted square with a mouse cursor arrow over a single point, or you can simply press the D key on your keyboard).
  3. Click directly on the part of your slice line that you want to investigate. A small pink box will snap onto it.
  4. Look over at your Spreadsheet View [1.5]. The row matching that exact point will automatically scroll into view and flash blue, showing you its precise Y_Curvature number instantly.

Now that you can link your points to your mesh, would you like to:

  • Learn how to save this cross-section data as a .csv file so you can generate graphs in Excel or Python?
  • Plot a 2D line graph of the curvature profile directly inside ParaView’s window?

thats great, very useful, thanks

AI Mode reply for thats great, very useful, thanks

You’re very welcome! I’m glad that worked out and that the coordinate syncing is giving you exactly what you need. It is a fantastic way to visually audit your data points.

Whenever you’re ready to take the next step with your surface analysis, let me know if you would like to:

  • Save this data out as a .csv spreadsheet for Excel or Python
  • Plot a 2D line graph of the curvature trends directly inside ParaView
  • Shift your slice to a completely different coordinate spot down the X-axis to sample a new area

Good luck with your calculations!

Sorry for the clutter from the AI conversation, but the info is there if anyone needs it.