3D Frame Transformation with Section Roll Example (Simplified)
- Adisorn O.
- Jun 7
- 2 min read

This document explains the step-by-step procedure to compute the transformation matrix for a 3D frame element that includes a section rotation (angle of roll). This is essential when converting local element forces and displacements to global coordinates in structural finite element analysis.
Step 1: Element Geometry and Local X Axis
We consider a 3D frame element between two nodes:- Node i at (0, 0, 0)- Node j at (1, 1, 1)The local x-axis (longitudinal axis of the element) is defined as the unit vector from node i to node j.
Element vector: [1, 1, 1]
Normalized local x' axis: [0.5774, 0.5774, 0.5774]
Step 2: Compute Preliminary y′ and z′ Axes
To define the transverse axes (local y and z), we need a reference vector that is not colinear with x'. We use the global Z-axis [0, 0, 1] as the reference. We project this onto a plane normal to x' to get an initial z′. Then, we compute y′ as the cross product of z′ and x′ to complete the orthonormal basis.
z' (from projected reference): [-0.4082, -0.4082, 0.8165]
y' (orthogonal via cross product): [-0.7071, 0.7071, 0.0]
Step 3: Apply Section Roll (θ = 90°)
We rotate the cross section about the local x' axis by a roll angle θ = 90°. This affects only the local y′ and z′ axes. The rotation is performed using a standard 2D rotation matrix in the y-z plane:
y'' = cos(θ)·y′ + sin(θ)·z′z'' = -sin(θ)·y′ + cos(θ)·z′
y'' after roll: [-0.4082, -0.4082, 0.8165]
z'' after roll: [0.7071, -0.7071, 0.0]
Step 4: Assemble Final 3x3 Transformation Matrix T
The final local-to-global transformation matrix T is composed of the three local axes after roll:- Row 1: x′ (unchanged)- Row 2: y′′ (after roll)- Row 3: z′′ (after roll)
[0.5774, 0.5774, 0.5774]
[-0.4082, -0.4082, 0.8165]
[0.7071, -0.7071, 0.0000]
This transformation matrix is used to rotate local stiffness matrices and internal forces from the local frame (x', y'', z'') to the global frame (X, Y, Z) in a 3D finite element formulation.