【Python】(SE付)閃光のハサウェイ 劇中UIを再現してみた

【Python】(SE付)閃光のハサウェイ 劇中UIを再現してみた

PythonとPyQt6を使用して、機動戦士ガンダム 閃光のハサウェイに登場する劇中モニターのUIと挙動を再現しました。 戦闘しているのはΞガンダム(UNKNOWN)とグスタフ・カール(FD-03-00)です。 地球連邦軍ダバオ空軍基地の司令室レーダーモニターをイメージしました。 【API連携】 リアルタイム列車運行情報: BeautifulSoupを使用してYahoo!路線情報をスクレイピングし、指定路線の遅延を検知して「CAUTION」アラートを自動発報します 。 気象データ同期: Open-Meteo APIと連携し、大阪エリアの気温・天候・降水確率をリアルタイムに更新・表示しています 。 【視覚表現の技術的実装】 本システムは動画再生ではなく、Python (PyQt6) の描画エンジンによってリアルタイムに演算・レンダリングされています。 1. ベクターグラフィックスによる描画 マフティー機および連邦軍機の描画には、ビットマップ画像ではなく**SVG(スケーラブル・ベクター・グラフィックス)**を採用しました。QSvgRenderer クラスを用いて座標ごとにレンダリングを行うことで、拡大縮小しても輪郭がボヤけない高精細な表示と、ミリ秒単位のフェードイン/アウト処理を実現しています。 2. 慣性制御アルゴリズム モビルスーツ特有の「重量感」と「慣性」を表現するため、単純な直線移動ではなく**ベクトル演算による操舵力**を実装しています。 • 現在ベクトルと目標ベクトルの差分を計算し、毎フレーム 0.05 (5%) ずつ補正を加えることで、急旋回時に流れるような曲線軌道(ドリフト感)を物理的に生成しています。 3. プロシージャル・レーダー描画 レーダーの円弧や回転するスキャンラインは、QPainter の drawPie メソッドを使用し、三角関数 (math.sin, math.cos) で算出された角度と座標に基づいて、フレームごとに扇形を動的に描画しています。これにより、不規則な揺らぎ(Sway)や複数の回転速度を持つ複雑なレーダー動作を、メモリ負荷を抑えつつ再現しました。 4. 動的軌跡レンダリング 機体の後方に伸びる軌跡は、過去数フレーム分の座標履歴を配列として保持し、それを drawPolyline で結ぶことで描画しています。機体の不透明度と連動して軌跡もフェード処理されるため、空間に溶け込むような視覚効果が得られます。 5. タイムキーピング 作戦行動時間(OPERATION TIME)は、OSのシステムクロックからミリ秒単位で現在時刻を取得し、10ms(0.01秒)ごとに日本標準時(JST)を再描画しています。

http://www.nicovideo.jp/watch/sm45908591