Token导航 LogoToken导航TokenDH.com
3D hand angles plotting logo
设计创作stdio官方级别未说明来源级核验

3D hand angles plotting

MCP Server

一个用于从动作捕捉打字数据中提取右手食指3D关节角度和角速度的生物力学管道,并可视化不同击键是否在关节角度空间中形成可分离的簇。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Python设计图像生成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mehrtam

提供方

mehrtam

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

三维手部角度绘制——右手食指运动学

一个矢量化的生物力学管道,从运动捕捉打字数据中提取右手食指的3D关节角度和角速度,然后可视化不同的击键是否在关节角度空间中形成可分离的簇。

为什么存在

每个按键都是由一个手指轨迹执行的,原则上,这个轨迹应该留下一个不同的生物力学特征——不同的MCP外展 y vs。 n,不同的PIP/DIP屈曲 u vs。 m,不同的角速度分布取决于钥匙所在的行。该管道要求 单峰问题:

*在没有注视和语言模型的情况下,右手食指的运动学能否将击键分为不同的簇?*

回答这个问题是更丰富的多模式文本输入系统的先决条件。如果单手运动学聚类清晰,注视和语言先验是强化;如果他们不这样做,这些模式必须完成大部分工作。

此存储库是对 improved-gaze-typing-prediction,它在手部运动学的基础上添加了凝视和语言先验,用于端到端的角色预测。

管道

flowchart TD
    CSV["Qualisys/QTM CSVs
3D markers · keypress flag · timestamps"] --> Markers["Marker extraction
4 fingers × 4 joints + 2 palm refs"]
    Markers --> Angles["Joint-angle computation
signed MCP abduction · MCP/PIP/DIP flexion"]
    Angles --> Vel["Angular velocity
unwrapped, NaN-safe gradient w.r.t. timestamps"]
    Vel --> Events["Keypress sampling
frames where KeyPressFlag = 1"]
    Events --> Plots["3D cluster visualization
colored by pressed character"]

几何方法

运动学计算是实质性的部分——它不仅仅是绘图:

MCP绑架(签名)。 手掌法线由指数MCP、小MCP和手掌中点形成的三角形计算得出。每个手指的MCP到尖端矢量被投影到手掌平面上。该投影与指数之间的角度——小MCP“条”是幅度;这个标志来自交叉产品与手掌法线的一致性。这产生了一个 *签署* 区分左栏和右栏偏移的外展——分离按键所必需的,如 y 对比 u.

MCP屈曲。 计算为 π/2 − angle(proximal_phalanx, palm_normal)π/2偏移将“与手掌法线的角度”转换为直观的屈曲(中性时为0°,随着手指向手掌卷曲而增加)。

PIP和DIP屈曲。 连续指骨向量之间的节间角度(MCP→PIP, PIP→DIP, DIP→tip).

角速度。 角度的时间梯度,有两个安全步骤:在微分之前展开角度,以防止±180°的环绕膨胀速度,跳过每列有效样本少于3个的行,以避免虚假梯度。

目标密钥

QWERTY右侧索引区域: y、 h,n,u,j,m.

存储库结构

3D_hand_angles_plotting/
├── kinematics_analysis.py    # main pipeline (extraction + plotting)
├── requirements.txt
├── LICENSE                    # MIT
└── README.md

安装

git clone https://github.com/mehrtam/3D_hand_angles_plotting.git
cd 3D_hand_angles_plotting
pip install -r requirements.txt

数据格式

Qualisys运动捕捉会话中的CSV,3D标记列遵循QTM命名约定。必填栏:

  • 食指标记: QTMdc_R_Index_Prox_GLOBAL_X/Y/Z, QTMdc_R_Index_Inter_GLOBAL_X/Y/Z, QTMdc_R_Index_Distal_GLOBAL_X/Y/Z, QTMdc_R_Index_End_GLOBAL_X/Y/Z
  • 其他右手手指 (中、环、小)——相同的命名模式,用于手掌法线计算
  • 手掌参考标记: QTMdc_R_Cin, QTMdc_R_Cout (每个与 _X/Y/Z)
  • 事件列: Pressed_Letter, KeyPressFlag, TimeStamp

用法

# Extract kinematics and render the default 3D MCP-Abd × MCP-Flex × PIP-Flex plot
python kinematics_analysis.py --data /path/to/csvs

# Choose a different plot
python kinematics_analysis.py --data /path/to/csvs --plot flexion_clusters
python kinematics_analysis.py --data /path/to/csvs --plot mcp_kinematics
python kinematics_analysis.py --data /path/to/csvs --plot flex_vel_grid

# Render every plot
python kinematics_analysis.py --data /path/to/csvs --plot all

# Just extract, no plotting (e.g. for downstream ML)
python kinematics_analysis.py --data /path/to/csvs --plot none --save-csv kinematics.csv

可用可视化

绘图键使用
mcp_kinematicsMCP外展×MCP屈曲×MCP外展速度混合角/速度空间
flexion_clustersMCP屈曲×PIP屈曲×DIP屈曲纯屈曲空间
mcp_pip_flexMCP外展×MCP屈曲×PIP屈曲默认——外展与屈曲相结合
flex_vel_grid屈曲角度与屈曲速度,每个关节一个面板(MCP/PIP/DIP)2D相位图
样本集群数字将添加到 figures/ 在未来的承诺中。

技术栈

Python·NumPy(矢量化3D几何)·pandas(每个文件处理)·matplotlib+seaborn(3D散点/面网格)· concurrent.futures (跨工作者的并行CSV处理)

应用程序

基于运动的AR/VR预测分型、可访问性和辅助输入、神经和运动运动解码、运动意图的生物力学和人机交互研究。

引用

如果你在这项工作的基础上,请参考:

伊斯兰教,F.(2025)。 *三维手部角度绘制——用于击键分析的右手食指运动学* \[计算机软件\]。https://github.com/mehrtam/3D_hand_angles_plotting

联系

法蒂玛(Mehrta)伊斯兰教 --伯明翰大学 · 领英

许可证

麻省理工学院——见 许可证.

目录标签

目录标签

Python设计图像生成生物力学本地部署3D可视化动作捕捉打字分析AR/VR输入

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP