[Date Index]
[Thread Index]
[Author Index]
Re: FrontEnd: Rotation of "heavy" graphics objects
*To*: mathgroup at smc.vnet.net
*Subject*: [mg128009] Re: FrontEnd: Rotation of "heavy" graphics objects
*From*: W Craig Carter <ccarter at MIT.EDU>
*Date*: Sat, 8 Sep 2012 03:10:48 -0400 (EDT)
*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com
*Delivered-to*: l-mathgroup@wolfram.com
*Delivered-to*: mathgroup-newout@smc.vnet.net
*Delivered-to*: mathgroup-newsend@smc.vnet.net
*References*: <20120907085730.1D7926859@smc.vnet.net>
Hi Alex,
Thanks. David Park also gave me some useful feedback.
That graphics object is just a proxy for what I really want to
do---which is to rotate a graphics complex with many elements (for
example10^7 polygons) that is imported and on which I do some
mathematica operations. I don't have the option of reducing the size of
the graphics object in this case.
I am thinking of just coding it up myself (but am busy teaching and
other academic tasks and trivia...). I would probably link the Dynamic
ViewPoint of a bounding box to the Viewpoint of the heavy graphics
object. Then have the Dynamic wrapped around the Graphics3D object not
do synchronous updating and only track the Viewpoint. I believe the
graphics object would probably need to be NonSelectable or Depoyed? I
suppose that I would embed the two things (Box plus heavy graphic) in a
GraphicsRow. Trigger might also come in handy here.
If anyone would like to give this a shot, here is another example of a
heavy graphic:
numberCubes = 10^5;
Graphics3D[GraphicsComplex[RandomReal[100 {-1, 1}, {numberCubes, 3}],
Cuboid /@ Range[numberCubes]]]
(********!!!! Warning, this crashes my session if numberCubes = 10^6
!!!! *******)
W Craig Carter
Professor of Materials Science, MIT
On Sep 7, 12, at Fri Sep 7, 12 @4:57 AM, Alexei Boulbitch wrote:
> Hello,
> I am wondering if others would find the following feature useful, or
> might know how to do this with the current FrontEnd:
>
> When rendering "very heavy" graphics objects
> (*
> ---for example, but I don't recommend doing this---
> Plot3D[Sin[10 Sqrt[x^2 + y^2]]/Sqrt[x^2 + y^2], {x, -Pi,
> Pi}, {y, -Pi, Pi}, MaxRecursion -> 10]
> *)
>
> Live rotation, panning, and magnification of the graphics object are
> understandably slow.
>
> I am wondering if it would be possible to have a graphics rotation
modes
> where:
> a) a lower order graphic is rotated (as in the the PerformanceGoal
> option works in Manipulate)
> or
> b) Only a bounding box (or an x-y-z axis object) would rotate, and
then
> the heavy graphics object would be re-rendered only once.
>
> Craig Carter
>
>
> Hi, Craig,
>
> The option making the object heavy is MaxRecursion->10. Namely, 10 is
too high. If you take MaxRecursion->4 instead, the mouse rotation of
the image will be easy. With MaxRecursion->5 it takes several seconds to
catch up the image for the first time, but then rotations go
"frictionless". It is always the compromise between the image quality
and the difficulty of its rotation. You may also try another method of
improving the image quality. Say, make an option PlotPoints -> nn
instead of MaxRecursion and try sequentially nn, 30, 40, 50. Each time
the quality improves, but rotation somewhat slows down.
> I hope this helps,
>
> Have fun, Alexei
>
> Alexei BOULBITCH, Dr., habil.
> IEE S.A.
> ZAE Weiergewan,
> 11, rue Edmond Reuter,
> L-5326 Contern, LUXEMBOURG
>
> Office phone : +352-2454-2566
> Office fax: +352-2454-3566
> mobile phone: +49 151 52 40 66 44
>
> e-mail: alexei.boulbitch at iee.lu
>
>
>
>
Prev by Date:
**Re: Clustering**
Next by Date:
**Re: A new FrontEnd**
Previous by thread:
**Re: FrontEnd: Rotation of "heavy" graphics objects**
Next by thread:
**Re: FrontEnd: Rotation of "heavy" graphics objects**
| |