🚛 T3_Uty1トラック軌跡計算.vb - 詳細説明

📋 概要

このファイルは、トラック(大型車両・セミトレーラー)の旋回軌跡計算を行うユーティリティソフトウェアです。トラックが旋回する際の最小通路幅、クリアランス、車体の各部位の座標を精密に計算し、視覚的に軌跡図を描画します。

主な用途:

🔧 依存関係

Imports OfficeOpenXml

EPPlusライブラリを使用してExcelファイルからトラック仕様データを読み込みます。

🎯 主要機能

1. トラック軌跡計算機能

2. 三角関数による精密計算

3. 視覚化機能

📊 対応車種

車種 説明 用途
2T 標準キャブ 標準ボディ 小型トラック 市街地配送、小規模物流
2T ワイドキャブ ロングボディ 小型トラック(長尺) 長尺物・多積載配送
2T ワイドキャブ 超ロングボディ 小型トラック(最長) 大容量配送
4T カーゴ ワイド フルキャブ 中型トラック(ワイド) 中距離輸送
4T カーゴ 標準幅 フルキャブ 中型トラック(標準) 一般的な中型配送
16T カーゴ 6×2 大型トラック(3軸) 大量輸送
15T カーゴ 8×4 大型トラック(4軸) 重量物輸送
11T カーゴ 前二軸 大型トラック(前二軸) 特殊重量物
20fコンテナ車 20フィートコンテナ専用 国際物流・港湾輸送
40fコンテナ車 40フィートコンテナ専用 大型国際物流

🔍 主要メソッド詳細

1. フォームロード処理

Private Sub トラック軌跡図_Load(sender As Object, e As EventArgs)

初期化処理:

  1. 使用期限と著作権の表示
  2. 必要ファイルの存在確認
  3. トラック寸法データの読み込み
  4. セミトレーラー寸法データの読み込み
  5. 車種選択コンボボックスの設定
  6. 画面規定値の設定
  7. 三角関数計算用の初期設定

2. 計算開始処理

Private Sub 計算開始Bt_Click_1(sender As Object, e As EventArgs)

計算フロー:

  1. 設定値の適用(必要に応じて)
  2. 画面データの読み込み
  3. トラック車体座標の計算
  4. クリアランスの計算
  5. トラック縮尺寸法の調整
  6. 旋回前の停車位置計算
  7. 直進旋回軌跡の描画
  8. 視覚的フィードバック(背景色変更)

3. トラック車体座標計算

Private Sub トラック車体座標計算()

計算項目:

計算基準: 車両ピッチ(ホイールベース)を基準に、各部位の相対位置を三角関数で算出します。

4. クリアランス計算

Private Sub クリアランス計算()

計算内容:

総通路幅 = 外側旋回半径 - 内側旋回半径 + 安全マージン

5. 軌跡図描画

Private Sub トラック軌跡図_直進旋回()

描画要素:

描画技術: Graphics.DrawLine, DrawRectangle, DrawEllipse, DrawArc等を使用して軌跡を描画します。

📐 三角関数計算

計算の基礎理論

トラック軌跡計算では、以下の三角関数を多用します:

基本三角関数

sin(θ) = 対辺 / 斜辺
cos(θ) = 隣辺 / 斜辺
tan(θ) = 対辺 / 隣辺

逆三角関数

θ = arcsin(y / r) ← y と r から角度を求める
θ = arccos(x / r) ← x と r から角度を求める
θ = arctan(y / x) ← y と x から角度を求める

三平方の定理

r² = x² + y²
x = √(r² - y²)
y = √(r² - x²)

実装されている計算関数

関数名 計算内容 戻り値
X座標計算1(角度, r) 角度とrからx座標を計算 x = cos(ラジアン) × r
X座標計算3(r, y) rとyからx座標を計算 x = √(r² - y²)
Y座標計算1(角度, r) 角度とrからy座標を計算 y = sin(ラジアン) × r
R座標計算3(y, x) xとyから半径rを計算 r = √(x² + y²)
ラジアン計算1(r, y) rとyからラジアンを計算 θ = arcsin(y / r)
ラジアン計算4(角度) 角度からラジアンを計算 ラジアン = (π / 180) × 角度
角度計算(ラジアン) ラジアンから角度を計算 角度 = (180 / π) × ラジアン

三角関数計算の実行

Private Sub 三角関数計算()

計算手順:

  1. P1点の計算(第1象限)
    • rとyからxを算出
    • ラジアンと角度を算出
  2. 着床時P1の計算(第2象限)
    • 180° - 角度で着床時角度を算出
    • 第2象限ではx座標が負になる
  3. P2点の計算(着床時 -15°)
    • 着床角度から15°減算
    • 新しい座標を算出
  4. P3点の計算(移動後の位置)
    • P1からのオフセット(xs, ys)を加算
    • 新しい半径と角度を算出
  5. P4点の計算(P3から -15°)
    • P3角度から15°減算
    • 最終座標を算出
象限の考慮: 第1象限と第2象限では座標の符号が異なるため、計算時に注意が必要です。

📥 データ読み込み

1. トラック寸法データ

Private Sub トラック寸法読込()

読み込みデータ:

ファイルパス: Dat保存Path & "\トラック軌跡計算\トラック寸法.xlsx"
シート名: トラック軌跡図データ
DataGridView: トラック寸法Dgv

2. セミトレーラー寸法データ

Private Sub セミトレーラー寸法読込()

読み込みデータ:

ファイルパス: Dat保存Path & "\トラック軌跡計算\トラック寸法.xlsx"
シート名: セミトレーラー軌跡図データ
DataGridView: セミトレーラー寸法Dgv

🎨 UI コンポーネント

入力パラメータ

コントロール 説明 用途
車種選択Cb 車種選択コンボボックス 計算対象のトラック選択
中心座標XTb, YTb 旋回中心の座標 描画位置の調整
車両ピッチTb ホイールベース 旋回計算の基準値
倍率Tb 図面の縮尺 描画サイズの調整
直進Tb 直進距離 旋回前の直進長さ

三角関数計算用入力

コントロール 説明
半計rTb 半径(斜辺)
yTb y座標(対辺)
xsTb, ysTb 移動距離(オフセット)
斜辺Tb 斜辺の長さ
対辺Tb 対辺の長さ
隣辺Tb 隣辺の長さ

RadioButton(表示切替)

PictureBox(画像表示)

DataGridView

ボタン

🖼️ 画像リソース

説明図として以下のJPG画像を使用します:

ファイル名 説明
車体寸法図2.jpg トラック車体の各部寸法説明図
トラック旋回通路幅1.jpg 旋回通路幅の基本説明図
トラック旋回通路幅2.jpg 旋回通路幅の詳細説明図
トラック旋回通路幅2-1.jpg クリアランス全体図
トラック旋回通路幅2-2.jpg クリアランス拡大図
画像フォルダ: MyPath & "\トラック軌跡図Jpg"
表示方法: PictureBox.BackgroundImageLayout = ImageLayout.Zoom で画像を表示します。

📐 計算例:旋回通路幅の算出

ステップ1: 前輪旋回半径

前輪旋回半径 = 最小回転半径

ステップ2: 後輪旋回半径

後輪旋回半径 = √(前輪旋回半径² - 車両ピッチ²)

ステップ3: 車体外側点の旋回半径

外側旋回半径 = √((前輪旋回半径 + 車幅/2)² + 前オーバーハング²)

ステップ4: 車体内側点の旋回半径

内側旋回半径 = 後輪旋回半径 - 車幅/2

ステップ5: 必要通路幅

必要通路幅 = 外側旋回半径 - 内側旋回半径
安全マージン: 実際の設計では、計算値に10~20%の安全マージンを加算することが推奨されます。

🔍 特殊処理

1. 縮尺調整

Private Sub トラック縮尺寸法()

描画キャンバスのサイズに合わせて、トラック寸法を縮尺します。倍率パラメータで調整可能です。

2. 車種別規定値設定

Private Sub 画面規定設定()

選択された車種に応じて、最適な描画パラメータ(中心座標、倍率、直進距離)を自動設定します。

車種 倍率 直進距離 車両ピッチ
2T 標準 0.02 1600mm 3000mm
2T ロング 0.02 2900mm 3000mm
4T カーゴ 0.02 4250~4500mm 3000mm
大型トラック 0.02 5450~5600mm 4000mm

3. 旋回前停車位置計算

Private Sub トラック軌跡図_旋回前の停車位置()

旋回開始前のトラック停車位置を計算し、直進状態の車体を描画します。

🎯 視覚的フィードバック

GroupBox背景色の変更

計算実行時に、GroupBox4の背景色が交互に変化します:

If 計算開始_Chk2 = 0 Then
GroupBox4.BackColor = Color.LightYellow
計算開始_Chk2 = 1
Else
GroupBox4.BackColor = Color.PowderBlue
計算開始_Chk2 = 0
End If

🔧 DataGridView設定

共通設定

セルスタイル

スタイル 設定
cstyle1 Alignment = MiddleCenter
cstyle2 Alignment = MiddleRight, Format = "N0"
cstyle3 Alignment = MiddleRight, Format = "N1"

列幅設定

トラック寸法Dgv:
- 列1(車種名): 幅 110px
- その他の列: 幅 50px

📊 三角関数表の生成

Private Sub 三角関数表()

三角関数の計算結果を一覧表として表示します:

表示項目

工学計算の検証や、学習用途に活用できます。

📐 実装されている三角関数メソッド

座標計算関数

メソッド 説明 数式
X座標計算1(角度, r) 角度と半径からX座標 x = r × cos(角度のラジアン)
X座標計算3(r, y) 半径とY座標からX座標 x = √(r² - y²)
Y座標計算1(角度, r) 角度と半径からY座標 y = r × sin(角度のラジアン)
R座標計算3(y, x) X座標とY座標から半径 r = √(x² + y²)

角度・ラジアン変換関数

メソッド 説明 数式
ラジアン計算1(r, y) 半径とY座標からラジアン θ = arcsin(y / r)
ラジアン計算4(角度) 角度からラジアン ラジアン = 角度 × π / 180
角度計算(ラジアン) ラジアンから角度 角度 = ラジアン × 180 / π

🎨 グラフィックス描画

使用する描画メソッド

Penの設定

Dim BPen As New Pen(Color.Black, 1) ' 黒色、線幅1
Dim RPen As New Pen(Color.Red, 2) ' 赤色、線幅2
Dim BPen_Dash As New Pen(Color.Blue, 1)
BPen_Dash.DashStyle = DashStyle.Dash ' 破線

描画キャンバス

Dim g As Graphics = 回転Pb.CreateGraphics()
g.Clear(回転Pb.BackColor) ' キャンバスをクリア
' 描画処理
g.Dispose() ' リソース解放

🔄 処理フロー全体図

┌─────────────────────────────────────┐
│   フォームロード                      │
└──────────┬──────────────────────────┘
		   │
		   ├→ 使用期限・著作権表示
		   ├→ ファイル確認
		   ├→ トラック寸法読込
		   ├→ セミトレーラー寸法読込
		   ├→ 車種選択Cb設定
		   ├→ 画面規定設定
		   └→ 三角関数用初期設定
		   │
		   ▼
┌─────────────────────────────────────┐
│   計算開始ボタンクリック              │
└──────────┬──────────────────────────┘
		   │
		   ├→ 設定値適用(必要時)
		   ├→ 画面データ読込
		   │
		   ▼
┌─────────────────────────────────────┐
│   トラック車体座標計算                │
└──────────┬──────────────────────────┘
		   │
		   ├─ 前輪中心座標
		   ├─ 後輪中心座標
		   ├─ 車両前端座標
		   ├─ 車両後端座標
		   ├─ 車体四隅座標
		   └─ 最小回転半径
		   │
		   ▼
┌─────────────────────────────────────┐
│   クリアランス計算                    │
└──────────┬──────────────────────────┘
		   │
		   ├─ 内側クリアランス
		   ├─ 外側クリアランス
		   ├─ 総通路幅
		   ├─ 前方オーバーハング
		   └─ 後方オーバーハング
		   │
		   ▼
┌─────────────────────────────────────┐
│   縮尺調整                            │
└──────────┬──────────────────────────┘
		   │
		   ▼
┌─────────────────────────────────────┐
│   旋回前停車位置計算                  │
└──────────┬──────────────────────────┘
		   │
		   ▼
┌─────────────────────────────────────┐
│   直進旋回軌跡描画                    │
└──────────┬──────────────────────────┘
		   │
		   ├─ 車体外形描画
		   ├─ 前輪軌跡描画
		   ├─ 後輪軌跡描画
		   ├─ 車体四隅軌跡描画
		   └─ 通路幅表示
			

💡 使用シーン

1. 物流施設設計

2. 工場構内設計

3. 駐車場設計

4. 教育・トレーニング

⚠️ 注意事項

計算精度について

安全マージン

データの更新

トラック寸法データは、最新の車両仕様に合わせて定期的な更新が必要です。

🔗 関連モジュール

このユーティリティは、以下のTera計算システムと連携可能です:

📚 まとめ

T3_Uty1トラック軌跡計算.vb は、トラックの旋回軌跡を精密に計算・可視化する専門ツールです。

主な特徴

適用分野

重要: 計算結果を実際の設計に適用する際は、必ず安全マージンを加算し、専門家の確認を受けてください。

📞 サポート情報

ドキュメント作成日: 自動生成

対象ファイル: T3_Uty1トラック軌跡計算.vb

言語: Visual Basic .NET (VB.NET)

総行数: 1398行

主要技術: Windows Forms, Graphics描画, 三角関数計算, EPPlus