transformationType

complexType · extension complexBaseType · all

Scaling, rotation and translation that place a local coordinate system in the coordinate system of its parent

A transformation places the coordinate system in which a node is defined, e.g. a wing, one of its sections or an element, in the coordinate system of its parent. It scales, rotates and translates everything that is defined in the local coordinate system. The parent of a section or an element is the node that contains it; a component such as a wing can reference its parent with parentUID.

Order of scaling, rotation and translation

A point p given in the local coordinate system lies in the coordinate system of the parent at

P = t + R_x(phi_x) R_y(phi_y) R_z(phi_z) S p

where S scales by the factors sx, sy and sz of scaling, Rx, Ry and Rz rotate by the angles φx, φy and φz of rotation about the x-, y- and z-axis, and t is the translation. The point is first scaled along the local axes, then rotated and finally translated. The translation is therefore neither scaled nor rotated.

Side view of an airfoil in three steps: (a) scaled by 3 in x and z, (b) rotated by 12 degrees about the y-axis, (c) translated by the vector t, each step starting from the result of the previous one

The figure illustrates the three steps for an airfoil in the x-z plane: figure (a) scales it by 3, figure (b) rotates it by 12° about the y-axis, and figure (c) translates it by t. Each panel shows the result of the previous step as a pale contour.

Rotation

The angles are given in degrees and are positive by the right-hand rule about their axis. The coordinate system is rotated first about its x-axis, then about the rotated y-axis y′ and finally about the twice rotated z-axis z″. For a point, this is the same as rotating it first about the z-axis, then about the y-axis and then about the x-axis of the parent coordinate system, which is the order of the equation above.

Rotation of a coordinate system in three steps: (a) about the x-axis by phi_x, (b) about the rotated y-axis y' by phi_y, (c) about the twice rotated z-axis z'' by phi_z, each with the axes before the rotation drawn pale, the axis of the rotation drawn dark and the angle shaded with an arrow for its positive sense

The figure illustrates the sequence for φx = 40°, φy = 35° and φz = 45°. Each panel starts from the axes of the previous panel, drawn pale, and the shaded sector marks the angle of the rotation. The axis of each rotation, drawn dark, keeps its position; the other two axes turn about it in the direction of the arrow.

Nested transformations

Where nodes are nested, e.g. an element in a section of a wing, the transformation of the inner node is applied first and the transformation of its parent after it (see wingType). The scaling and rotation of the parent therefore also scale and rotate the translation of the inner node, whereas the transformation of the inner node does not change its parent.

Components with a parent

A component that references another component with parentUID, e.g. a wing its fuselage, follows only the translation of its parent. With refType="absLocal" of the translation, which is the default, a point of the component lies in the global coordinate system at

P = o_parent + t + R_x(phi_x) R_y(phi_y) R_z(phi_z) S p

where oparent is the origin of the coordinate system of the parent in the global coordinate system. The translation is added along the global axes; the rotation and scaling of the parent do not apply to the component. With refType="absGlobal", the transformation refers to the global coordinate system, as for a component without parent (see the local coordinate systems in cpacsType).

Rules

Example

A vertical tail is a wing whose coordinate system is rotated by 90° about the x-axis, so that its span, the y-axis of the wing, points upwards. Its translation is given relative to the origin of the fuselage it references with parentUID. The scaling has its default and is omitted.

<wing uID="VerticalTail">
    <name>Vertical tail</name>
    <parentUID>Fuselage</parentUID>
    <transformation>
        <rotation>
            <x>90</x>
            <y>0</y>
            <z>0</z>
        </rotation>
        <translation refType="absLocal">
            <x>22</x>
            <y>0</y>
            <z>0.8</z>
        </translation>
    </transformation>
    <sections>
        ...
    </sections>
    <positionings>
        ...
    </positionings>
    <segments>
        ...
    </segments>
</wing>
Vertical tail rotated about the x-axis and translated relative to the fuselage

Attributes

NameTypeConstraintsUseDefaultDescription
@externalDataDirectoryxsd:stringoptionalDirectory of the external data file
@externalDataNodePathxsd:stringoptionalPath of the node inside the external data file
@externalFileNamexsd:stringoptionalName of the external data file
@uIDxsd:IDoptionalUID

Child elements

NameTypeConstraintsOccurrenceHow often the element may appear at this place. The schema writes it as minOccurs and maxOccurs on the declaration.DefaultDescription
allThe children below may appear in any order. Each may appear at most once.
scalingpointType[0..1] optionalScaling factors along the x-, y- and z-axis of the local coordinate system. Either omitted (default 1) or given with all three components.
rotationpointType[0..1] optionalRotation angles in degrees about the x-axis, the rotated y-axis and the twice rotated z-axis, positive by the right-hand rule. Default 0; a missing component is 0.
translationpointAbsRelType[0..1] optionalTranslation of the local coordinate system. Default 0; a missing component is 0. For a component with parentUID, refType states whether the translation is relative to the origin of the parent (absLocal, default) or global (absGlobal).

Used by

In a dataset · 703 paths

In the schema · 23 declarations

TypeName
deckComponentBaseTypetransformation
decksDeckTypetransformation
ductAssemblyTypetransformation
ductTypetransformation
elementGeometryTypetransformation
enginePositionTypetransformation
enginePylonTypetransformation
externalGeometryTypetransformation
fuelTankTypetransformation
fuselageElementTypetransformation
fuselageSectionTypetransformation
fuselageTypetransformation
genericGeometricComponentTypetransformation
landingGearBaseTypetransformation
nacelleSectionTypetransformation
pylonShellTypetransformation
rotorHubHingeTypetransformation
rotorTypetransformation
transmissionTypetransformation
vesselTypetransformation
wingElementTypetransformation
wingSectionTypetransformation
wingTypetransformation