# mirroring and normals

**URL:** https://discourse.vtk.org/t/mirroring-and-normals/2767
**Category:** Support
**Created:** [March 6, 2020, 11:30am UTC](https://discourse.vtk.org/t/mirroring-and-normals/2767 "2020-03-06T11:30:29Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![andreasbuykx](https://discourse.vtk.org/user_avatar/discourse.vtk.org/andreasbuykx/32/8137_2.png) [@andreasbuykx](https://discourse.vtk.org/u/andreasbuykx)
#### Post date: [March 6, 2020, 11:30am UTC](https://discourse.vtk.org/t/mirroring-and-normals/2767/1 "2020-03-06T11:30:29Z")

</div>

I have an actor with point normals, and I want to mirror it in X and Y directions. My approach is illustrated in attached python script [mirroring.py](https://discourse.vtk.org/uploads/short-url/prhOU3WfquxmyuhIYkMqJPFhSKr.py) (1.6 KB)

The output

 ![mirrored_cube](https://discourse.vtk.org/uploads/default/original/2X/4/4a04e1375559e5c4635050b0d1c9713409132e92.png) shows two of the mirrors in black instead of the assigned colors. When I do not generate normals, the colors are OK. I suppose this is due to the normals now pointing inside instead of outside, or the cells having their orientation reversed? When I add a vtkReverseSense to the X and Y mirrors, the image looks OK ![mirrored_cube_with_reversesense](https://discourse.vtk.org/uploads/default/original/2X/3/332e31878e7607bd16708ba66c9ed0e450db1983.png) .

Is there a method to have the transform fix the normals without having to use vtkReverseSense?  
Thanks for your help!

---

<div class="post-metadata">

### Author: ![lassoan](https://discourse.vtk.org/user_avatar/discourse.vtk.org/lassoan/32/50_2.png) [@lassoan](https://discourse.vtk.org/u/lassoan)
#### Post date: [March 9, 2020, 2:06pm UTC](https://discourse.vtk.org/t/mirroring-and-normals/2767/2 "2020-03-09T14:06:15Z")

</div>

To position your actor, you can use origin, scale, and orientation properties of the actor.

As far as I know, UserTransform in the actor is a very low-level API. If you use us then you are expected to take care of all consequences. UserMatrix might work a bit better.

To VTK developers: It would be nice if VTK documentation would clarify what is expected when someone modifies an actor’s UserTransform or UserMatrix.

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)
#### Post date: [March 16, 2020, 5:14pm UTC](https://discourse.vtk.org/t/mirroring-and-normals/2767/3 "2020-03-16T17:14:35Z")

</div>

> [@lassoan](#):
>
> To VTK developers: It would be nice if VTK documentation would clarify what is expected when someone modifies an actor’s UserTransform or UserMatrix.

Please open an issue for this; it’s just going to get (more 😕 ) lost here on Discourse.

---

<div class="post-metadata">

### Author: ![lassoan](https://discourse.vtk.org/user_avatar/discourse.vtk.org/lassoan/32/50_2.png) [@lassoan](https://discourse.vtk.org/u/lassoan)
#### Post date: [March 17, 2020, 11:45am UTC](https://discourse.vtk.org/t/mirroring-and-normals/2767/4 "2020-03-17T11:45:00Z")

</div>

Added an issue for improving documentation of these methods - [https://gitlab.kitware.com/vtk/vtk/issues/17807](https://gitlab.kitware.com/vtk/vtk/issues/17807)
