Profile Picture

3D-Surface with color coding by 4th dimension

Posted By Michael Amrhein 11 Years Ago
Author
Message
Michael Amrhein
Posted 11 Years Ago
View Quick Profile
Forum Newbie

Forum Newbie (1 reputation)Forum Newbie (1 reputation)Forum Newbie (1 reputation)Forum Newbie (1 reputation)Forum Newbie (1 reputation)Forum Newbie (1 reputation)Forum Newbie (1 reputation)Forum Newbie (1 reputation)Forum Newbie (1 reputation)

Group: Forum Members
Last Active: 11 Years Ago
Posts: 1, Visits: 1
Hi,

We would like to plot a quality variable as a function of length x width x height.
Is it possible to plot a (grid/triangulized) surface plot with elevation=height where color code is a function of the quality variable?

Thanks for your help.

Cheers,
Michael

Nevron Support
Posted 11 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)

Group: Forum Members
Last Active: Yesterday @ 1:54 AM
Posts: 3,054, Visits: 4,009
Hi Michael,

For now the Triangulated surface is the only one that supports individual color per data point. Not sure if this will fit your requirement (because of the color interpolation) but you can give it a try and see for yourself.

Another solution (and probably a better one) is to use a dynamically generated 2D texture that is filled according to the function. You can map such a texture on any surface type - grid, mesh, triangulated.


Best Regards,
Nevron Support Team



Joël Golinucci
Posted 11 Years Ago
View Quick Profile
Junior Member

Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)

Group: Forum Members
Last Active: 9 Years Ago
Posts: 30, Visits: 61
Dear Support,

I'm trying to implement the given solution (triangulated surface) to represent a material stock in 3D. The stock is in fact divided in small cells (cubes) of the same size. I would like to use nevron charts to represent this stock and having a color to represent each cell quality.

With the triangulated surface, the only issue is that each point (cell) is connected arbitrarily with the next point making some empty areas in the graph (bottom) as shown in the attached image. Of course in my stock I cannot have a cell at a given height (Y) without having one under it.

Therefore I would like to give a try to your second solution but I would appreciate a little example regarding the generated texture as I'm a little stuck on this.

Edit :
I've read the article about Common Surface Functionality and the paragraph on Surface Palette is interesting, I would like to be able to do the same (creating a custom palette) but instead of linking a color with the elevation value I need the color to be linked with the 4th value (quality value) and not one of the 3 coordinates(x, y, z).

Many thanks,
Regards,

Joël Golinucci

Nevron Support
Posted 11 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)

Group: Forum Members
Last Active: Yesterday @ 1:54 AM
Posts: 3,054, Visits: 4,009
Hi Joël,

The grid and mesh surface charts don't support custom per data-point colors, but using a dynamic texture might be an option in some cases. Mapping a texture on a surface is demonstrated in the following examples (in our Windows Forms demo application):

All Examples > Chart Gallery > Grid Surface > Fill Style
All Examples > Chart Gallery > Mesh Surface > Fill Style

In both examples the used image is static (taken from a resource), but you can assign a Bitmap that is generated at run-time and depends on some dynamic data. How you generate the bitmap depends very much on the particular application. It can be as easy as drawing some squares in the bitmap, or more tricky if color interpolation is required.

By the way - since you mentioned that "the stock is in fact divided in small cells (cubes) of the same size" - have you considered using a 3D point series instead of Surface?

Best Regards,
Nevron Support Team



Joël Golinucci
Posted 11 Years Ago
View Quick Profile
Junior Member

Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)

Group: Forum Members
Last Active: 9 Years Ago
Posts: 30, Visits: 61
Hello,

In my case generating a bitmap for the texture will be really too tricky but I didn't thought about using 3D point series, which could be a really good thing if I'm able to set X, Y and Z coordinates plus a color per point and the size of all points (no need for a specific size per point but setting the with, height and depth of all points is needed as these cubes are not exactly cubic because the height is twice the width or the depth).

I'm trying to follow the example here (XYZ Scatter point). But so far I didn't find how to set the color to a point.

Is the XYZ Scatter Point the type of chart you were thinking of when you mentionned 3D point series ?


Edit : I found how to set the color thanks to this post, but the question is still open on how to define the exact size of the points (for example, height = 2, width = 1, depth = 1).
I would like to be able to set the size of these points in order to make them touch each other and look like it is a surface.

Best regards,

Joël Golinucci

Joël Golinucci
Posted 11 Years Ago
View Quick Profile
Junior Member

Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)Junior Member (18 reputation)

Group: Forum Members
Last Active: 9 Years Ago
Posts: 30, Visits: 61
Dear Support,

I get back to you regarding my previous question : how can I set the size of the "points" in an XYZ Scatter Point chart ?
I found that in the NPointSeries object one can set the PointShape property to PointShape.Custom and then work with the CustomShape property but I don't understand how it works.

To clarify my request, I want to represent 3D boxes that touches each other but not all axis have the same scale

On the attached document I represent 3 of theses charts, with a zoom made on the first one to show the spaces between each box.
Even though it looks like a 2D view, it's just an orthogonal view to show my point, and in the end there will be no border to the boxes.

Thank you for your answer,

Best regards,

Joël Golinucci

Attachments
graph points ratio.png (150 views, 378.00 KB)
Nevron Support
Posted 11 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)

Group: Forum Members
Last Active: Yesterday @ 1:54 AM
Posts: 3,054, Visits: 4,009
Hi Joël,

The size of the points in a XYZ-scatter point can be specified through the Size property of NPointSeries. Please note that the sizes in the three dimensions (Width, Height, Depth) are the same and apply to all points.

If you need to have fine control over the sizes - you can use other series types like Shape (NShapeSeries) or Range (NRangeSeries).

As for the CustomShape - this is relevant only in 2D charts.


Best Regards,
Nevron Support Team





Similar Topics


Reading This Topic