LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

3d plot of a 3D matrix

HI all
I have a problem ploting 3D matrix elements. Actually i am doing scanning of a sample which we can consider as a 3D(x y z) space.  First i am scanning a x-y plane and observing a voltage value for each point in the plane. Then i move a certain distance in Z direction and again scan x-y plane and observe voltage value for each point in this x-y plane. This is done a few no. of times and in the end i have a 3D matrix of voltage values corrosponding to every point in the 3 D space i have scanned. I want to plot all these values and obtain an 3D image. Is it possible using labview. It wil be a great help if anyone can suggest me something.  Thanks.
0 Kudos
Message 1 of 7
(3,871 Views)

Hi Chauhan,

I normally reply to 3d graph question by pointing at this example

http://forums.ni.com/ni/board/message?board.id=170&message.id=143663&jump=true

were in reply #7 I start a multiple posting examplining how to handle a worst case 3-d graph.

In this thread we visualize a mouse tendon.

http://forums.ni.com/ni/board/message?board.id=170&message.id=211229&query.id=28954#M211229

Since then I read that NaN in on of the axis (forget which one) plot transparent.

If you get stuck, post an example that has cool data and we may be help you past the sticky parts.

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 2 of 7
(3,852 Views)
HI Ben
Thanks for this help. I am new to Labview and i faced some problem in recreating the VI given by you in second link for Mouse tendon. Actually you have used for loop without assigning anything to the Iteration count N and when i do so in Labview 8 it shows that Vi is broken. I mean how can we run a for loop without assigning a number to the iteration count N. Can you please help in this regard. or can you please post the VI itself. Thanks
0 Kudos
Message 3 of 7
(3,834 Views)

I haven't seen the code, but sometimes the FOR loop takes its iteration size from the size of an array wired to the loop (auto indexed).

You should see a special symbol on one of the connections to the FOR loop.




Message Edité par Conseils le 12-21-2006 11:57 AM

Message Edité par Conseils le 12-21-2006 11:58 AM

0 Kudos
Message 4 of 7
(3,826 Views)
Your data is actually 4D (x,y,z, value), so it cannot be directly shown.
 
A few possibilities:
  • Display slices (constant x, y, or z, or arbitary 3D plane) in an intensity graph under user control.
  • Calculate 3D contours (e.g. arbitrary 3D planes with constant value) and display as 3D parameteric surface. Update as user changes the desired value.

I have not seen any examples for this.

 

0 Kudos
Message 5 of 7
(3,809 Views)

4-d can be illustrated by using color for the forth.

See the mouse tendon example where an intensity is assigned to each to each triplet.

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 6 of 7
(3,805 Views)


@Ben wrote:
4-d can be illustrated by using color for the forth.
If you have a 3D array of values, it corresponds to a solid block of Voxels. Except for edge elements, all data is obscured. Your techique works well if you have pseudo 3D data. For example if you have only two z values for each x,y pair, you can make a plane in 3D where z1 is height and z2 is color.
 
In the more general case, you need to apply a technique (slicing, contouring, selective transparency, etc.) to be able to really visualize the full data. Of course you could also do a 3D point grid with lots of hot air between the colored dots, but it still would be hard to interpret the data by looking at it (This actually might work better as a side-by-side stereo display).
0 Kudos
Message 7 of 7
(3,800 Views)