4

I am not quite aware of 3D file formats which I can export from Mathematica; I have the following problem.

I have a very large 3D list plot (with axes labs, plot legends etc..) from my experiment. Since the file is very large, Mathematica often gets stuck, so I am thinking of converting this 3D model to another format so that I can save as separate 3D file such as .X3D or .VRML (not quite sure about these format).

The exported 3D model should retain the following features after conversion:

  1. It should retain the axes label, ticks and all the details
  2. It must be easy to get the data points from those curves
  3. It should be 3D rotatable

So could anyone tell me in which format I should convert and how I may do that?

MarcoB
  • 67,153
  • 18
  • 91
  • 189
TM90
  • 380
  • 1
  • 13
  • 2
    From what I can tell so far, none of the formats on this page include the axes or bounding box with the graphic. Try Import[Export["test." <> #, Plot3D[Sin[x], {x, -10, 10}, {y, -10, 10}]]] & /@ {"dxf", "obj", "3ds", "stl", "lwo", "ply"} to verify this. – Jason B. Feb 17 '16 at 09:36
  • 3
  • I see that four people have voted that this is a duplicate but I wonder if it really is, since that question deals with a specific format rather than being open to any that may work? – Mr.Wizard Feb 17 '16 at 17:51
  • Yes Mr Wizard, you are absolutely right, this is not a duplicate of the Collada fromat some one already asked for, what I need is a particular format in which 3D view, plot legend, axes label and all the details of mathematica format – TM90 Feb 18 '16 at 01:21
  • Thanks a lot Jason, but that is not quite, I want – TM90 Feb 18 '16 at 04:23
  • @TM90 - the point of my comment is that the answer to your question appears to be "No". None of the 3D formats allows one to export the bounding box, the axes, or the labels. In the post I linked to, the OP there also wanted a way to export with boxes and other plotting accouterments but none of the answers say how to do that. – Jason B. Mar 01 '16 at 13:07
  • @JasonB , thank you very much I am an doing experimental physics, So i usually have a lot of data to be processed such as plotting 1D, list plot, list contour plot, list 3d plot. etc.. But typically all my data files are of more than 20 mb , and mathematica takes more 6-7 hours to plot this, but If i use some software like origin or something it will finish with 15 mins or so. Is there a solution to this problem? I would love to stick on just one software, finally I need to make for scientific journal, but I found it is very difficult to edit the labels,size and post processing etc.., – TM90 Mar 02 '16 at 08:04
  • @JasonB So my question is you think I should stick with mathematica or shall i use some software in parallel for quick plot and publishing quality graph? May I please know your suggestions regarding this. – TM90 Mar 02 '16 at 08:06
  • So I do usually think that Mathematica makes great plots, but then in the end when I want to combine them into a composite figure I import them into Inkscape. Taking 6 to 7 hours to make a plot is totally unreasonable, even for a large amount of data. Can you come up with a small working example that does this, even if it means you have to link to a 20mb file on your dropbox? – Jason B. Mar 02 '16 at 08:10
  • I have run into the situation myself where I'm doing a 3D plot of a large data set, and the resulting 3D figure is generated quickly enough, but then grabbing it with the mouse and rotating it is so slow as to be impossible. So it could be that for 3D plotting of large data sets, other tools are better. It's hard to say without a concrete example – Jason B. Mar 02 '16 at 08:11
  • @JasonB, if you do not prefer to mail, then I can upload it here itself, let me know which one would you prefer – TM90 Mar 02 '16 at 10:12
  • @JasonB, I have given a link here, it has data file and a mathematica notebook, let me know – TM90 Mar 02 '16 at 10:54
  • http://mab.to/U9Nei6aIY – TM90 Mar 02 '16 at 10:54
  • 1
    @TM90 - I have two ways to make that same plot that are relatively quick (I was too impatient to let your code run so I don't know how long it would have taken). Try this method: http://pastebin.com/raw/i6UQQNRN or this method: http://pastebin.com/raw/547Ps87G – Jason B. Mar 02 '16 at 11:36
  • @TM90 - essentially the problem is that when you try to make a plot using data in the form {{x1,y1,z1},{x2,y2,z2}....} (a list of tuples), then it can be very slow if that list is large. In your case you have 201 thousand tuples for one plot. But if you take that list and make an interpolation function from it, it will plot relatively quickly. Or if you rearrange it into an array of z values, it will also plot relatively quickly. Those are the two methods I show above. – Jason B. Mar 02 '16 at 11:41
  • This has come up here and here – Jason B. Mar 02 '16 at 11:42
  • @JasonB - Awesome, but the second code did not work for me , and there is an error listdensityplot::gmat: then it gave a list amplitude. I do not know why. – TM90 Mar 04 '16 at 02:15
  • @JasonB -but you see I had used one module which I saw from one of the post http://pastebin.com/1AgPvqaG – TM90 Mar 04 '16 at 02:18
  • @JasonB, I got the difference between the code i used above and the code you mentioned, it was all about the plotpoints – TM90 Mar 04 '16 at 02:56
  • Hey Jason, I have a very basic question to ask, since then I have been using the interpolation (as you mentioned) for plotting huge data s, It all depends on the number of point, I think I have to look for the second method you suggested me which is to partition the z values,But I do not quite understand how exactly we have to partition the z values, Could you please tell me the basics of it or point out some post where they mentioned how one should partitions the z values such as the dimensions and everything. I am sorry for my ignorance. – TM90 Mar 17 '16 at 07:45

0 Answers0