2026年4月12日日曜日

PLYファイル仕様 ポリゴンファイルフォーマット

 

メッシュはポリゴンでできている

メッシュ: 3Dモデリングにおける「メッシュ」は、頂点(ヴァーテックス)、エッジ(エッジ)、フェース(面)のコレクションを指します。これらは3D空間内のオブジェクトの形状を定義します。メッシュは、3Dオブジェクトの全体的な「骨格」を形成し、物体の表面を模擬します。メッシュはポリゴンを使用して作成されます。

画像
https://editor.p5js.org/setapolo/sketches/7idSig9acP

ポリゴン: ポリゴンは平面の多角形で、通常は3Dモデリングにおいては三角形または四角形で表現されます。ポリゴンはメッシュを形成する基本的な要素であり、各ポリゴンはメッシュの一部を形成します。


画像
https://threejs.org/examples/models/ply/ascii/dolphins.ply


画像
画像
https://www.artec3d.com/3d-models/ply

PLYフォーマット(またはポリゴンファイルフォーマット)は、3Dコンピュータグラフィックスで使用されるファイル形式の一つです。このフォーマットは、3Dモデルや3D画像の表現に使用され、主に3Dスキャナからのデータ出力や3Dモデリングソフトウェアで使われます
PLYフォーマットは、頂点、エッジ、面などの幾何学的要素を定義することができます。それぞれの要素に対して、任意の数のプロパティを関連付けることができるのが特徴です。これにより、色情報や透明度、テクスチャ座標など、3Dデータに関連する様々な情報を格納することが可能です。

PLYフォーマットのもう一つの重要な特徴は、その柔軟性です。それぞれの要素(頂点、エッジ、面など)は任意の数と種類のプロパティを持つことができ、これらはファイルのヘッダ部分で定義されます。この柔軟性により、PLYフォーマットはさまざまな種類の3Dデータを表現することができます
ただし、この柔軟性は一方で、ソフトウェア間の互換性の問題を引き起こすこともあります。あるソフトウェアがPLYフォーマットで使用する特定のプロパティを、別のソフトウェアが認識しない場合があります。そのため、異なるソフトウェア間で3Dデータを共有する際には注意が必要です。


objから進化したPLY

ファイル形式はASCIIとバイナリの2種類がある。

https://en.wikipedia.org/wiki/PLY_(file_format)

Under Creative Commons license v4, attribution to Artec 3D and a link back to our website is all you need to use this 3D model for free.

https://www.artec3d.com/3d-models/axle-shaft

ポリゴンメッシュについて少し調べてみる。

頂点 (vertex) は、色、法線ベクトル、テクスチャ座標などの他の情報と共に位置を表す。辺 (edge) は2つの頂点間の接続のことである。面 (face) とは閉じられた辺の集合であり、三角形の面は3つの辺を持ち、四角形の面は4つの辺を持つ。ポリゴンは面の集合である。

ふまえてこの3dプリントみたいなイルカとミカエルを見ると感慨深い

画像1
みてますよー

マテリアルは、レンダリング時にメッシュの異なる部分が異なるシェーダーを使用できるように定義される


UV座標とテクスチャ

ほとんどのメッシュフォーマットは、メッシュの異なるポリゴンに適用する2次元テクスチャマップのどの部分を示すために、メッシュを "展開 "した別の2次元表現であるUV座標の形もサポートしています。

「どのように印刷できるか」という観点でまずみて、スケルタルアニメーションなどのデータの関係性を見た方が分かりやすそうだ。そして、印刷できない効果はパーティクルシステムやその他のしくみでゲームエンジンなどがアニメーションとして解決してくれる。シェーダー寄りになっていく

ポリゴンメッシュとお近づきになれたのでPlyのデモを動かす

PLYはPolygon File FormatもしくはStanford Triangle Formatとして知られているコンピュータファイル形式である。これは原則として3Dスキャナからの3次元データを格納するために設計された。データ格納形式は、名目上平面ポリゴンのリストとして、単独オブジェクトの比較的簡単な記述をサポートしている。

まさにポリゴンの申し子みたいなフォーマットPLY

プロパティ、エレメント、グルーピングがついてobjから進化したPLY

PLY形式は90年代半ばにスタンフォードグラフィクス研究所のGreg Turk(英語版)らによってMarc Levoyの指導の下に開発された。その設計はWavefront .objファイルにインスパイアされたものの、Obj形式は任意のプロパティ及びグルーピングの拡張性を欠いていたため、頂点、面、構成データ、他のグルーピングの観念を一般化して"property"及び"element"キーワードが案出された。

と、Objを軽くディスってPLYの紹介は終わる。


画像
https://threejs.org/examples/models/ply/ascii/dolphins.ply

pythonからplyファイル作る、ライブラリなしで


画像


画像


画像

🧠強化学習のグリッドワールドのしくみについて教えてください

 機械学習、特に強化学習において、グリッドワールドはエージェントが行動を学習するためのシンプルな環境としてよく使用されます。この環境は、様々な状態を持つ格子状の世界で構成され、エージェントは報酬を最大化するような行動を学習することが目的です。以下、グリッドワールドの基本的な構成要素としくみについて説明します。

グリッドワールドの構成要素

  1. エージェント(Agent): 学習する主体であり、グリッドワールド内で行動します。

  2. 状態(State): グリッド内の各セルは異なる状態を表します。エージェントの現在位置は現在の状態を示します。

  3. 行動(Action): エージェントが取り得る行動(例: 上に移動、下に移動、左に移動、右に移動)。

  4. 報酬(Reward): 特定の行動を取った結果としてエージェントが受け取る報酬(またはペナルティ)。目標に到達すると正の報酬が、障害物にぶつかると負の報酬(またはペナルティ)が与えられることが一般的です。

  5. 方針(Policy): 現在の状態からどの行動を選択するかを定義するエージェントの戦略です。

  6. 目標(Goal): エージェントが到達しようとする特定の状態。目標に到達することで、エージェントは報酬を得ます。

グリッドワールドのしくみ

  1. 初期化: エージェントはグリッドのスタート位置に配置されます。グリッドのサイズ、目標の位置、障害物の位置などが設定されます。

  2. エピソード: エージェントはスタート位置から始めて、目標位置に到達するか、あるいは終了条件を満たすまで行動を繰り返します。各ステップでエージェントは状態を観察し、方針に従って行動を選択し、行動の結果として環境から報酬を受け取ります。

  3. 学習: エージェントは経験を通じて、報酬を最大化するための方針を改善します。これは、Q学習、SARSA、深層Qネットワーク(DQN)などの強化学習アルゴリズムを使用して行われます。

  4. 評価: 学習が進むにつれて、エージェントはより効果的に目標に到達することができるようになります。エージェントの性能は、エピソードを通じて獲得した総報酬で評価されます。

グリッドワールドは、エージェントが直面する決定問題を抽象化し、強化学習アルゴリズムの基本原理を理解するための簡単なモデルを提供します。実際の応用では、より複雑な環境やアルゴリズムが用いられますが、グリッドワールドは強化学習の概念を学ぶのに非常に役立つ入門例です。


画像
https://nowke.github.io/rlviz/


画像
https://people.cs.umu.se/~tkampik/demos/arena/


画像
https://github.com/jaz303/gridworld


画像
https://www.reddit.com/r/reinforcementlearning/comments/15z4k7w/simple_gridworld_gymnasium_environment/


2026年4月11日土曜日

イオンクラフト(リフター)は高電圧で空気を電離し、イオン風の反作用で浮上・推進する装置。静音・無燃料だが効率と高電圧制御に課題がある。

 イオンクラフト(Ionocraft)は、イオン推進技術を利用した飛行装置であり、主に電圧差を利用して周囲の空気を電離し、生成されたイオンを移動させることで推進力を得ます。以下は、イオンクラフトの基本的な原理と特徴についての詳細です。

基本原理

イオンクラフトは、バイポーラ効果またはエレクトロハイドロダイナミクス(EHD)の原理に基づいています。この技術は、高電圧電極(エミッタ)と低電圧電極(コレクタ)を使用します。

  1. イオン化:エミッタに高電圧を印加すると、その周囲の空気分子が電離され、正または負のイオンが生成されます。

  2. 移動:生成されたイオンは、電場の影響を受けてコレクタに向かって移動します。この過程でイオンは空気分子と衝突し、結果として空気分子が動かされます。

  3. 推力:このイオンの移動に伴う空気分子の移動が推進力を生み出します。この推進力を利用して、イオンクラフトは浮上や移動を行います。

特徴

  • 静音性:イオンクラフトは機械的な部品を使わないため、非常に静かに動作します。

  • 振動が少ない:回転部品がないため、振動がほとんどありません。

  • 無燃料:化学燃料を使用せず、電力のみを使用します。

  • 軽量:構造がシンプルで軽量なため、小型のデバイスやドローンとしての応用が期待されます。

応用例

  • 小型ドローン:静音性と軽量性を活かした小型の飛行デバイスとしての利用が考えられます。

  • 宇宙探査:将来的には、無燃料で長時間の飛行が可能なため、宇宙探査機の推進システムとしての利用も期待されています。

  • 空気浄化:イオンの生成を利用した空気浄化装置としての応用も考えられます。

課題

  • 効率:現在の技術では、推進力の効率が低く、大規模な飛行にはまだ課題があります。

  • 高電圧の制御:安全性と制御のために高電圧の安定した供給と管理が必要です。

イオンクラフトはまだ研究段階にある技術ですが、その革新的な原理と特徴から将来の多様な応用が期待されています。

エレクトロハイドロダイナミクス(EHD、Electrohydrodynamics)の原理は、電場と流体(通常は気体または液体)の相互作用に基づいています。この技術は、電場を利用して流体内の荷電粒子(イオン)を動かし、その運動によって流体全体を動かすことを目的としています。以下は、EHDの基本的な原理です。

基本原理

  1. 電場の生成:高電圧を印加して電場を生成します。これには、高電圧電源と適切な形状の電極(エミッタとコレクタ)が必要です。

  2. イオン化:エミッタ電極に高電圧を印加すると、その周囲の流体(例えば空気)が電離され、正または負のイオンが生成されます。電離は通常、エミッタの先端や鋭い部分で発生しやすいです。

  3. イオンの移動:生成されたイオンは、エミッタからコレクタに向かって電場に沿って移動します。この際、イオンは流体分子と衝突し、その運動エネルギーを流体に伝えます。

  4. 流体の推進:イオンが流体分子に衝突することで、流体全体が動きます。これにより、流体内に推進力が生まれます。この推進力を利用して、流体を特定の方向に移動させることができます。

応用例

  • イオンクラフト:小型の飛行装置として、イオンの移動による推進力を利用して浮上や移動を行います。

  • 冷却装置:EHDを利用して流体を動かし、熱を効果的に移動させることができます。これは電子機器の冷却に役立ちます。

  • 空気浄化:イオンの生成と移動を利用して、空気中の微粒子を捕捉し、浄化する装置として利用できます。

特徴

  • 静音性:機械的な部品を使わないため、非常に静かに動作します。

  • 振動が少ない:回転部品がないため、振動がほとんどありません。

  • 無燃料:化学燃料を使用せず、電力のみを使用します。

エレクトロハイドロダイナミクスは、電場と流体の相互作用を利用して推進力や流体の移動を実現する技術であり、その応用範囲は広がりつつあります。