2026年4月12日日曜日
💎APLとj言語の違い
応用数学の多く、特に旧来の学問分野を横断する最近のコンピュータ関連分野は、適切なプログラミング言語の欠如に悩まされています。適切なプログラミング言語の記述力と分析力は、その習得に必要な多大な努力に十分見合うものであるというのが、本書の中心的なテーゼである。この論文は、まず言語全体を紹介し、その後の章でいくつかの主要なトピックに適用することで展開されます。
これらの応用分野は、主にその本質的な興味とこれまでに扱われていないことから選ばれていますが、言語の普遍性やその他の側面を示すためにも設計されています。例えば、第2章のマイクロプログラミングは、言語の分割可能性、つまり、完全な言語のほんの一部を使って限定された領域を処理する能力を示している。第6章(ソート)では、比較的複雑で詳細なテーマを短い時間でまとめ上げる能力が示されている。第7章(論理計算)では、言語の形式的な操作性と、理論的な作業におけるその有用性を強調している。
Chapter2はここ
プログラムステートメントとは、指定されたオペランドに対する有限の演算によって、ある量を指定することである。
J言語はAPLとは異なるいくつかの概念を導入しています。ランク、トレイン、フォークは、J言語の中で特に注目すべき特徴の一部です。
ランク:
J言語では「ランク」という概念があり、これは多次元配列の各次元に操作をどのように適用するかを制御するためのものです。ランクを明示的に操作することで、配列の特定の次元に関数を適用することができます。
トレインとフォーク:
J言語のトレインは、複数の関数や操作を組み合わせて新しい関数を作成する方法の一つです。
3つの関数が連なるトレインを「フォーク」と呼びます。これは中央の関数が、左右の関数の結果を引数として受け取り、その結果を返すものです。例えば、`+ % #`は合計 (`+`) 除算 (`%`) アイテムの数 (`#`) のフォークであり、平均を計算します。
PLYファイル仕様 ポリゴンファイルフォーマット
メッシュはポリゴンでできている
メッシュ: 3Dモデリングにおける「メッシュ」は、頂点(ヴァーテックス)、エッジ(エッジ)、フェース(面)のコレクションを指します。これらは3D空間内のオブジェクトの形状を定義します。メッシュは、3Dオブジェクトの全体的な「骨格」を形成し、物体の表面を模擬します。メッシュはポリゴンを使用して作成されます。

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



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.
ポリゴンメッシュについて少し調べてみる。
頂点 (vertex) は、色、法線ベクトル、テクスチャ座標などの他の情報と共に位置を表す。辺 (edge) は2つの頂点間の接続のことである。面 (face) とは閉じられた辺の集合であり、三角形の面は3つの辺を持ち、四角形の面は4つの辺を持つ。ポリゴンは面の集合である。
ふまえてこの3dプリントみたいなイルカとミカエルを見ると感慨深い

マテリアルは、レンダリング時にメッシュの異なる部分が異なるシェーダーを使用できるように定義される
UV座標とテクスチャ
ほとんどのメッシュフォーマットは、メッシュの異なるポリゴンに適用する2次元テクスチャマップのどの部分を示すために、メッシュを "展開 "した別の2次元表現であるUV座標の形もサポートしています。
「どのように印刷できるか」という観点でまずみて、スケルタルアニメーションなどのデータの関係性を見た方が分かりやすそうだ。そして、印刷できない効果はパーティクルシステムやその他のしくみでゲームエンジンなどがアニメーションとして解決してくれる。シェーダー寄りになっていく
ポリゴンメッシュとお近づきになれたのでPlyのデモを動かす
PLYはPolygon File FormatもしくはStanford Triangle Formatとして知られているコンピュータファイル形式である。これは原則として3Dスキャナからの3次元データを格納するために設計された。データ格納形式は、名目上平面ポリゴンのリストとして、単独オブジェクトの比較的簡単な記述をサポートしている。
プロパティ、エレメント、グルーピングがついてobjから進化したPLY
PLY形式は90年代半ばにスタンフォードグラフィクス研究所のGreg Turk(英語版)らによってMarc Levoyの指導の下に開発された。その設計はWavefront .objファイルにインスパイアされたものの、Obj形式は任意のプロパティ及びグルーピングの拡張性を欠いていたため、頂点、面、構成データ、他のグルーピングの観念を一般化して"property"及び"element"キーワードが案出された。

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


