9.5.6 Heading Scale |
The computation of the change of heading is essential for features like Sky Writing and Variable Poly Delay. With the HeadingScale parameter it is possible to manipulate the vectors that are used to determine the change of heading and Sky Writing extension vectors.
ListAPI Method | SP-ICE-3 Command |
---|---|
The HeadingScale parameter is used to scale heading vectors.
Heading vectors are the imagined vectors that represent what direction the scan head is moving in. The concept of heading vectors is used to determine how big the change of heading is, i.e. how much the scan head has to change directions between two consecutive movement commands. The heading vectors also determine the direction of Sky Writing extension vectors.
The HeadingScale parameter defines a scaling factor which is applied to each individual coordinate of the heading vectors. The property consists of three parameters - scaling X, Y and Z - which determine the influence of each individual field axis on the final heading vectors.
From the three scaling factors a scaling matrix H is generated which has the scaling factors on its diagonal. Each heading vector n is multiplied by the scaling matrix H resulting in new heading vectors Hn. Decisions based on change of heading are now exlusively using the scaled heading vectors Hn.
By default the HeadingScale factors are equal to 1 making the scaling matrix H an identity matrix.
Whenever Sky Writing is applied the extension vectors are calculated as follows.
ExtensionVector = ExtensionTime · MarkSpeed · Hn
The heading scaling can be used to reduce the impact of some axes on Sky Writing and variable poly delay. A scaling of (1, 1, 0) for example has the effect that the Z direction will be completely disregarded for skywriting and variable poly delay. By choosing a value between 0 and 1 it is possible to control to what extend a certain axis is taken into consideration.
It is recommended to not set any of the scaling factors to exactly 0 and instead choose a positive value close to 0 such as 0.01. Setting a scaling factor to exactly 0 will make it impossible to decide wether or not to apply Sky Writing when the scan head moves along the corresponding axis. This leads to undefined behavior.
Note that the extension vectors are always executed within the given ExtensionTime even when they are scaled. This implies that an extension vector that is made shorter will be executed faster than its unscaled version and vice versa an elongated extension vector will be executed slower than its original vector.
Below is an example of how Sky Writing extension vectors change with a heading scaling of (1, 0.5, 0.5).