3D mesh plot

Hi there
I want to create a mesh plot using 3D co-ordinates (x,y,z) obtained from motion capture devices. Now the problem is my data output from the motion capture device gives me all three co-ordinates x,y and z as a 1D array whereas if I want to plot any 3D graph in Labview it requires x and y as 1D array and z as 2D array. I am collecting all three co-ordinates in real time as a 1D array. Is there any way to solve this?
Thanks guys
Jolanta

Hi Jolanta,
You can use the Build Array function to transform single points of data into a single element array equivalent. To transform a single element into a 2D Array, we can call the Build Array function twice.
Alex Thomas, University of Manchester School of EEE LabVIEW Ambassador (CLAD)

Similar Messages

  • Large black regions obscure CNiGraph3D plots

    I am trying to plot 3D mesh data in dynamically created CNiGraph3D objects within a modal Wizard window in an MDI application. The Wizard window is a CPropertyPage object within a CPropertySheet (in Wizard mode).
    The meshes are being viewed in the XY plane only and there can be from 1 to 20 CNiGraph3D objects on the wizard page at any one time. Each graph object has the same dimensions although the graphs are resized if any are dynamically added or removed. Scroll bars are added to the wizard page if the number of viewable graphs exceeds the available space.
    The problem occurs when scrolling is attempted. A large black region can appear over the whole width of a graph obscuring the mesh plot. When you attempt to intera
    ct with the obscured graph an unhandled exception / access violation occurs and the application crashes. I have traced the crash in debug mode and it comes from OpenGL32.dll.
    I have Visual Studio Service Pack 4 installed. Other Measurement Studio objects that I'm using work fine so I'd rather see if I can get help with my current configuration before updating (and changing) my system to SP6.
    Any help with this would be appreciated.
    Thanks,
    David

    Dear David,
    The same thing kind of happened in HiQ
    This issue is likely related to your PC's video driver. The 3-D graph in HiQ 4.x for Windows leverages OpenGL, a 3D graphics standard that can rely either on your video hardware or software.
    Try each of the following suggestions in turn in an effort to correct the problem.
    1) Try turning up the hardware acceleration in device manager for the graphics card, then restart the machine and run the example again.
    2) If you are running Windows 98 or Windows 95, try changing the Video acceleration feature to "None." To do this, go to the display settings page in your control panel and choose the Settings tab. Click the Advanced button, and on the next dialog, choose the Performance tab. Move the acceleration
    tab to the far left.
    3) Try switching to a standard VGA video driver. If the 3D graph works, the problem is likely a bug in your video card driver; make sure that you have the latest driver for your video card.
    4) Try switching color depth or display resolution. If the 3D graph works, the problem is likely a bug in your video card driver; make sure that you have the latest driver for your video card.
    Kind Regards
    LouisP
    Applications Engineer
    NI-UK

  • 3d Mesh Multiplot

    Hi guys,
    I'm using Labview 11 and I struggle plotting multiple (x,y,z) Signals in in ONE 3d Mesh Plot. I've found the following post: http://forums.ni.com/t5/LabVIEW/3D-multiplot-mesh/​m-p/129413/highlight/true#M77824 but the VI is written for LV 5 and therefore I can't open it. Do you know any solution for that problem?
    Greetings,
    Stephan

    This thread is an index to 3D examples.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • 3d bar graph in CVI

    Hi,
      I am trying to determine if there is a 3D Bar Graph capability in CVI.  I see that it is possible to create 3D surface plots and contour plots under the
    AxtiveX libraries but I do not see one for 3D bar graphs.   Is this possible?
    I would like to basically create a 3 dimensional histogram whereby each 3d bar is equally spaced from it's neighbors, not continuous like a surface or mesh plot.
      Thank you,
      Phil Mulhall

    Hello Phil,
    As you mentioned, CVI provides a control for 3D graphs in the CWGraph 3D control. This control does not allow for 3D bar type graphs.
    There is also the OpenGL instrument driver, but that does not seem to be able to create 3D bar graphs either. More information about the ActiveX control can be found here:
    http://digital.ni.com/public.nsf/allkb/C6DD5A699FDD5EA5862570A100719B8E?OpenDocument
    As for a 3D bar graph, I'm not aware of a way to do this. Sorry I could not be more help.
    I'm aware that you have already had this answer via email, I am simply posting it here for other forum users who may have the same question.
    Kind Regards,
    James W
    Controls Systems Engineer
    STFC

  • Dynamically build graph

    hi guys ,
    I am trying to update a 3d graph dynamically, now its easy to plot the 3d graph when all the values are know . In my case ,check the vi, i have three axis distance wavelength and power. The wave lenght and distance are fixed that is i am taking the wavelength from 1596,35 - 1596,95 and distance from 33572,649 - 34085,735 which in the vi are included as contants .. the power i am measuring from the txt filed which i have attached. Now i want to update the graph in the for loop when the values are being read from the txt file.
    let me know if anyone has idea how to do this
    Solved!
    Go to Solution.
    Attachments:
    3d.vi ‏34 KB
    power.txt ‏356 KB

    Hi nolsqn86,
    You wired an empty constant to the inner mesh plot helper.vi - so, the "3d mesh 2" didn't receive any data at all.
    I tidied up your blockdiagram and wired the inner mesh plot helper.vi correctly as you did for the outer mesh plot helper.vi
    Then I realized Labview is executing this vi so quickly so the "3d mesh 2" has no chance to update the GUI
    So, I put in the wait until next ms multiple to give the "3d mesh 2" 100 ms to update. Know you should be able to see the 3d graph being updated as the for loop executes.
    There's sometimes a time-lag from iteration to iteration; but mostly each iteration lasts 100 ms. Maybe a "timed loop" will be more accurate.
    Alex
    ♜♖ LabView 8.6 - LabView 2014 ♖♜
    Attachments:
    2013-05-09_3d_rev2.vi ‏127 KB

  • How acess 2D mesh data from 3D surface plot ?

    I have 3 vectors X, Y and Z, that I can plot using 3Dsurface graph and change the property node to Plot3DMesh. I want to get all the 2D Mesh data that LabVIEW generated to plot the surface. Is it possible ?

    You might try the Property node of the 3D graph. You might have to decimate the array that you get from the Data property.
    Eric
    Eric P. Nichols
    P.O. Box 56235
    North Pole, AK 99705

  • How to Plot 3-D Mesh

    In attached data.xls, there are 3 layers of data
    (z = 1.5, 2.5 ,3.5)
    As I ran my attached vi, I can only see only one layer (z=1.5)
    How can I change my program so that I can show all data as a 3-D solid module?
    Thanks.
    Usage:
    1.detach both files (vi and .xls)
    2 Run detached vi and open data.xls in the pop-up window.
    Attachments:
    XYZ_Plot.vi ‏117 KB
    data.xls ‏1 KB

    Hi huang256,
    Here I stated something about the function "Read from spreadsheet file.vi" and .xls files. And if you would read the help for the function you can see that it really needs a text file and not some binary file as Excel produces.
    Waldemar
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • Flexisign pro won't cut/plot .eps

    i created a design in illustrator and attempted to export it in parts as .eps so i could cut/plot it using flexisign. 2 of the 4 parts would cut/plot but the other 2 would not. i don't know why or how it happened to cut 2 and not the others since they were from the same original design. i made a cherry with a rebel flag x and a stem w/ leaf for a friend. the stem and leaf both cut but the cherry and rebel flag x didn't. i used illustrator cs4 and saved as .eps illustrator 8 and cut/plot using flexisign pro 6.5
    also, where can i go to learn illustrator better. all the sites i find with tutorials only help with non-plotting subjects for illustrator and i am concerned with learning how to use illustrator to plot. for all other things i use photoshop which i have a book on and many years experience.

    Well like drop shadows, inner glows, feather any of the photoshop effects anything that has ti be screened that is reproduced in process or halftone etc. gradients, gradient mesh that kind of thing.
    I do not think a cutter would understand it and would simply dismiss the art object as not being something that can be plotted.

  • Getting clean mesh overlay on 3d graph

    First let me say that the new 3d stuff is much better than the old cw graph stuff.
    One problem I'm having however is the mesh overlay on the 3d graph
    control when I turn on overlay lines. When I use the 3d surface that
    comes with the ni helper vi, it looks fine, as it should. However when I
    use the native 3d graph and turn on overlay lines, the lines are
    fragmented and appear to be rendered at the exact same location as the
    plot itself as opposed to on the surface of the plot. The picture and vi
    below demonstrate what I'm talking about.
    In the picture, on the left is ni's xcontrol with helper vi. However, I
    only want the rendering screen and want to make my own custom color bar.
    To the right is the same plot but the rendering looks different - the
    overlay lines do not render smoothly like in the first plot. Is there
    any way to fix this?
    Thanks
    Attachments:
    3d graph.PNG ‏152 KB
    3d graph.vi ‏54 KB

    Or, you could make use of the first control.
    1) hide the ramp and palette in Shortcut->Visible Items
    2) open "<LVROOT>\vi.lib\Math Plots\3D Math Plots\3D Surface\3D Surface XCtrl\Facade.vi", make the frame transparent by using the brush in Tools Palette(View). And save.
    Then you would have the control look like this(ignore the marching ants). This is the only way to customized these xcontrols theme.

  • Plot in Mathematica

    hello,
    I was thinking of a way to run a Mathematica code from labview. The code is a simple ListPlot or Plot3d in mathematica. 
    Right now , I can open a mathematica notebook via LV ( using System Exec.vi ) and then have to insert the file path ( as shown in the code snippet below ) and then execute it. 
    What I want - Since I already know the path where the file is saved in LV, I can put that file path automatically to this code and just by click of a button , lets call " Plot in Mathematica " . I can get a plot.
    Is there a way to do this. 
    test = Import["C:\\Users\\Raman\\Desktop\\XXXXXXX.csv"];
    Z = Partition[Map[Last, test], Sqrt[Length[test]]]; ListDensityPlot[Z,
    PlotRange -> All, ColorFunction -> GrayLevel, Mesh -> False,
    PlotRange -> All]
     Best,
    Abhi
    Abhilash S Nair
    Research Assistant @ Photonic Devices and Systems lab
    [ LabView professional Development System - Version 11.0 - 32-bit ]
    LabView Gear:
    1. NI PXI-7951R & NI 5761
    2. The Imaging Source USB 3.0 monochrome camera with trigger : DMK 23UM021
    OPERATING SYSTEM - [ MS windows 7 Home Premium 64-bit SP-1 ]
    CPU - [Intel Core i7-2600 CPU @ 3.40Ghz ]
    MEMORY - [ 16.0 GB RAM ]
    GPU - [ NVIDIA GeForce GT 530 ]
    Solved!
    Go to Solution.

    Unless you can pass in parameters when you launch your workbook such that that they allow you to input the lines of code and run the code, you won’t be able to do what you are trying to do with System Exec.Basically, if Mathematica gives you the ability to do what you want in command prompt then chances are you will be able to do that with System Exec.
    Some programs have an ActiveX server (Ex. Word and Excel). Using the properties and methods available with the server you can make changes to the document. If Mathematica has an ActiveX sever you might be able use it to accomplish what you are trying to do. However, you will have to know which methods and properties are available and how to use them.
    There is a third party software which allows you to use Matemataica from within LabVIEW. For more information, take a look at this.  
    Arham
    Arham H
    Applications Engineer
    National Instruments

  • Need 2D and 3D plotting api info

    Hi all,
    I am looking for a plotting api to purchase to use in a java applet in a browser. I have looked for a couple of days now and can't seem to find what I need. I need it to plot 2D and 3d data sets of around 100,000 points. The comercial product we are currently using is great and easy to use, but it just can't handle large 3D data sets.
    thanks in advance for any input!

    Sounds like you need Java3D. But I'm not sure exactly what you're doing. There are convertors out there that will convert post data into meshes and what not. But I'm not sure if you're trying to do this in real-time or what.

  • Matlab plot integration and interaction on a front panel

    Hello all,
    I am making slow progress in the direction I have taken and was wondering if anyone had some experience/ideas with this. In my application I have the need to mesh a grid optimized to the geometry defined by several boundary points. For this purpose I found a MATLAB code developed by MIT which I would like to use. Right now I can define these boundary points in Labview, then call the matlab exe with this information and have the meshing code come up with a grid. I can get the grid point coordinates back to labview, but here is where the problems start. I am looking for a way to plot these discrete points, not as a curve but as separate dots or 'x'. Also, I would like to be able to click on a point and have Lab View read that points coordinates and store it in a variable.
    I assume there would be event structures involved, mouse click event, something like that, so I will be experimenting with that in the meantime, but right now I do not know how to even plot my points.
    Thank you advance.
    Alek

    There are a number of examples that ship with LabVIEW to show you how to do plotting. Open the Example Finder (Help -> Find Examples) and in the tree select Fundamentals -> Graphs and Charts. Also take a look at using cursors for graphs, which will give you coordinate values.
    Stop back when you've had a look at those and have a better idea of what you need to do.

  • XYChart Plot Limit?

    Hello, I have recently taken up JavaFX in hopes of creating a general purpose graph generator for use with large data sets. However, I have noticed that after ~30,000 or so plots, the graphs take a while to render (meaning not seemingly instantaneous). I was hoping to get at least 100,000 without experiencing this delay. Could it be that I am doing something wrong? Or are the XYCharts not made to handle such large plot counts? I have googled around and the only suggestions I have found and tried were to use the Task class or to put the code wrapped in a Platform.runLater call to put it on the JavaFX thread. Thanks in advance.

    100,000 is lot of plots, so there may be an upper acceptable performance limit that the standard JavaFX charts can handle which is lower than that. The standard charts may not have been designed with that size target dataset in mind.
    Are you running on a machine with a high quality supported graphics card and fast cpu?
    http://docs.oracle.com/javafx/2/system_requirements_2-2/jfxpub-system_requirements_2-2.htm
    Does performance improve if you use a 64 bit or server VM?
    http://stackoverflow.com/questions/198577/real-differences-between-java-server-and-java-client
    Have you tried Java 8?
    http://openjdk.java.net/projects/jdk8/
    Performance of many things is significantly improved in Java 8.
    The default styling for charts was simplified in Java 8 to remove things like drop shadows on line charts (which would significantly impact performance of large data sets).
    I think the simplification of the default chart styling was so that charts perform well on limited resource embedded devices, but I think the simplifications should also result on significant performance increases on non-embedded devices as well.
    Have you done any profiling to see where the bottlenecks are. If not, try profiling the chart with jprofiler:
    http://www.ej-technologies.com/products/jprofiler/overview.html
    When profiling it will probably help to have the JavaFX source on the path so that the profiler has access to the debug information it may need for accurate profiles:
    https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX
    Previous analysis of JavaFX tasks have found that rendering of complex paths is significantly slower than rendering primitives such as lines and rectangles.
    You may be able to subclass XYChart to create a high speed plotter that uses only line and rectangle primitives and none of the default css styled regions and path elements - making it far more capable of rendering large data sets with optimal performance.
    I have had no issues rendering 60fps 60000+ polygon phong shaded 3D models on Java 8 on a Macbook Air with an Intel 1.8ghz processor and HD4000 graphics (a low end integrated ultra-mobile graphics chip). 3D is a a completely different rendering pipeline than the 2D charts, so probably not that relevant to 2D chart plots, but it does at least show that the performance is there if a way can be found to harness it. Also perhaps you could subclass XYChart and render the plot points in a mesh within a 3D hardware accelerated sub-scene. If you do this, please publish the code as I would like to see it :-)
    https://wikis.oracle.com/display/OpenJDK/3D+Features
    Creating a short executable sample which allows somebody to replicate your issue will likely result in receiving more assistance:
    http://sscce.org/
    If you still have further questions after trying the above, you might want to cross post to the JavaFX development list where some of the JavaFX developers may be able to better advise you.
    http://mail.openjdk.java.net/mailman/listinfo/openjfx-dev
    You may want to vote for the following open tweak request:
    https://javafx-jira.kenai.com/browse/RT-20405 "Improve Path rendering performance"
    Also see comments regarding path rendering performance on:
    https://javafx-jira.kenai.com/browse/RT-20857 "Poor Path rendering performance"

  • 3D Meshing with XYZ using a 3D curve graph

    I am currently trying to real time plot X-Y grid co-ordinates against 'z' depth (for mapping a lake). I've got a 3D curve graph plotting XYZ points but I need it to mesh the sub-surface to create an image of the lake bed. The 3Dmesh example talks of a w-vector which is visible when you enter the 3Dcurve vi though I don't know what to do with it. Any help would be appreciated.

    Nothing that advanced I'm afraid, I'm using LabView 6i for the first time so no G math code. I've simply got three strings of data latitude position, longitude position and depth for the outer perimeter of a lake. These are read into a 3D curve graph and plotted with 1)just XY and 2)XYandZ as points within the graph. I can get these joined up as shown in the attached VI and by double clicking on the 3D surface VI I can change the property node labelled Plot3D curve to Plot3D mesh. However when you do this (when it doesn't come up with an error) it plots a random mesh, not the intended squares that I am looking for. Ideally I want it eventually created a 3D image of the surface and sub-surface of the lake as the data is fed in as XYZ every second in r
    eal time. I've seen what it's capable of in the graph properties; when you click add plots in the plots tab of properties it shows exactly what I'm after as some default function
    I've attached what I've done so far (not very impressive I know) but hopefully it illustrates what I am trying to do. Thankyou
    Attachments:
    3D_Plot_test.vi ‏56 KB

  • How can I represent more than one plot in an only one chart?

    Hello everyone,
    i got a code where I don't understand how to represent more than two plots, with different scales each, in the same waveform chart.
    As brief review:
    * 2 adquisition data wired to Bundle
    * wire from Bundle to waveform chart.
    * options of th chart: stack plots.
    I've tried to expand the Bundle but the problem is that I'm wiring a 3 element cluster to a 2element cluster chart. I don't understand how to upgrade the chart...
    (there's the two plots in each chart)
    (there's the code, where I've already tried expanding any bundle and wiring other signals, then wiring the bundle's output to the chart)
    I think if I could add more scales, it will be possible to plot three plots on the same chart.
    Thank you for your time
    Marcelo A J

    Since you are dealing with waveforms already, I think you actually want to have an array of waveforms to go into your chart.  You also need to map the plots to the scale that you want to use.  You can do that in the plot tab of the properties window.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

Maybe you are looking for

  • The outlook calendar from work shows on iPhone but not on iCloud website or iMac

    I have an iMac running latest OS, iPhone 5S running latest OS. The outlook calendar from my work pushes out to iPhone, and my iPad, but not to the iCloud website and not to the iMac. Any ideas??

  • How to resolve "ORA-12516 in cluster"

    Hi, Getting below error while connecting to database using tns. "ORA-12516: TNS:listener could not find available handler with matching protocol stack" apl11764a001:ORA37a > tnsping ora37_ap TNS Ping Utility for Linux: Version 11.1.0.7.0 - Production

  • Architectural Layout Templates ?

    Hi, I have a presentation in a few days that I need to present 2 different design ideas ( tents basically ) I'm looking for any inspiration or InDesign templates to help me with the layout. 90% of the page will be of graphics, so text is minimal, but

  • DumpLoad Task list & "Clear existing data" option

    Hi, I'm going to use the standard package DumpLoad task in order to load a file and to clear the existing data before loading the new data. I have configured the task directly in the SSIS package with the following options: - select "Import into cube

  • Two components overlap

    How can I make a JTextField to go on top of a JLabel so both components will be visible? Please answer quickly.