Rectangular interface

Navigation:  Geometric objects > Interface objects >

Rectangular interface

Previous pageReturn to chapter overviewNext page

Objects of this type are rectangles the geometry of which is defined in the following dialog:

 

geo_rectangularinterface_dialog

 

The meaning of the vectors is exactly the same as explained for rectangular light sources.

The dropdown-box below 'User-defined' let's you select between a perfectly absorbing, perfectly reflecting or a user-defined interface. If you choose 'Dielectric interface' you have to drag&drop an entry of the list of interfaces to the text label to the right of 'Interface:'. In the example shown above the interface named 'air / glass' is selected to cover the rectangle. The interface is simply the boundary between two halfspaces of air and glass, respectively:

 

geo_rectangularinterface_interface

 

In a rendered view this rectangle looks like this (illumination from the air side, refraction into the glass side):

 

geo_rectangularinterface

 

If an interface is a boundary between two different materials (like in the example shown above) you as SPRAY user are responsible for consistency: Under no circumstance should a ray return from the glass side back into air without passing another interface. This is physically impossible, of course, and your model should be setup in a way that unphysical situations are avoided.

The safest and best way to do realistic simulations is to completely enclose a material with interfaces, e.g. to build a closed volume with several rectangular interfaces (see also the pre-defined 'volume objects' below). However, you can shortcut and work with 'open structures' like the interface in the picture above if you are sure that definitely no ray will return once it travels on the glass side.

 

Access by OLE automation

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

 

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

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

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

 

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