We have a WPF application where we would like to display a series of 3D surfaces in a line.
If it helps, here is a description of what we are trying to display. When a laser is focused through a lens, the diameter of the laser converges to a waist then diverges into infinity. The converging and diverging is described by a parabola. We collect images of the laser at different points through the waist. The intensity of the laser across the image provides a 3rd dimension. Analysis of the intensity provides the diameter. We would like to display the 3D intensity image as a series of images through the waist. Obviously we could display a bitmap image at each point but the ultimate would be a 3D surface at each point.
Is this possible with LightningChart Ultimate? TIA!
3d surface line
Moderator: Queue Moderators
- ArctionPasi
- Posts: 1367
- Joined: Tue Mar 26, 2013 10:57 pm
- Location: Finland
- Contact:
Re: 3d surface line
Interesting application
Yes, I'm confident it's possible. Just trying to figure out how exactly do you want to show it... So you have kind of slices with intensity data on it, kind of heats map in 3D.
If you want to show it like that, you can use a SurfaceMeshSeries3D for each slice (hide the wireframe).
This image has been made with a designer app over your image, but LC can do it as well.
Or perhaps make a "tube" or set of tubes around specific intensity value level based on your slices.
Assuming heatmap's high intensity = red, medium intensity = green and low intensity = blue, and displaying a medium level tube (green) it would be something like:
Red tube would be inside the green one, and blue tube outside.
This can be also made with SurfaceMeshSeries3D. One series for each tube.
In SurfaceMeshSeries, X,Y and Z of each point can be defined. Just calculate the nodes right to form a warping surface. Fill = Paletted is not suitable for this because it uses coloring by Y value, so use Fill = FromSurfacePoints (where you can set each surface point color explicitly), or Fill = Toned where you can use a solid fill. When using FromSurfacePoints fill, you can query each color value from a ValueRangePalette object, which translates intensity values into colors, and is very suitable for the approach of the first picture.
I hope I didn't understand your goal totally wrong...
Yes, I'm confident it's possible. Just trying to figure out how exactly do you want to show it... So you have kind of slices with intensity data on it, kind of heats map in 3D.
If you want to show it like that, you can use a SurfaceMeshSeries3D for each slice (hide the wireframe).
This image has been made with a designer app over your image, but LC can do it as well.
Or perhaps make a "tube" or set of tubes around specific intensity value level based on your slices.
Assuming heatmap's high intensity = red, medium intensity = green and low intensity = blue, and displaying a medium level tube (green) it would be something like:
Red tube would be inside the green one, and blue tube outside.
This can be also made with SurfaceMeshSeries3D. One series for each tube.
In SurfaceMeshSeries, X,Y and Z of each point can be defined. Just calculate the nodes right to form a warping surface. Fill = Paletted is not suitable for this because it uses coloring by Y value, so use Fill = FromSurfacePoints (where you can set each surface point color explicitly), or Fill = Toned where you can use a solid fill. When using FromSurfacePoints fill, you can query each color value from a ValueRangePalette object, which translates intensity values into colors, and is very suitable for the approach of the first picture.
I hope I didn't understand your goal totally wrong...
LightningChart Support Team, PT
Re: 3d surface line
Excellent! Your first picture is what we are thinking. A heat map is a good analogy for the images we collect and analyze.
My question is, can we display 3D heat maps in the first image?
My question is, can we display 3D heat maps in the first image?
- ArctionPasi
- Posts: 1367
- Joined: Tue Mar 26, 2013 10:57 pm
- Location: Finland
- Contact:
Re: 3d surface line
Yes, use SurfaceMeshSeries3D, say mesh size 100x100. Set the colors for each data node. If you need a mock-up example application, I can write such beginning of next week.
LightningChart Support Team, PT
Re: 3d surface line
Yes, an example would be very useful as we are novices to Lightning Charts.ArctionPasi wrote:Yes, use SurfaceMeshSeries3D, say mesh size 100x100. Set the colors for each data node. If you need a mock-up example application, I can write such beginning of next week.
We are still evaluating components but Lightning Charts is the unanimous favorite. When we become a customer then I will post here to request your mock-up example.
Thank you for now.