3D plot with spheres and arrows

Dear all,


I'm trying to reproduce a figure previously done by a colleague:

I have the raw data and the figure but it has a poor resolution.

As this colleague is no more there, I need to reproduce the figure with a better resolution by myself.

I think Igor with Gizmo can do the job but I really don't know how to do.

I learnt via the help document but I'm not able to finish the figure.

Could you tell me if Gizmo will be able:

1- to reproduce the figure with the 3D spheres

2- to export the figure in a vector format with high resolution?

Thanks for your precious help.


Typical figure I need to reproduce with 3D speheres and arrows

I'm able to create spheres but the arrow are quite difficult to reproduce for me. I tried :

3D plot with spheres and arrows | Igor Pro by WaveMetrics

and the example Menu->Example Experiments->Visualization->Advanced->Scatter Arrows


1- I don't know how to create a good rotation wave to construct my arrows.I have the phi and theta informations of the arrow but I don't know how to work with these information in Gizmo

2- Then, I'm not able to save the figure in a vector format.

Best regards.

Sébastien Mailfert

Gizmo plots cannot be exported in any vector format. Gizmo can export to the raster formats PNG, JPEG, and TIFF. You can export at multiples of the screen resolution to get a more detailed image. To read about exporting, execute:

DisplayHelpTopic "Exporting Gizmo Windows"

If you need further assistance it is probably best if you send your question directly to support@wavemetrics.com. Make sure to include your Igor experiment, your OS and version, the version of Igor, and your serial number. If using Igor 7 or later, it's easiest to use the Help->Contact Support menu item to generate an email containing this information. If that doesn't work, you can also use the Help->About menu item and click the System Information button.

Hello Sébastien,

Just to add a couple of points to the response above.

The Scatter Arrows experiment does show you how to provide a rotation wave.  The relevant documentation for the scatter rotation is:

"property={rotationWave, wave }
    Specifies the 2D Mx4 rotation wave for the markers. For each marker the rotation wave has a corresponding row of data containing four entries in this order: the angle in degrees, the rotation axis components in the X, Y, and Z directions."

By default arrows will point in the positive z-direction.  If you need to compute the required rotation to a new direction specified by vector v then you can compute the cross product a=v x z.  This should give you the axis of rotation vector a and the rotation angle may be obtained e.g., by computing the dot product of v and z (because v.z=|v||z|cos(rotAngle). 

Note that you should normalize your axis of rotation vector a e.g., if the vector is expressed as a three-element wave:


I hope this helps.  Please contact support as suggested above if you encounter any difficulties.