# normal

## normal

Returns the normal at the point currently displayed.

### normal(nx,ny,nz)

Changes the normal (useful to program a 3D texture).

## normal right right

### normal right(x1,y1,z1,x2,y2,z2) right(x3,y3,z3,x4,y4,z4)

Returns points (x5,y5,z5) on WM1M2 and (x6,y6,z6) on M3M4 common perpendiculars to lines M1M2 and M3M4 (see also normal segment segment).

## normal fac vol

### normal fac(f)vol(id)

Returns the facet f normal of volume id.

### mormale fac(f)vol(id)=nx,ny,nz

When the normals to the facets were generated allows change the facet f normal of volume id.

### normal fac(f)anc vol(id)

Returns the facet f of volume id transformed by its matrix.

### normal fac(f)generate vol(id)

Returns the normal to facet f of the extension or of fractal of volume id.

### normal fac(f)matrix vol(id)

Returns the normal to facet f of volume id transformed by its matrix.

## normal line

### normal line(x1,y1,z1,x2,y2,z2,x3,y3,z3,...)

Returns the average normale to the 3D polygonal line (x1,y1,z1), (x2,y2,z2), ...
Note:
Requires at least 3 points, otherwise an error is returned.

## normal poi vol

### normal(d) poi(x,y,z) vol(id)

Returns the coordinates of projection point (x,y,z) on the volume id from distance d.
Note: d = 0 by default.

## normal scalar

### normal scalar(v1) scalar(v2)

Returns the scalar product of 2 vectors different dimensions.

## normal segment

### normal segment(x1,y1,z1,x2,y2,z2) segment(x3,y3,z3,x4,y4,z4)

Returns points (x5,y5,z5) on M1M2 and (x6,y6,z6) on M3M4 common perpendicular to segments M1M2 and M3M4, and NIL if one of these points is not inside the corresponding segment (see also dist right right).

## normal vertex

### normal vertex(n1) var("x")

Returns the normals to certex n1of variable x.
Note:
`line vertex(n1) var("x");` returns the tangent at vertex n1.

### normal vertex(s)vol(id)

Returns the normal at vertex s of volume id.
Options:
anc: normal at vertex s of volume id transformed by its matrix.
generate: normal at vertex s of the extension or of fractal of volume id.

### normal vertex(s)vol(id)=nx,ny,nz

When normal to vertices are generated, allows change the normal to vertex s of volume id.

### normal vertex(va)vol(a)vertex(vb)vol(b)

Does:
`normal vertex(va)vol(a)=normal vertex(vb)vol(b);`

### normal vertex(s) anc vol(id)

Returns the normal at vertex s of volume id transformed by its matrix.

### normal vertex(s) generate vol(id)

Returns the normal at vertex s of the extension of volume id.
See generate ext vol(id).

## normal vol

### normal vol(id)

Returns the normal property of volume id.

### normal vol(id)=n

Changes this property.

1) If n=1 and if no behind is active, behind facets will not be displayed.
2) If n=-1, normals will be reversed, in this case if no behind is active, front facets will be displayed.