Scalable’s Control Points are the anchor to achieving simulation-grade accuracy on a display system. These reference points are not ‘boundary points’, rather, they are identifiers used to algorithmically determine the projector locations in 3D space, and subsequently calculate mesh files that perfectly match your screen shape. If your project requires a high level of geometric accuracy, then Control Points are something to consider early in the design process.
The Impact of Screen Types
There are a limited number of pre-defined screen types built into scalable software that do not require measured control point locations. These screen types allow for simplified setup by placing a limited number of points around the screen boundary. Screens that do not require control points are:
- Flat
- Extruded Curve
- Hemisphere
- Articulated
- Caves
For mathematically accurate shapes, or OBJ files that represent a custom geometry screen, it’s important to always consider how the control points will be measured and recalled in the future. Screens that require accurate placement of control points:
- Cylinder Screens
- Toroidal Screens
- Dome-Sections Screens
- OBJ (Custom Geometry Screens)
- Camera-space, placing the points within the camera's FOV (single-camera only).
- Projector-space, placing the points on the screen in the projected image (most common).
The Projector-space method is recommended over camera-space placement as projectors have less of a chance to shift after placement.
- LED Points, physical markers built into the screen for the software to automatically identify.
Requirements/recommendations for placement of control points:
- Each camera must observe at least 6 unique control points on the screen. The use of additional points beyond the minimum (8-10 or more) is highly recommended.
- The control points should be uniformly distributed across the screen rather than clustered in certain areas.
- Control points should be easily identifiable on the screen surface (e.g. use physical seams in the screen, or mark the screen or frame with UV paint dots, laser pointer grid, tiny sharpie dots, etc).
- When using custom control points, the locations of the control points should be in the same coordinate system as the screen and not floating freely in space, i.e. the control points must share a common origin, axes, and scale with the screen geometry or custom screen model.
The tools below are most relevant for advanced screen shapes, whereas flat and simplified screen types can be placed using the human eye without any tools.
TABLE 1. RECOMMENDED TOOLS FOR ADVANCED SCREEN SHAPES
| Placing Control Points | Recalling Control Points |
|---|---|
| Tape Measure and Laser Level | UV Pens |
| Theodolite or Total Station | Identified Marking |
| Laser Array | Laser Array |
| LEDs | LEDs |
Blocked Control Points
There are several features for controlling the behavior of control points.
Custom Control Points
Function: Used to manually specify the location of each control point on the screen in 3D (x,y,z) coordinates or alternatively in the latitude & longitude angle from the eyepoint. When specifying 3D locations,
the positions used must be in the same coordinate system as the screen. For example, when calibrating a cylinder of radius 10 with a center at position (0,0,0), the positions of the control points should appear on the surface of the screen when drawn in the same 3D space.
When to Use:
- When the automatically determined control point positions are deemed insufficient or unachievable.
- When using a custom OBJ screen geometry.
Procedure: Use the Control Point Override panel accessible from the Image Boundary panel.
- For each control point you wish to override, specify its location in (X,Y,Z) or (Latitude, Longitude) coordi-nates.
- Once finished, use the “Save & Close” button
Alternative (Deprecated) Instructions for Producing an Override File:
Place a file named “ControlPoint3DLocationOverride” in the CONFIG folder. The file should be in text format with no extension. The file should contain the x y z locations of each control point in the system, listed in order. For example, in a system with four control points, the file might contain the following 12 numbers (each control point on one line):
0.0 1.0 0.0
1.0 1.0 0.0
0.0 1.0 1.0
1.0 1.0 1.0
The following is an example file from a real system:

Verification: Enter the ImageBoundary panel. The positions of the control points rendered over the 3D screen model should reflect the updated positions in the override file. Verify all points are present on the screen surface as shown in the image below.

Common Errors:
- Simple typos or transposed numbers.
- File is named incorrectly or with an extension.
- The number of control points in the Image Boundary panel has been changed without updating this file.
- The result will only be as accurate as your measurements. We recommend 1mm accuracy or better.
- Make sure your origin and units match those used in your screen parameters or Custom Screen OBJ file.
Ignoring Control Points
Function: Control points can be ignored on a per-point basis through the use of a “Control Point Rejection File”.
When to use: It is sometimes useful to tell the software to ignore certain control points seen by specific cameras. Sometimes a control point can cause errors in the software’s ability to determine a camera’s location relative to the screen. Examples include:
- A control point is located behind an obstruction, causing the point’s position in the camera to be deter-mined using extrapolated instead of measured data.
- The accuracy of the point’s corresponding 3D position on the screen is suspect and you wish to eliminate it from consideration without altering the rest of the system configuration.
Procedure: For each camera, you wish to ignore some subset of control points:
Place a file name CameraControlPointRejection# in the CONFIG folder, where # is the 1-based camera that is referred to. The file should be in text format with no extension. The formatting of the file is the number of control points followed by a sequence of ‘1’s and ‘0’s where a ‘1’ indicates the control point is used and a ‘0’ indicates the control point is rejected for the specified camera. For example, in a system with 6 control points, a file containing the following will ignore the 3rd and 5th control points.