3D Gimbal
Visualization3D Gimbal 方块提供基于 WebGL 的实时三维可视化,渲染了三个嵌套的常平架万向节环(Gimbal),能够动态响应输入的横滚(Roll)、俯仰(Pitch)和偏航(Yaw)姿态信号。外环绕垂直轴旋转(偏航/yaw),中环前后倾斜(俯仰/pitch),内环绕纵向轴旋转(横滚/roll)。中心跳动的霓虹核心为机体坐标系提供了直观的空间基准。输入角度的单位为度(°)。
该方块是一个纯粹的可视化接收端(Sink)——没有输出端口,不参与仿真的数值求解运算。在模拟飞行姿态动力学、飞行控制系统、机器人关节或任何需要瞬间把握三维空间朝向的场景中,它能够提供极其直观的空间几何反馈。该方块以浏览器的动画帧率渲染,与仿真的离散采样周期解耦。
输入与输出
| Direction | ID | Label | 类型 | Status |
|---|---|---|---|---|
| → In | roll |
Roll | number | Required |
| → In | pitch |
Pitch | number | Required |
| → In | yaw |
Yaw | number | Required |
使用示例
从飞行动力学模型中可视化飞机姿态
FlightModel → [roll] ─┐
FlightModel → [pitch] ─┤ Gimbal3D
FlightModel → [yaw] ─┘
监测单轴旋转(仅横滚)
SineWave → [roll] ─┐
Constant(0) → [pitch]─┤ Gimbal3D
Constant(0) → [yaw] ─┘
未使用的输入端口可悬空;其默认旋转角度为 0 度。
惯性测量单元(IMU)积分测试
Gyro_X → Integrator → [roll] ─┐
Gyro_Y → Integrator → [pitch] ─┤ Gimbal3D
Gyro_Z → Integrator → [yaw] ─┘说明与最佳实践
- 角度单位:三个输入均按度(°)进行解析。如果您的信号源输出弧度(rad),请乘以
180/π(≈ 57.296)。 - 旋转顺序:偏航(Yaw)绕 Z 轴旋转外环,俯仰(Pitch)绕 X 轴倾斜中环,横滚(Roll)绕 Y 轴旋转内环。这与航空航天中沿常平架机械层次依次应用的 ZXY 欧拉角约定一致。
- 接收端方块(Sink):该方块不产生任何输出信号。不能将其用作信号流链路中的中间节点。
- 渲染引擎:方块底层采用 Three.js 与 WebGL。渲染性能与画布上方块的像素尺寸相关;过大的尺寸可能会增加 GPU 的渲染负荷。
- 悬空端口:任何未连接的端口默认保持为 0 度旋转。仅连接所需的轴向即可,其余环将维持在基准静止位置。
- 默认尺寸:方块初始尺寸为 250×250 px。可以在画布上根据布局自由缩放。
相关模块
- uPlotDisplay:在 3D 视图旁以曲线形式绘制原始的 Roll、Pitch、Yaw 时域信号,用于精确的数值定量分析。
- Display:在不需要三维全景展示时,以数字形式显示单个姿态角。
- Integrator:对陀螺仪角速度信号进行时间积分,以获得输入给本方块的姿态角。