3D Force vector plot

Hi
This might be a very easy thing to do but i can't seem to manage it. I am currently using Labview 8.5 and attempting to represent data acquired from a 3-axis force sensor as a single vector. The vector should begin at the origin with its magnitude and direction represented by the orientation and magnitude of the vector plotted. The inputs are X, Y and Z forces. Any help you could give me with this would be great.
Thanks
John

This thread has a worse case example that you can dumb-down.
Find the part of the code that plots the line.
In your case the line only needs two points the origin and the location where the vector ends.
THat example is based on the CW 3D graph that ships with LV.
I'll leave "creating the arrowhead" as a exercise for the reader.
Spoiler (Highlight to read)
Hint: Christian Altenbach posted an example that draws arrows in a 2D picture, search for that example.
Hint: Christian Altenbach posted an example that draws arrows in a 2D picture, search for that example.
Ben
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction

Similar Messages

  • 3D vector plot

    Hi,
    I am performing a CNC machine tool capability study.  I have measured a vertical, 3 axis (x,y,z) milling machine in all three axes using a laser measurement system.  The data I have recorded is target position vs actual machine position.  A good way of representing this data would in a 3D vector plot.
    I have had a play with the 3D line graph but I am struggling to achieve what I require.  Please see attached image as an example of would I require.
    Is this style vector plot achievable in LabVIEW? Can someone make a suggestion of what plot/graph to use?
    Thanks,
    Tom
    Attachments:
    vectorplot.png ‏7 KB

    ...then in that case...
    Christian Aletenbach posted an example of drendering arrows in 2D SOMEWHERE on this forum. Unfortunately I did not tag the post so it will require a search.
    His math can be extended to 3D to get the arrows. Each arrows can be a seperate plot in the 3D graph.
    Take care,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • HP 650C DesignJet Plotter Rasterizing vs Vector Plot

    I am considering buying a surplus HP 650C Plotter to convert for cutting vinyl Media. I realize the HP 650C uses inkjet technology and that there will be some work involved in converting the Pen UP/Pen Down functions, the mechanics of the pen carriage and such, but after reviewing the service manual I believe I can work through these issues.
    My question remains, though, in the manner in which the plotter actually plots a vector line. Can it be configured to function as a traditional pen plotter, where say a vertical or 45 degree angle line is plotted in one continuous stroke, or would such lines be plotted as with any more modern printer, with the carriage scanning back and forth along the entire width of the media, plotting dots only where the line would be?
    Obviously if the latter is the case then it would not work well for my vinyl cutter project.
    Rob

    This forum is focused on consumer level products.  For the Designjet you may have better results posting in the HP Designjet forum here.  
    That said, for your issue the Designjet 650c would not likely be useful - even when plotting using HPGL it converts to raster format for printing and the printing is done in swaths rather than vector printhead movement.  A surplus large format pen plotter would be a better fit and likely much easier to retrofit for vinyl cutting.
    Bob Headrick,  HP Expert
    I am not an employee of HP, I am a volunteer posting here on my own time.
    If your problem is solved please click the "Accept as Solution" button ------------V
    If my answer was helpful please click the "Thumbs Up" to say "Thank You"--V

  • Get a waveform graph to stop plotting after a given time period

    I am doing a research project looking at the effects of modifying visual feedback on a person's current force output. I have a waveform graph that plots the target force level they are trying to match (specified by me) and next to it a second plot showing their current force output (in real time). I am trying to make a condition where the current force output plot (or really the whole waveform graph) stops plotting after a 10 s time period, but can't seem to get it to work. It either plots for the whole trial, or does not plot at all. Is there a way to put a timer on a waveform graph in order to tell it to stop plotting after a specified time period?
    Thanks!

    Hi again,
    I have tried to open the .vi you sent, but I have version 8.2 (yours is in version 8.5) and cannot open it. Is there a way for you to tave the.vi so that it can be opened with earlier versions of the program?
    I have attatched my .vi to this message as well.
    Attachments:
    bimanual combined with metronome_conds.vi ‏174 KB

  • Polar plot line color

    Hello
    I have three vector plotting using polar plot.vi the problem is when I tread to shift the line color, only use black, I need three diferents colors any suggestion?. I put a picture with my block diagram.
    I would like too chance the line width how to I can realice this using mi VI?
    thanks
    Danilo

    Abel_Souza wrote:
    Hi Danilo,
    I think you can use color box contants in a case structure, each case sent one color constat, so you can select colors when you select a case on case structure.
    Regards,
    Well that is part of the story but the picture input tunnel should be changed to a SR if you wnat more than one plot.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Board Size in Ultiboard

    This is probably going to ne one of the most stupid questions ever asked, but I'm going to ask anyway. This is an Ultiboard question.
    How do I know what board size I am going to need in advance of placing components?  The way I have been doing this is that I would place my components either manually or with the autoplacer and then adjust my board outline size at that point. Would this be considered proper design procedure? What, if any, effect would my method have on the autoplacer in determining where components will be placed?
    Thanks for any replys in advance.
    Kittmaster's Component Database
    http://ni.kittmaster.com
    Have a Nice Day

    Lacy, the autoplacer uses algorithms accounting for the force vectors and ratsnest configuration in oder to place the components, rather than the 'space' available.
    However, with that said, imagine that you have a weird outline, the autoplacer 'does' knows what the boundaries are that it needs to abide to when placing components.
    Usually your mechanical enclosure or place where the board will be gives you a clue on how the PCB outline should look like... then place components and traces on that outline...  however there are times in which you can place a default board outline and then according to how the parts, and part groups, etc, are being placed you can then tweak the outline to your favor.
    Nestor
    National Instruments

  • [iphone] Removing the influence of gravity on accelerometer readings

    I have an app that reads acceleration data from the Y axis however when the device is tipped I get bogus readings due to gravity influence.
    I'd like to combine the data from another axis (X I believe, I don't have the diagram handy) to negate this effect.
    For example, if the phone is laying flat on its back, the Y axis should read 0 and the X axis should read 1g. If one end of the phone is then lifted, the reading on the Y axis should increase (if the top of the device is lifted) and the X axis should decrease.
    So I should be able to combine these values mathematically and filter this effect from the "real" acceleration data I'm interested in the Y axis, correct?
    I think there would be limits since I imagine beyond a certain point of deflection the readings from the Y accelerometer will become too inaccurate, but if I could compensate for minor changes in device angle that would be sufficient for my application.
    I've tried a few approaches to this but either my math skills or some nonlinearity of the accelerometer are leading to unexpected results.
    Is this possible, or is there an easier answer to this problem? Any ideas are appreciated.
    Thanks!

    Some basic trigonometry might help you understand the problem.
    You have two sides of a force vector triangle, one is the force of gravity, the other is your accelerometer reading. Unless you have a 3rd known, for instance one of the angles, the triangle solution is ambiguous. You can't solve for the 3rd side. It could be almost anything (from the sum to the difference of the other two side lengths/accelerations).
    First order low pass filtering just smoothes, or averages out, the readings of the acceleration value, it doesn't help you with any information about the unknown angle.
    So you can't remove the influence of gravity from the accelerometer readings for arbitrary motion.
    You could fix one of the angles of the unknown triangle by clamping the device such that it can't be tilted at all when moved. Then solving for acceleration is possible, because you would then have 2 sides plus one angle.
    .

  • Writing and loading Object

    Hello, I've been trying to save and load back in an Object File by using Object Serialization and ObjectOutputStream and ObjectInputStream. Everything works without casting any exceptions except when I load the fiel back in, it is null. I don't know why. I am actually trying to load a certain Class (which I named SaveGUI) that I have created and that contains many different Objects within itself and they are all Serializable. Now, to use the method readObject(), I guess the object has to be an instance of class Object so I tried extending SaveGUI to Object, It still didn't work.
    Can anyone give me some hints on what the problem could be?
    This is some of the code:
    FileDialog d = new FileDialog(GUI.this, "Save GUI State", FileDialog.SAVE);
    d.show(); // display the dialog and block until answered
    String filename = d.getFile(); // Get the user's response
    if (filename != null) {           // If user didn't click "Cancel."
    try {
    // Create the necessary output streams to save the Object.
    File f = new File(d.getDirectory(), filename); // Create a file object
    ObjectOutputStream out = new ObjectOutputStream(
    new java.util.zip.GZIPOutputStream(
    new FileOutputStream(f))); // Save objects
    out.writeObject((SaveGUI)saveGUI); // Write the entire Object.
    out.flush(); // Always flush the output.
    out.close(); // And close the stream.
    // Print out exceptions.
    catch (IOException ioe) { System.out.println("I/O Exception in file writing: "+ioe); }
    // Open up a dialog for the user to choose the file
    FileDialog d = new FileDialog(GUI.this, "Load a Saved GUI State", FileDialog.LOAD);
    d.show(); // display the dialog and block until answered
    String filename = d.getFile(); // Get the user's response
    if (filename != null || (filename.length() != 0)) {    // If user didn't click "Cancel."
    try {
    // Create the necessary input streams to load the GUI.
    File f = new File(d.getDirectory(), filename); // Create a File object
    ObjectInputStream in = new ObjectInputStream(
    new java.util.zip.GZIPInputStream(
    new FileInputStream(f))); // Read Object.
    SaveGUI obj = (SaveGUI)in.readObject(); // Assign Object.
    //in.close(); // And close the stream.
    // Print out exceptions.
    catch (IOException ioe) { System.out.println("I/O Exception in file loading: "+ioe); }
    public class SaveGUI extends java.lang.Object implements java.io.Serializable {
    public SaveGUI() {}
    Vector xAxisDataTable = new Vector(); // For each Frame there is a x-Axis DataTable
    Vector yAxisDataTable = new Vector(); // for each x-Axis column there is a y-Axis DataTable
    Vector titlexAxis = new Vector(); // The title of the xAxis (Vector of Strings)
    Vector titleyAxis = new Vector(); // (Vector of Strings)
    Vector plotsRecord = new Vector(); // Plotting Records of columns in x-Axis List (PlotRecord-s)
    Vector plotsOptions = new Vector(); // Plotting Options, for each layout frame (PlotOptionsFrame)
    }

    I solved it, don't worry

  • [svn] 3787: Added FxTextArea, FxTextInput, and TextView class-level examples to the Component Explorer.

    Revision: 3787
    Author: [email protected]
    Date: 2008-10-21 12:16:28 -0700 (Tue, 21 Oct 2008)
    Log Message:
    Added FxTextArea, FxTextInput, and TextView class-level examples to the Component Explorer.
    Modified Paths:
    flex/sdk/trunk/samples/explorer/explorer.xml

    One workaround is to turn off automation:
    File-->Options, Advanced tab, General Section, uncheck "Enable Automation Events"
    However, you will loose the ability to configure callouts, and all of the commands in the Process Engineering tab.
    Another workaround is to change the loop number of the shape you are editing before changing its type. Then change the loop number back to the correct loop number.
    This is another example of the pernicious philosophy of trying to help the user do what the programmers think the user is trying to do that started in Excel 2000 (where you can no longer tell excel that you want a scatter plot - it will force the plot
    to be a line plot under certain circumstances).
    I suppose another option would be to modify the master and swap the text and subtype shapes in the indicator to use the subtype property for the loop number and then use the text for the instrument type. I guess this is what MS was trying to implement, but
    didn't explain it well enough to their programmers.

  • How do I plot three 1-D vectors into a surface plot?

    Hi everyone,
    I have programming experience but am completely new with LabView.
    I have data files that contain the same wavelength range on the first column, light intensities on the second column, and each new text file is at a different angle. The respective angles are written as headers for each file.
    I've extracted wavelength, intensity, and angle into distinct 1-D vectors and want to plot them all on a 3-D graph.
    I've tried using scattered plots in vector form, contour plots, plot3Dmesh, etc, and I've googled extensively and have found similar questions but no answers.
    Does any one know where I can view specific examples or how to go about this?
    Any help would be greatly appreciated!
    -Michael
    Solved!
    Go to Solution.

    Hi Joe,
    Thank you! That worked. It enlightened me a bit more about shift registers as well.
    The reason I'm taking both the angles and wavelengths from the same column is because the angles are the first value on the numerical header. The wavelengths (and intensities) all begin from row 3 so I just set the read from measurement file VI to start there.
    There's one odd thing about the plot. Everything looks fine up until it hits ~340 on the wavelengths. All the angles are read and intensities for wavelengths between 260-340 nm. But the wavelengths range from 260-680 nm. I've been playing around with the shift registers insert into array functions, but I can't figure out what's stopping it from plotting the remaining intensity curves after 340 nm. I suspect it has to do with the number of times the for loop runs, but I thought the list folder files function took care of that. I tried wiring the file count output to N on the for loop but it didn't make a difference. Any thoughts on this?
    Note: there are 176 angles, from 0-175. there are around 400 wavelengths, from around 260-680 nm.
    Thank you so much!
    -Michael

  • Vector Art forced to CMYK and 72 DPI in Photoshop CS4

    Hello,
    Let me start by saying that I'm aware that Photoshop is not the best program for working with vector files. Because of the kind of work I'm doing, I need to open vector files (mostly EPS) in PS throughout the day and work on them using specific filters that I have.
    In all previous versions of PS, when I opened a vector file there were no problems. The files opened exactly as they were saved. Since I upgraded to CS4, PS has started forcing a resolution of 72 dpi and CMYK mode when I know for a fact the file was created at 300 dpi and in RGB mode. I know it seems minor, but when you're working on 100 + files per day, it really cuts into your workflow.
    Has anyone else had this problem? if so, has anyone found a solution to this? Is there a setting that I'm just missing or is this a bug?
    Thanks in advance for any help that you can provide.
    Tim

    I know I can change the settings. That's not the issue. The issue is that going through and changing these setting each time I open a file cuts into my productivity. Again, I know it seems minor, but when you're dealing with as many files per day as I am, it adds up. PS is definitely not remembering the settings from the last file opened. If it were, I wouldn't be posting here. My CS3 remembers the settings and always has. It was when i switched to CS4 that the problems arose.
    I'm aware that opening in PS will rasterize the file. As I said in my previous post, I know that PS isn't a vector program, but due to what I need PS for at work, the files must be opened in PS so I can use certain filters that aren't available for AI.
    Tim

  • How to force waveform graph cursors to show Y value on more than one plot?

    Hello
    Is it possible to show more than one Y value on waveform graph cursors?
    Thanks in advance.
    Pawel

    Hi Dennis
    That is correct, on graph woth multiple plots I want to display multiple Y values of plots at the same X value.
    I know I can use property node to access cursor list etc. and this is how I have done it, but my question was rather if it is possible to force the cursor legend to display more than one Y value (as a native display). As a default it displays one value and you can choose which plot you want to stick to, but it would be a great feature to have possibility to expand cursor legend to display more than one value.
    The question has nice consequences. If it was possible, you could use a property node to export image of the graph, control sizes, or even simple "copy" data from the popup menu. Otherwise we need to "artificially" glue the exter
    nal controls displaying Y values if we want to export pictures, etc.
    But since you did not answer that I supose it is not possible, as I thought.
    thanks anyways.
    kind regards
    Pawel

  • Force required between two vectors

    Hi, just a quick problem. I have two 'players' on a pitch. And need to work out how much force is required to move a ball between the two players. They are both represented as vectors. Any ideas? dot product?
    Thanks,

    It's the inverse square of the negative square root of the hypotenuse of the opposing vectors inside leg, over the sum of the square of E or A on X such that X is equally distributed amongst all players on the bottom peg.
    Obvious!

  • Forcing a vector to become an array.

    I have a method I want to call that returns a vector of generic object instances. I want it to return an arraylist of instances of my specific class.
    neighbors = netGrid.getVonNeumannNeighbors(x, y, false);//vector my VN neighbors. Where neighbors is a class vector. I'd like neighbors to be a local arraylist. Is there a way to do this? I've tried casting neighbors as an array, but since getVonNeumannNeighbors returns a vector, this obviously didn't work, as I've found out.

    Perhaps I should have included the whole method so you can see the problem.
         public void creatingEdges() {
              neighbors = netGrid.getVonNeumannNeighbors(x, y, false);//vector my VN neighbors.
              ArrayList <Node> temporary = new ArrayList <Node>();
              for ( int i = 0; i < neighbors.size(); i++ ){//for every neighbor node stored in neighbors
                   Object o = neighbors.get(i);//get an object out of the vector.
                   System.out.println("Object #" + i  + " is a " + o.getClass().getName());//check that it's a node..
                   if (o instanceof Node) {//if it is
                        temporary.add((Node) o); //add it to the temporary array list
                   for (int j = 0; j <temporary.size(); j++) {//for all the neighbors in temporary
                        Node neighborNode = new Node();// cast it as a Node 
                        System.out.println("the neighbor node's ID is " + neighborNode.getID());
                        if (neighborNode.getEdgesFrom(this) == null){//if the neighbor node doesn't have an edge FROM this node
                             Edge anEdge = new Edge(); //make a new edge.
                             anEdge.setFrom(this);//send a new edge from this node
                             anEdge.setTo(neighborNode);//connect that edge to the neighbor.
                             this.addOutEdge(anEdge);//tell this node it's got a new out edge.
                             neighborNode.addInEdge(anEdge);//tell the neighbor node it's got a new in edge.
         }While the method is still a work in progress, I'd like to use an array list instead of a vector, since then I can get rid of half the crap in this method. Here's the API for the problem method: http://repast.sourceforge.net/api/uchicago/src/sim/space/Object2DGrid.html
    Can it be cast as an array?

  • Plot a changing 3d vector from discrete values

    Hello
    I have a labview program with a while loop that gives me 3 new values every iteration. Lets say they are:
    while(1)
    i=i+1
    x = i
    y = i/2
    z = -i
    I want these to be plotted in a 3d graph, so that it will show a number of dots, updated in realtime, as the loop is iterating.
    I'm a beginner with labview, so please explain how to do this as detailed as possible.

    Hi,
    Just as JKMM suggests, you can use a Line Graph. The key is to use shift registers to store the growing arrays of elements that you generate. For each loop, you add a new element to the x, y and z array before updating the Line Graph. I attach an alternative to JKMM's alternative with some property nodes that you can play around with.
    Attachments:
    line_graph_3dplot.vi ‏22 KB

Maybe you are looking for