Rectangular light source

Navigation:  Geometric objects > Light sources >

Rectangular light source

Previous pageReturn to chapter overviewNext page

Rectangular light sources have a rectangular shape and emit rays on one side of the rectangle into a cone of directions. The cone angle can be specified by the user. To define the orientation of the rectangle and to set the cone angle the following dialog is used:

 

geo_rectangular_light_source

 

The vector called 'Location' defines the center of the rectangle (the blue arrow in the sketch below). The two other vectors should be perpendicular with respect to each other. They span the rectangle as indicated below by the two red vectors. The cross product of vector 1 and vector 2 gives the surface normal. The cone angle of the emitted radiation is measured from the surface normal. If the option 'Absorbing' is checked the rectangular light source absorbs any ray that hits the rectangle. Otherwise, the rectangle is transparent to radiation.

 

 

Emitted rays are started at a position chosen randomly on the rectangle. Their initial directions are selected randomly as well within the user-defined cone. The surrounding Material and Scatterer are set the same way as for point light sources.

 

The following graph shows the appearance of a rectangular light source in a rendered view, emitting some test rays:

 

render_rectangular_light_source

Access by OLE automation

OLE automation controllers can modfiy a rectangular light source named 'MyName' in the SPRAY object list by the following OLE commands:

 

object_parameter("MyName", "x"): read/write the x-coordinate of the position

object_parameter("MyName", "y"): read/write the y-coordinate of the position

object_parameter("MyName", "z"): read/write the z-coordinate of the position

 

object_parameter("MyName", "x1"): read/write the x-coordinate of vector 1

object_parameter("MyName", "y1"): read/write the y-coordinate of vector 1

object_parameter("MyName", "z1"): read/write the z-coordinate of vector 1

 

object_parameter("MyName", "x2"): read/write the x-coordinate of vector 2

object_parameter("MyName", "y2"): read/write the y-coordinate of vector 2

object_parameter("MyName", "z2"): read/write the z-coordinate of vector 2