# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

# `plot`::`Reflect3d`

Reflection about a 3D point or a plane

MuPAD® notebooks are not recommended. Use MATLAB® live scripts instead.

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.

## Syntax

```plot::Reflect3d(`[x, y, z]`, <`[nx, ny, nz]`>, `obj1, obj2, …`, <`a = amin .. amax`>, `options`)
```

## Description

`plot::Reflect3d([x, y, z], object)` reflects a 3D object about the point `(x, y, z)`.

```plot::Reflect3d([x, y, z], [nx, ny, nz], object)``` reflects a 3D object about the plane through the point `(x, y, z)` with normal ```(nx, ny, nz)```.

Reflections in 3D are transformation objects that mirror their contents about a plane. In the degenerate case where the normal vector is given as `[0, 0, 0]` or if only one point is specified, they reflect about a point.

Like all transformation objects, reflections can contain any number of objects of the appropriate dimension. Plotting the reflection object renders the reflections of all graphical objects inside.

Reflections can be animated. If the contained objects are animated, too, the animations will run simultaneously.

Animated reflection objects are rather “cheap” concerning computing and storing costs. For more complex graphical objects, it is more efficient to use an animated reflection object than to redefine the object for each frame.

## Attributes

AttributePurposeDefault Value
`AffectViewingBox`influence of objects on the `ViewingBox` of a scene`TRUE`
`Frames`the number of frames in an animation`50`
`Name`the name of a plot object (for browser and legend)
`Normal`normal vector of circles and discs, etc. in 3D[`0`, `0`, `1`]
`NormalX`normal vector of circles and discs, etc. in 3D, x-component`0`
`NormalY`normal vector of circles and discs, etc. in 3D, y-component`0`
`NormalZ`normal vector of circles and discs, etc. in 3D, z-component`1`
`ParameterEnd`end value of the animation parameter
`ParameterName`name of the animation parameter
`ParameterBegin`initial value of the animation parameter
`ParameterRange`range of the animation parameter
`Position`positions of cameras, lights, and text objects[`0`, `0`, `0`]
`PositionX`x-positions of cameras, lights, and text objects`0`
`PositionY`y-positions of cameras, lights, and text objects`0`
`PositionZ`z-positions of cameras, lights, and text objects`0`
`TimeEnd`end time of the animation`10.0`
`TimeBegin`start time of the animation`0.0`
`TimeRange`the real time span of an animation`0.0` .. `10.0`

## Examples

### Example 1

Plot a 3D function graph and its reflection about the point (0, 0, 2):

```f := plot::Function3d(sin(cos(x) - cos(y)), x = 0..PI, y = -2..5): p := plot::Point3d([0 , 0, 2], PointSize=2): plot(f, plot::Reflect3d([0, 0, 2], f), p, CameraDirection=[30, -50, 20])```

Plot the same function graph and its reflection at a plane through the point (0, 0, 2) with an animated normal vector:

```pl := plot::Plane([0, 0, 2], [a, 0, 1-a], a=0..1, Color=RGB::Green.[0.5]): plot(f, plot::Reflect3d([0, 0, 2], [a, 0, 1-a], a=0..1, f), p, pl, CameraDirection=[30, -50, 20])```

## Parameters

 `x`, `y`, `z` The coordinates of the mirror point or a point on the mirror plane, respectively: real numerical values or arithmetical expressions of the animation parameter `a`. `x`, `y`, `z` are equivalent to the attributes `Position`, `PositionX`, `PositionY`, `PositionZ`. `nx`, `ny`, `nz` The coordinates of the normal of the mirror plane: real numerical values or arithmetical expressions of the animation parameter `a`. `nx`, `ny`, `nz` are equivalent to the attributes `Normal`, `NormalX`, `NormalY`, `NormalZ`. `obj1, obj2, …` Plot objects `a` Animation parameter, specified as `a```` = amin..amax```, where `amin` is the initial parameter value, and `amax` is the final parameter value.