Re: File size 5.5MB
- To: mathgroup at smc.vnet.net
- Subject: [mg126445] Re: File size 5.5MB
- From: A Retey <awnl at gmx-topmail.de>
- Date: Fri, 11 May 2012 00:12:50 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jog02s$g2c$1@smc.vnet.net>
Hi,
> Very new to CDF format of Mathematica, but concerned at the file size
> of a simple file.
>
> Something as simple of this, along with its output, is 5.5MB. How
> come?
Because it contains 3 nontrivial 3d vector graphics? I won't argue that
this could not probably be done more efficient, but it isn't that bad
that I'd consider it a real problem (if you look into the file or the
cell expressions you will find that the graphics content even is
compressed by default). Maybe you want to explain what your problem
with the file size exactly is, so we can suggest what you can do to
solve that particular problem.
There are various ways to get your files smaller, maybe simple settings
like:
ContourPlot3D[
r*(1 - u/q) - u/(1 + u^2) == 0, {r, 0, 1}, {q, 0, 10}, {u, 0, 10},
AxesLabel -> {r, q, u}, MeshFunctions -> {#1 &}, Mesh -> 9,
PlotPoints -> 5, MaxRecursion -> 2]
will already be sufficient for what you want to achieve, but as another
extreme you could create very small rasterized "previews" in the file
and recreate the full 3d vectorgraphic only when the user wants to
interact with it. That possibility is the real benefit of using CDF
instead of e.g. PDF. Of course things like that need a little extra
effort, here is an example:
With[{
code = Hold@ContourPlot3D[
r*(1 - u/q) - u/(1 + u^2) == 0, {r, 0, 1}, {q, 0, 10}, {u, 0, 10},
AxesLabel -> {r, q, u}, MeshFunctions -> {#1 &}, Mesh -> 9
]
},
DynamicModule[{content =
Button[Rasterize @@ code, content = ReleaseHold[code],
Appearance -> None]},
Dynamic[content]
]
]
it will create a rasterized graphics as a static preview. If you save
that file it will be about 50kB for me (that would be about 150kB for
three such graphics). Only when the user clicks on the graphics it is
replaced with the interactive 3d graphics. Of course you probably might
want to improve that so it becomes clearer to potential users/readers
how to use it and what is going on while the 3d graphics is recreated.
hth,
albert