なぜ非円形歯車やリンク機構をブラウザで扱うのか

XymuActive を Web で作っている理由

なぜ非円形歯車やリンク機構をブラウザで扱うのか

非円形歯車やリンク機構は、理論的には興味深く、教科書や論文でも数式で説明される対象です。 しかし、これらを実際に設計して試そうとすると、途端にハードルが上がると感じることが多くあるのではないでしょうか。 本記事は、非円形歯車やリンク機構を一度は触ってみたいが、CAD で詰まった人、どうすればいいかわからない人に向けて書いています。

CAD で感じる試行錯誤の重さ

非円形歯車やリンク機構を CAD 上で扱う場合、拘束条件の設定やパラメータの調整が必要になり、少し動きを確かめたいだけでも手間がかかります。

特にリンク機構では、寸法比や関節位置をわずかに変えただけで運動の性質や軌道が大きく変化します。 完成形を正確に設計する段階では CAD は非常に強力ですが、設計の初期段階における試行錯誤では、その「重さ」が負担になる場面も少なくありません。

初期設計で本当に知りたいこと

設計の初期段階で本当に知りたいのは、以下の点です。

これらは詳細設計の前に、直感的に把握したい問いです。 必ずしも正確な図面や寸法が必要なわけではなく、まずは動きを見て判断したい、という場面は多いはずです。 そのような用途では、環境構築や設定に時間を溶かすことなく、URL を開いた瞬間に試行錯誤を始められる。そのスピード感自体が、初期設計においては機能以上の価値になります。

なぜブラウザなのか

XymuActive をブラウザで動作させている理由は、この試すまでのコストを極力下げるためです。

ブラウザという環境は、精密な設計ツールではないかもしれませんが、初期検討や理解のための場としては十分に実用的だと考えています。

技術選定は試行錯誤しやすさから逆算した

XymuActive では、数値計算部分に RustWebAssembly を採用しています。

C++ や Zig の方が純粋な性能面では有利なケースも多いですが、このプロジェクトでは最速であることよりも安全に試行錯誤を繰り返せることを重視しました。

近年は、AI を補助として使いながらコードを書き換え、試し、修正する開発スタイルが一般的になりつつあります。そのような環境では、型やエラーを明確に示してくれることが、不具合の切り分けやデバッグを進めるうえで大きな助けになります。

Rust を選んだ理由は、未定義動作を抱え込むよりも、問題を早い段階で明示してくれる言語特性にあります。

複雑な機構ほど「試すコスト」が効いてくる

テオ・ヤンセン機構のような複雑なリンク機構では、リンク数が多く、閉ループも多いため、寸法比の違いが運動に与える影響を直感的に把握しにくいものです。

このような機構を CAD 上で試行錯誤する場合、拘束条件の再設定や再計算が必要になり、少し動きを見てみるだけでも負担が大きくなることがあります。そのため、動きの理解を目的とした試行錯誤が難しくなりがちです。

XymuActive では、このような複雑な機構についても、まず動きを理解することを目的として、ブラウザ上で即座にシミュレーションできる形を目指しています。

・現在作成中のWebアプリにおけるテオヤンセン機構のシミュレーション。 リンク比率の違いによって、脚先の軌道が大きく変化する。

XymuActive が目指す立ち位置

XymuActive は、CAD ソフトや学術ツールの代替を目指しているわけではありません。

設計の入り口において、思いついた構成をすぐ試し、動きを確認し、次に進むかどうかを判断する。そのための、手軽な実験環境でありたいと考えています。

理論と実装の間にある曖昧さを、実際に触りながら理解する。

そのプロセスを支援することが、このプロジェクトの目的です。

まずは1分で歯車を描いてみてください

非円形歯車やリンク機構の動きを実際に確認してみたい場合は、以下のツールをご利用ください。難しい設定や環境構築は必要ありません。まず動きを確かめるための場として活用してください。

シミュレーションを試す