4. Coordinate Systems

4.1. CPACS coordinate system

The CPACS coordinate system is the global reference coordinate system of a CPACS dataset. It is a right-handed Cartesian coordinate system with the axes x, y and z. All other coordinate systems are defined relative to it: the aerodynamic coordinate system (section 4.2) and the local coordinate systems of components (section 4.3).

Typically, an aircraft is placed in the CPACS coordinate system so that its axes follow the directions in the table below, often with the origin at the nose. This placement is common practice rather than a requirement: a vehicle that is shifted or rotated against these directions is valid as well. Tools should therefore evaluate the data in the CPACS coordinate system rather than assume a particular body axis, such as a fuselage axis through nose and tail.

Axis Typical direction Description
x to the rear from the nose to the tail
y to the right from the plane of symmetry to the right wing tip
z upwards from the bottom to the top of the aircraft

4.2. Aerodynamic coordinate system

This part is needed for aerodynamic data only; readers working with other data can skip it.

The aerodynamic coefficients of an aircraft, i.e. the force coefficients <cd>, <cs>, <cl> and the moment coefficients <cmd>, <cms>, <cml> of the aerodynamic maps (aeroPerformanceMapType), their increments and their derivatives, are given in the aerodynamic coordinate system. Its axes follow the free stream: the d-axis (drag) points in the direction of the free stream, i.e. to the rear, the l-axis (lift) upwards perpendicular to it, and the s-axis (side force) to the right. The aerodynamic coordinate system is turned against the CPACS coordinate system by the angle of attack α and the sideslip angle β. The coefficients are therefore neither body-fixed nor given along the CPACS axes.

Side view of an airliner seen from the left, with the CPACS axes x (to the rear) and z (upwards) and the aerodynamic axes d and l turned against them by the angle of attack alpha; the free stream comes from below along d, the s-axis points into the drawing plane, and a curved arrow shows the positive pitching moment cms, which raises the nose; the moment reference point is marked on the aircraft

The side view shows an aircraft from the left with the free stream V∞ coming from below. The angle of attack α turns the axes d and l out of the CPACS axes x and z about the y-axis, which coincides with the s-axis here.

Top view of an airliner, with the CPACS axes x (to the rear) and y (to the right wing) and the aerodynamic axes d and s turned against them by the sideslip angle beta; the free stream comes from the right along d, the l-axis points out of the drawing plane, and a curved arrow shows the positive yawing moment cml, which turns the nose to the left; the moment reference point is marked on the fuselage

The top view shows the free stream coming from the right. The sideslip angle β turns the axes d and s out of the CPACS axes x and y about the l-axis, which coincides with the z-axis here.

In the CPACS coordinate system, the unit vectors of the three axes are:

e_d = (cos alpha cos beta, -sin beta, sin alpha cos beta), e_s = (cos alpha sin beta, cos beta, sin alpha sin beta), e_l = (-sin alpha, 0, cos alpha)

Turning the free stream first by β about the l-axis and then by α about the y-axis brings it onto the x-axis. Hence, α is the angle between the x-axis and the projection of the free stream onto the x-z plane, and β is the angle between the free stream and the x-z plane. The l-axis always lies in the x-z plane.

4.3. Local coordinate systems via parentUID and transformation

Geometric components such as fuselages, wings, engines or fuel tanks are each defined in a local coordinate system, which their <transformation> places in the coordinate system of their parent. The parent is set with the optional <parentUID> element, which references the @uID of another component. In this way, the user builds the hierarchy of the vehicle, e.g. attaches an engine to a wing or to the fuselage, instead of having it prescribed by the XML tree.

The equations and an example are given in transformationType. The @refType attribute belongs to the translation, and the following table summarizes where the translation of a component refers to:

<parentUID> not set <parentUID> set
refType="absLocal" (default) CPACS coordinate system origin of the parent
refType="absGlobal" CPACS coordinate system CPACS coordinate system
(a) Side view of an airliner whose components are colored by hierarchy: fuselage, vertical tail and horizontal tail in one color, main wing and engines in another, named hierarchy 1 and hierarchy 2 in a key; (b) the hierarchy as a tree: the fuselage and the main wing have no parentUID and hang directly on the CPACS coordinate system, the vertical tail has parentUID fuselage, the horizontal tail parentUID vertical tail, the engine pylons parentUID main wing, and the engines parentUID engine pylons

The figure shows an aircraft with two hierarchies. The fuselage and the main wing have no <parentUID>, so that each of them is placed directly in the CPACS coordinate system. The vertical tail references the fuselage, the horizontal tail the vertical tail, the engine pylons the main wing, and the engines the engine pylons. Translating the main wing therefore also moves the engine pylons and the engines, but not the fuselage or the tail. Equally, the main wing could reference the fuselage; it would then follow the translation of the fuselage as well.