BlockWerk 文档
🧊

3D Gimbal

Visualization

3D Gimbal 方块提供基于 WebGL 的实时三维可视化,渲染了三个嵌套的常平架万向节环(Gimbal),能够动态响应输入的横滚(Roll)、俯仰(Pitch)和偏航(Yaw)姿态信号。外环绕垂直轴旋转(偏航/yaw),中环前后倾斜(俯仰/pitch),内环绕纵向轴旋转(横滚/roll)。中心跳动的霓虹核心为机体坐标系提供了直观的空间基准。输入角度的单位为度(°)。

该方块是一个纯粹的可视化接收端(Sink)——没有输出端口,不参与仿真的数值求解运算。在模拟飞行姿态动力学、飞行控制系统、机器人关节或任何需要瞬间把握三维空间朝向的场景中,它能够提供极其直观的空间几何反馈。该方块以浏览器的动画帧率渲染,与仿真的离散采样周期解耦。

在 BlockWerk 中仿真

浏览器即开即用的交互式仿真环境 — 无需安装,由 WebAssembly 强力驱动。

在 BlockWerk 中仿真 →

输入与输出

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:对陀螺仪角速度信号进行时间积分,以获得输入给本方块的姿态角。