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 > > > >

**References**:**Re: FrontEnd: Rotation of "heavy" graphics objects***From:*Alexei Boulbitch <Alexei.Boulbitch@iee.lu>