# pch3d

##### Plot symbols similar to base graphics.

This function plots symbols similarly to
what the base graphics function `points`

does when `pch`

is specified.

##### Usage

```
pch3d(x, y = NULL, z = NULL, pch = 1,
bg = material3d("color")[1], cex = 1, radius,
color = "black", lit = FALSE, ...)
```

##### Arguments

- x, y, z
The locations at which to plot in a form suitable for use in

`xyz.coords`

.- pch
A vector of integers or single characters describing the symbols to plot.

- bg
The fill color(s) to use for

`pch`

from 21 to 25.- cex
A relative size of the symbol to plot.

- radius
An absolute size of the symbol to plot in user coordinates.

- color
The color(s) to use for symbols.

- lit
Whether the object responds to lighting or just shows the displayed color directly.

- …
Other material properties.

##### Details

The list of symbols encoded by numerical
`pch`

values is given in the `points`

help page.

##### Value

A vector of object id values is returned invisibly. Separate objects will be drawn
for each different combination of `pch`

value from
0 to 25, `color`

and `bg`

, and another holding all the character
symbols.

##### Note

This function is not a perfect match to how the `points`

function works due
to limitations in rgl and OpenGL. In
particular:

Symbols with numbers from 1 to 25 are drawn
as 3D sprites (see `sprites3d`

),
so they will resize as the window is zoomed.
Letters and numbers from 32 to 255 (which are
mapped to letters) are drawn using `text3d`

,
so they maintain a fixed size.

A calculation somewhat like the one in `plot3d`

that sets the size
of spheres is used to choose the size of
sprites based on `cex`

and the
current scaling. This will likely need manual
tweaking. Use the `radius`

argument
for a fixed size.

No special handling is done for the case of
`pch = "."`

. Use `points3d`

for
small dots.

As of rgl version 0.100.10, background and foreground colors can vary from symbol to symbol.

##### See Also

##### Examples

```
# NOT RUN {
open3d()
i <- 0:25; x <- i %% 5; y <- rep(0, 26); z <- i %/% 5
pch3d(x, y, z, pch = i, bg = "gray", color = rainbow(26))
text3d(x, y, z + 0.3, i)
pch3d(x + 5, y, z, pch = i+65)
text3d(x + 5, y, z + 0.3, i+65)
# }
```

*Documentation reproduced from package rgl, version 0.100.50, License: GPL*