Skip to content

ken-25/RSM_Checker

避雷設備 回転球体法簡易検討3D可視化ツール (Rolling Sphere Method Checker)

License Contributing Standard Technology Platform

避雷設備設計の「見えない安心」を可視化する

本ツールは、避雷設備設計における**回転球体法(Rolling Sphere Method)**に基づく保護範囲の検討を、Webブラウザ上で簡易的に行える3Dシミュレーションツールです。 JIS A 4201:2003 に準拠した保護レベル(球体半径)を設定し、複数の受雷部(突針)の配置に対して、球体がどのように接触するかを立体的に可視化します。

https://ken-25.github.io/RSM_Checker/


📑 目次


🚀 主な機能 (Key Features)

機能 詳細
リアルタイム3D可視化 Three.jsを採用し、受雷部配置と回転球体の関係をリアルタイムにレンダリングします。
JIS規格準拠の保護レベル 保護レベル I~IV(半径 20m, 30m, 45m, 60m)の即時切り替えに対応しています。
柔軟な受雷部設定 最大4本までの受雷部(突針)に対し、任意の3次元座標(X, Y, 高さZ)を設定可能。
自動判定・最適解算出 設定された受雷部に対し、回転球体がどのように接するかを自動計算し、最適解を導き出します。
インストール不要 モダンなWebブラウザさえあれば、専用ソフトのインストールなしですぐに利用可能です。

💡 利用シーン

  • 設計初期のスタディ: 大まかな配置案を素早く検証し、手戻りを防ぐ。
  • プレゼンテーション: 平面図では伝わりにくい「なぜこの高さが必要か」を3Dで視覚的に説明。
  • 教育・研修: 回転球体法の幾何学的な意味合いを直感的に理解するための教材として。
  • 3DCADへの配置補助: 球体の中心座標が分かるため、手計算の必要なく3DCADに球体を配置可能。

🎮 操作方法 (Usage)

  1. 条件設定 (Settings)

    • 画面左側のパネルより、対象となる保護レベルを選択してください。
  2. 受雷部配置 (Pin Configuration)

    • 各受雷部(Pin 1〜4)の有効化チェックボックスをONにします。
    • 座標を入力します。
      • X, Y: 平面位置 (m)
      • 高さ Z: 地面からの高さ (m)
  3. 結果確認 (Result)

    • 判定OK: すべての有効な受雷部に球体が接触可能な場合、3Dビューに緑色の球体が表示されます。
    • 数値確認: 球体の最下点から地面までの距離(クリアランス)や、球体中心座標がパネルに表示されます。
    • 判定NG: 配置が広すぎるなど、球体がピンに届かない場合は警告メッセージが表示され、再設定を促します。

⚙️ 技術仕様 (Technical Specs)

座標系の取り扱い

本ツールでは、ユーザーインターフェース(建築業界標準)と内部計算エンジン(3Dグラフィックス標準)の間で座標系の変換を行っています。

項目 X軸 Y軸 Z軸 備考
UI表示 (建築座標) 横方向 奥行き 高さ 一般的なCAD等の座標系
内部計算 (Three.js) 横方向 高さ 奥行き WebGL/Three.jsの標準座標系

⚠️ Note: ソースコードを参照・編集する際は、この座標変換(Y-up vs Z-up)にご注意ください。

判定アルゴリズム

与えられた点集合(受雷部先端)に対して、半径 $R$ の球体が接する位置を幾何学的に算出しています。

  1. 組み合わせ探索: 有効な受雷部から、1点〜3点のすべての組み合わせを生成。
  2. 球体中心の導出:
    • 3点支持: 外接円中心からの法線ベクトル計算。
    • 2点支持: 2点間の垂直二等分面上の軌跡計算。
    • 1点支持: 鉛直上方へのオフセット。
    • 4点以上の支持: 3点の組み合わせで定義される球体に対し、残りの点がすべて球面上にあるかを検証することで解を導出します。
  3. 妥当性検証: 算出された球体に対し、「他の全ての有効な受雷部が球面上(または内部の許容誤差内)にあるか」を検証。
  4. 最適解の選定: 複数の成立解がある場合、「より多くの点で支持されている」「より高い位置にある」解を優先して採用。

🛠 開発環境・ライブラリ

本プロジェクトは以下のオープンソース技術によって支えられています。

  • Three.js (R142) - 3D Graphics Engine
  • Vanilla JavaScript (ES6+) - No heavy frameworks, purely native performance.

🤝 貢献・コミュニティ (Community & Contribution)

本プロジェクトへの貢献を歓迎します!バグレポート、機能提案、プルリクエストなど、どのような形でも大歓迎です。

  • CONTRIBUTING.md: 開発への参加方法についてはこちらをご覧ください。
  • CODE_OF_CONDUCT.md: コミュニティの行動規範を定義しています。
  • SECURITY.md: セキュリティ問題の報告方法についてはこちらをご確認ください。

📄 ライセンス (License)

本プロジェクトは MIT License の下で公開されています。


Rolling Sphere Method Checker Project

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors