Subject: [mg128361] Re: Grouping graphics that are transformed together

From: "djmpark" <djmpark at comcast.net>

Date: Tue, 9 Oct 2012 00:40: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: <20694335.49844.1349677940786.JavaMail.root@m06>

Brentt,
The problem with this question is that it is a bit too vague. What kind of
"complex geometric objects" and what "other geometric and extra-geometric
operations"?
If you are dealing with graphics primitives and are talking about geometric
transformations such as rotations, translations, reflections and scaling,
then you could just group them into curly brackets and insert them into one
of the Mathematica geometric transformation routines. For example:
Rotate[{primitives...}, Pi/4, {0,0}]
If you are dealing with curves or surfaces then you have to extract the
primitives that describe them. Take the first part of the Graphics
expression. With the Presentations Application you can use Draw statements
instead of Plot statements to deal directly with the graphics primitives.
It also has the geometric transformations in a postfix form (or use a pure
function) so you could use:
g1 = {basic primitives and curves} // RotateOp[Pi/4, {0,0}]
You could then possibly combine g1 with other graphics and do further
transformations.
{g1, g2} // TranslateOp[{0,3}]
Just some suggestions.
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/index.html
From: Brentt [mailto:brenttnewman at gmail.com]
Hi, I was wondering what is the best way to grouping complex geometric
objects in graphics together so that they can be dealt with as a whole in
transformations and other geometric and extra-geometrical operations (e.g.
duplication with inheritance) . i.e. making graphical objects that have
properties which can be dealt with in an organized way.
I figured out ways two separate ways that kind work with inset and another
with graphics complex, but both seem hackish and a bit messy and this leads
me to think I'm perhaps not doing it the correct way. GraphicsGroup, which
by the name you might think was for this kind of functionality appears to
have a different purpose all together.
I don't need a detailed explanation but I could use a tip on where to look.
I haven't found anything in the documentation that addresses this in much
detail.
Thank you,
Brentt Newman