# Defining a plane for mirroring

I know how to mirror things in Rhino via the Transform->Mirror command. Now I’m trying to programatically define the mirror plane in Gh. I found the Mirror component. There is a parameter plane and other planes. I’ve tried two or three without success. I want a mirror plane at a specific angle. It would be very nice to be able to move and tilt the plane via a slider or two. Any suggestions for which way to do this?

Rotate a plane with one of the rotate components.

Thanks guys. I’ll chew on that for a while and see where I get.

Note that in the example I posted, the Rotate ‘P’ (Plane) input uses the default ‘World XY’ plane, so the ‘YZ’ plane used by Mirror is rotated around the ‘Z’ axis of ‘World XY’.

Okay. I’m learning by doing here. Hope you folks are patient with me. I tried something simple here shown by yz-plane-exp.gh (5.0 KB)

I am surprised that when I change the MD slider, the plane moves in the X direction. I expected it to move in the Y and Z direction since it was a YZ plane component and the input is the origin of the plane. What I want for the particular thing I’m doing at the moment is to have a mirror plane basically be YZ but be able to position it in Z and X and be able to rotate it around the Y axis. Is there a good way to understand how to do that?

The origin point of all planes is based on ‘World XY’ coordinates.

thanks. I see what you’ve done. I’m getting closer. I found a “rotate around an axis” component. Now I’m looking for the way to make the axis track the origin position. I want the axis to run in the Y direction. I could create a vector for an axis. Is there a better way?

Oh my. Yes, there are many ways…

I’m not sure what that means? Any rotate component can be used to rotate a plane: Rotate Plane (around it’s own ‘Z’ axis), Rotate Axis, Rotate 3D or plain simple Rotate.

You can use Deconstruct Plane to obtain the X, Y and Z vectors for any plane; they change when the plane is rotated… You just need to be fearless and explore more combinations to see what happens.

Hey, I think this works.
yz-plane-exp-rotate.gh (14.2 KB)

I would get the same results this way:

yz-plane-exp-rotat_2018Apr9a.gh (7.9 KB)

Thank you so much. I’ll add that to my example files. I did get the thing to work and added it to my basic scrolls program. It’s so cool I have to share it. It’s not finished by any means. It’s a work in progress.
reflected-scrolls-0918apr.gh (18.7 KB)
there’s a lot of clean up to do, but pretty excited that it actually does what I wanted.

Cool. Honestly though, creating the scroll curve is the main thing here, eh? Mirroring it is really no big deal.

Yes, the scroll is the main thing, but I wanted to mirror the scroll and adjust the second one’s position for a particular design. It’s going to make my life a lot easier doing the design. Mirroring isn’t a big deal now that I understand it better.

Here’s one result.

pretty neat.

1 Like

I have a component I’ll be releasing in a day or two you will love. Will post here when I do.

thanks, Michael. I look forward to trying it.
Joe