companynameJ

最近の記事

 
 

はじめに

 
3次元(以下3D)画像ファイルは広く普及してきています。3D画像ファイルの画像とは?で、3D画像ファイルについての記事を書いておりますが、3D画像ファイルの画像は、TVモニターなどの2次元画像表示媒体を通して観察されるのが一般的です。
 
そういう2次元画像表示媒体に表示される3D画像は、当然ながら視点から見える画像は2次元であるので、視点を移動させないと横や後ろの画像を観察することができません。
 
その視点移動(以下視点制御と呼ぶ)を、マウスやタッチ操作によって3D画像に触れることで操作できれば便利です。
本ブログ記事の写真を3次元立体の立方体に貼り付けるツールや、写真を3次元立体の球体に貼り付けるツールでもそのような視点制御技術を用いています。
 
3D図面を設計するためのプロ用CADシステムではそういう視点制御は標準的に用いられています。
 
前回の3D画像ファイルのアニメーションとは?で用いたJavaScriptライブラリであるthree.jsでは、OrbitControlsという仕組みがあります。
 
OrbitControlsは、

・「Three.jsにはカメラの動きを自動的に制御する OrbitControls クラスが存在します。」
・「マウス操作で次のようにカメラを制御できます。
・オービット(周回軌道): 左ボタンでドラッグ
・ズーム: マウスホイール
・パン: 右ボタンでドラッグ」
 引用:Three.jsにはカメラの動きを自動的に制御する OrbitControls

と説明されています。
 
今回は、3D画像の視点制御で回転表示を行うOrbitControls(軌道制御)を解きほぐすことによって3D画像の表示技術を学ぶことにします。
 

続きを読む>>>
記事「3D画像モデルの回転表示とは?」を表示します



 
 

はじめに

 
前回の3D画像ファイルのアニメーションとは?で、3Dデータフォーマットの決定版とされるglTFファイルのアニメーションデータを調べて、ボーンアニメーションの基本構造についても触れました。
 
ボーンアニメーションは、骨格となるボーン(Bone)を設定してそのBoneに付随する3D物体の動きを制御するアニメーションですが、Boneに付随する3D物体の動きを制御するのにForward Kinematics(順運動学)やInverse Kinematics(逆運動学)と呼ばれる手法があります。
これらの手法は複数のBoneの動きに合わせて3D物体の頂点の位置を計算して設定していきます。
 
そのような動き制御の計算を簡略化するために、Boneの状態を初期位置に戻す行列データが用いられています。
 
glTFファイルでは、ボーンアニメーションのことをスキンメッシュアニメーションと呼んでいて(前報3D画像ファイルのアニメーションとは?参照)、そのBoneの状態を初期位置に戻す行列データのことをInverseBindMatricesと呼んでいます。この行列は日本ではボーンオフセット行列と呼ばれているようです。
 
InverseBindMatrices(以下ボーンオフセット行列と呼ぶことにします)はどういう行列でどのような役割を果たすのでしょうか?
 
今回は、glTFファイルのInverseBindMatricesデータの構造を解きほぐすことによってボーンアニメーションの具体的な技術を学ぶことにします。
 

glTF 2.0ファイルフォーマットのInverseBindMatricesデータ

 
glTF 2.0ファイルフォーマットの仕様については、The glTF 2.0 Specificationに書かれています。
 
InverseBindMatricesデータについては、

・「スキンのinverseBindMatrices は accessor の識別子で joints の数と同じ要素数の 4x4 行列の配列を参照します。 inverseBindMatrices はボーンの変形を計算するときに必要になります。」
 引用:vertex skinning の覚え書き

という記事があります。
 
そのらのデータの意味や役割を以下に具体的に説明していきます。
 
続きを読む>>>
記事「ボーンアニメーションのオフセット行列とは?」を表示します



 
 

はじめに

 
2次元(以下2D)画像でも3次元(以下3D)画像でも、動画に変換された画像を鑑賞するというアニメーションとして知られる映像文化が広く普及しています。
 
連続する静止画を1秒間に数十コマの時間間隔で表示すれば、いわゆる映画として知られる動画になります。
昔の映画は静止画がそのまま記録されていたので膨大な情報量を持っていましたが、デジタル社会のニーズに応えるため、データ量の大幅な圧縮が必要になってこれまで多くのデータ削減技術が開発され、今も開発が続けられています。
2Dや3D画像のアニメーションも、静止した2Dや3D画像のデータをできるだけ増大させないように、数々の工夫を施して動画に変換している技術であると言えるでしょう。
 
アニメーションさせるデータを画像ファイルに組み込んで、所定のアニメーションを動かすという仕組みも開発されてきており、2D画像ファイルに対してはアニメーションGIFファイルやAPNGファイルなどがあります。
3D画像ファイルに対しても、アニメーションデータが組み込まれたファイルがあります。
 
以前の3D画像ファイルの画像とは?で、3Dデータフォーマットの決定版とされるglTFファイルフォーマットを調べましたが、そのglTFファイルにもアニメーションデータが格納されるようになっています。
 
そのglTFファイルについては、

・「VRM - glTFをベースとした人型3Dアバターのファイルフォーマットの形式」
 引用:VRM

という記事があって、人型3Dアバター用のVRMファイルはglTFファイルをベースにしているのですが、

・「VRM は、Animation を使わないという仕様です。」
 引用:VRM のアニメーション

と記載され、VRM自体にはAnimationが使われないとされています。
 
このVRMファイルに対して、

・「一般的な人型の glTF モデルであれば持っている「ある情報」が VRM には欠けているのです。その情報とは『ボーンのローカル軸の方向』です。」
 引用:VRM はローカル軸の方向を破棄すべきでない

という、アニメーションの要素の一つである「ボーン」についての問題提起のような記事がありました。
 
「ボーン」を使ったアニメーションは、骨格となるボーン(Bone)を設定してそのBoneに付随する3D物体の動きを制御するアニメーションです。
複数個のBoneを組み合わせて使用されるのが一般的で、人物や動物、その他無機物でも動きがある物体に適用されて広く普及しています。
Boneの用語は別の呼び方の例もあるのですが、ここではボーンアニメーションと呼んでおきます。
 
ウィキペディアには、

「スケルタルアニメーション (英: skeletal animation) は、日本ではしばしばボーンアニメーションまたはスキンメッシュアニメーションとも呼ばれ、キャラクターのコンピュータアニメーションに用いられる技術である。骨格(ボーン)を階層的に連結したモデルであるスケルトンを艤装し、それを所定の姿勢(キーフレーム)へとアニメーションさせ、それに従いキャラクターの表面構成点群の位置を追従させ描画する事でキャラクターのアニメーションを実現する。この技術は人間をはじめ多くの一般的な生物的なモデルへ適用でき、一度アニメーションを作成すれば同様のアニメーションを任意のオブジェクトへ適用し、その形状を変化させる事が可能であり、スプーンや建築物のモデルもスケルトンさえ定義すればアニメーションを即座に適用可能である。」
「この技術は一連の「骨格」を構築することにより利用される。この構築作業は「リギング」(rigging) と呼ばれることがある。」
「スケルトンを構成するそれぞれの骨にはキャラクターを可視化する為の要素を関連付けておく。この関連付けを「スキニング」と言う。」
 引用:スケルタルアニメーション

と記されています。
 
アニメーション技術には上記のように多くの専門用語が登場して、何となくそれら要素技術が分かったつもりになっていても具体的な挙動を把握するのは容易ではありません。
 
そもそも3D画像ファイルのアニメーションはどういうものであって、glTFファイルのアニメーションデータはどういう構造になっているのでしょうか?ボーンアニメーションのデータはどのように扱われているのでしょうか?
 
そのglTFファイルのボーンアニメーションについては、

・「スキンアニメーション-頂点データにジョイントインデックスとウェイト値を含める
primitive の attributes にジョイントインデックス JOINTS と ウェイト値 WEIGHTS が必要です.JOINTS や WEIGHTS はセマンティクスと呼ばれ,1つの頂点データに同じセマンティクスのデータを複数入れることができます.これはセマンティクス名の後ろにインデックスを追加して指定します.」
 引用:glTF 覚え書き

という解説記事や、

・「vertex skinning ではモデルにボーンを埋め込んでボーンの動きに追随して各頂点が動くようになっています。」
「頂点の情報にはボーンのインデックスとウェイト (影響度) が追加されます。」
「joints はボーンを構成するノードの識別子の配列です。」
 引用:vertex skinning の覚え書き

という記事が参考になります。
 
今回は、glTFファイルのアニメーションデータの構造を解きほぐすことによってアニメーションの基本的で具体的な技術を学ぶことにします。
 

glTF 2.0ファイルフォーマットのアニメーションデータ

 
glTF 2.0ファイルフォーマットの仕様については、The glTF 2.0 Specificationに書かれています。
 
glTFのアニメーションデータは、
・animation.channels
・animation.samplers
のデータが必須となっています。
他に、
・animation.name
・animation.extensions
・animation.extras
などのデータがあります。
 
そのらのデータの意味や役割を以下に具体的に説明していきます。
 
続きを読む>>>
記事「3D画像ファイルのアニメーションとは?」を表示します



 
 

はじめに

 
Google Earth(グーグルアース)は、地球上のあらゆる場所を3D画像で観察できるバーチャル地球儀ソフトウェアです。
 

「Google Earth では、スマホやタブレット、パソコンなどから世界中の都市を立体的に見ることができたり、美しいハイキングコースを実際に歩いているように探索できたりします。まさに Google Earth は、「新時代の地球儀」といえるでしょう。スマホアプリやブラウザで Google Earth を起動させると、宇宙空間に浮かぶ丸い地球が現れ、目的地などに向かって拡大していけば、衛星写真で「その場所」を見ることができます。建物などは 3D で表現されている地域もあり、見る角度を変えることでさまざまな景色を楽しめるでしょう。」
 引用:Google Earthとは

とか、
ウィキペディアには、

「Google Earth(グーグルアース)は、Googleがインターネットを前提として開発したバーチャル地球儀システムである。世界中の衛星写真を、まるで地球儀を回しているかのように閲覧することができる。クライアント・ソフトウェアは2005年6月28日から無料配布が開始された。」
 引用:Google Earth

とあり、「Google Earth Proが、研究機関・教育機関向けのプロスペック版だったが、2015年1月より、無料のライセンスキーを取得し一般向けに利用可能となった。 」と紹介されているように、Google Earth Pro(以下GoogleEarthと略します)が広く一般に利用されています。
今回の記事もそのGoogle Earth Proを使っています。
 
このGoogleEarthにKMLファイルを適用することによって、更に便利に地理情報を活用することができます。
 

「J-SHIS MapのKMLを使うと、Google Earth等の地図上にさまざまな情報をのせて表示することができます。
KMLは、Google EarthやGoogleマップの地図上で、位置の情報をもったデータを表示するためのファイル形式です。KMLを使うと、3次元的な位置に任意の情報を付け加えて表示することができます。例えば、旅行先で撮影した写真に自分の感想をつけて地図上の撮影地点に表示することができます。」
 引用:J-SHISの地図をGoogle Earthで見てみよう

など、Net検索すれば沢山の活用事例が見つかります。
 
KMLファイルの紹介記事も数多くあり、用途に応じて作成方法が紹介されているので、便利に活用できると思います。
 
KMLファイルはGoogleによって拡張タグも新たに定義されており、当然のことながらKMLファイルの機能がGoogleEarthの機能に連動しています。
 
ここでは、GoogleEarthの機能を紹介するのではなく、KMLファイルがデータをどのように扱っているかという仕組みに焦点を当てて、KMLファイルを分かり易く具体的に解きほぐしてみることにしました。
 
続きを読む>>>
記事「Googleアースに使われるKMLとは?」を表示します



 
 

はじめに

 
3D画像ファイルの点群とは?で、3D画像ファイルにおける点群はどういうものなのかを調べました。
 
その記事では、

・ポリゴンを用いる3D画像ファイルの世界からPLYファイル、
・LIDARスキャナーなどの測距技術の世界からPTSファイル、
・地図情報の世界からシェープファイル(Shapefile)

を取り上げて説明しました。
 
PTSファイルについては、

「PTSファイルは、通常LIDARスキャナーからのポイントデータを保存するために使用される単純なテキストファイルです。」
 引用:【Point Cloud】色付きの点群は立体になる

とあるように、「単純なテキストファイル」でありました。
 
しかし、LIDERスキャナーの点群データを使う際には、

「LASとは、ASPRS(The American society for Photogrammetry and Remote Sensing:アメリカ写真測量・リモートセンシング協議会)が定義する、LIDAR(Light Detection and Ranging:レーザー検出および測距)により計測された点群データの標準フォーマットです。」
 引用:PC-MAPPINGでのLASファイルの取り扱いについて

とあるように、LASファイルが標準フォーマットとして利用されています。
 
LASファイルについて興味深い記事がありました。

「指定された入力LASファイルから、Classification属性やRGB値を参照して画像ファイル(32bit(アルファ付き)GeoTIff)を生成します。」
 引用: LASデータの利活用~点群からラスターデータを作成する

と書かれています。
 
LASファイルは点群を扱うのであり、3Dの点群はベクタデータであるから、それをラスターデータに変換するとはどういうことなのでしょうか?
 
今回は、LASファイルはデータをどのように扱っているかという仕組みに焦点を当てて、標準フォーマットとされているLASファイルを分かり易く具体的に解きほぐしてみることにしました。
 
続きを読む>>>
記事「点群におけるLASとは?」を表示します




 

はじめに

 
前回の3D画像ファイルのGeoTIFFとは?で、3D画像ファイルにおけるGeoTIFFファイルについて調べました。
 
その前回記事では、3個のGeoTIFFファイルを具体例として選び、GeoTIFFタグデータやGeoTIFFキーデータを調べました。
 
タグデータやキーデータの調査は、ファイルのバイナリデータを仕様書に基づいて読み解くといったやり方で、結構時間がかかりました。
 
前回記事を公開した後で、そういうGeoTIFFファイルのタグデータやキーデータを簡単に無料で気軽に取得出来るツールがあればいいと思い、自作することにしました。
 
今回は、自作したGeoTIFF Readerを紹介いたします。
上のリンク文字をクリックすればGeoTIFF Readerが開きます。
 
GeoTIFFリーダー(GeoTIFF Reader)は、入力されたGeoTIFFファイルのGeoTIFFタグデータとGeoTIFFキーデータを抽出して表示するオンラインツールです。
 
TIFFタグを解析するので、GeoTIFFでないTIFFファイルを入力してTIFFリーダーとして用いることもできます。
 
入力されたファイルは管理者(サーバー)に転送されず、ブラウザ内で全ての処理が実行されるので漏洩の心配はありません。
 
使用方法は簡単で、ドロップエリアにお手持ちのGeoTIFFファイルをドラッグ(タッチ)&ドロップするか、「ファイルを開く」ボタンをクリックしてファイル選択するだけで解析結果が表示されます。
続きを読む>>>
記事「GeoTIFFリーダーを作りました」を表示します



 

はじめに

前回の3D画像ファイルの点群とは?で、3D画像ファイルにおける点群はどういうものなのかを調べました。

その前回記事では、「シェープファイルは、地理情報システム(GIS)の分野で広く活用されている地理データ格納ファイルです。例えば、井戸、川、湖などの空間要素がベクター形式であるポイント、ライン、ポリゴンで示され、各要素に固有名称や温度などの任意の属性を付与できる。」と紹介して、シェープファイルの構造や具体例を説明しました。

地理情報システム(GIS)でよく利用されるデータにはベクタ形式ラスター形式の2種類があり、
「ベクタデータの代表的なファイル形式として、ESRIのシェープファイル(Shapefile)がある。」
「ラスタデータの位置情報を保持した代表的なファイル形式として、GeoTIFFがある。」
引用:地理情報データ
と記載されています。

前回記事でラスター形式のファイルを取り上げなかったのは片手落ちと思いましたので、今回はラスター形式の代表的なファイルであるGeoTIFFを取り上げることにします。

GeoTIFFはウィキペディアには、

「GeoTIFFはTagged Image File Formatファイルにジオリファレンス情報が埋め込まれたパブリックドメインの標準規格メタデータである。 投影法 (地図)、座標、楕円体、測地系、その他正確な位置情報を参照するため必要に応じた情報が追加されており、TIFF 6.0に完全準拠している。 ジェット推進研究所で勤務していたDr. Niles Ritterにより策定された。」
引用:GeoTIFF

と記されています。
前回のシェープファイルの記事で、「地理情報システム(GIS)で奥行きの距離情報に相当する値に標高値があります。」と書き、シェープファイルが標高値データを扱う仕組みを説明しました。
そういう標高値データをGeoTIFFではどのように扱っているのでしょうか?
例によってGeoTIFFについての解説記事は沢山見つかりますが、具体例が少なくて混乱してしまいます。

ここでは、GeoTIFFで標高値データをどのように扱っているかという仕組みに焦点を当てて、GeoTIFFを分かり易く具体的に解きほぐしたいと考えています。
続きを読む>>>
記事「3D画像ファイルのGeoTIFFとは?」を表示します



 
 

はじめに

 
前々回の3D画像ファイルの画像とは?では、glTFファイルなどの3D画像ファイルでは画像データ(明るさや色情報)をどのように扱って記録しているのかを調べました。
 
3D画像ファイルでは、奥行きを表現するのに必要な距離情報は、3D物体の表面形状(ジオメトリ)を表すデータとして格納されています。
 
ほとんどの3D画像ファイルでは、ジオメトリデータはポリゴンの形で表現されていて、距離情報はポリゴンを構成する頂点データに格納されているのですが、単純な立方体の場合、頂点は8個であるので距離情報はたった8個だけです。
立方体よりもっと複雑な3D物体の場合には、膨大な数のポリゴンが必要になります。
 
3D物体を平面のポリゴンに分割して構成するのではなく、3D画像の画素ごとに距離情報を持たせれば精確に3D物体を表現できるのではという自然な考えが生まれます。
そういう物体の各点の座標値を格納した「点群」データと呼ばれるデータが様々な分野で活用されています。
 
ウィキペディアには、

「点群(point cloud)とは、多くの場合、3次元空間上の物体形状を、その表面上(もしくは内部)の観測点の直交座標 (x, y, z) の集合という形式で表現する。点ごとの属性(例:色)が付随する場合もある。」
 引用:点群 (データ形式)

と記されています。
また、

「点群データとは、3Dレーザースキャナなどにより取得した、3次元の点と色情報などの組み合わせのことです。」
 引用:【2023年版】点群処理ソフト5選 / メーカー15社一覧

という解説もあります。
 
点群を扱う3D画像ファイルには数多くの種類があり、使われる技術分野でそれぞれ発展しているようで、例によって点群についての沢山の解説記事が見つかります。
 
個々のファイルの仕様についてはそれら解説記事を参照頂くことにして、
ここでは、画像データの距離情報をどのように扱って記録しているのか?に焦点を当てて、分かり易く解きほぐしたいと考えています。
 
今回取り上げる3D画像ファイルは、
・ポリゴンを用いる3D画像ファイルの世界からPLYファイル、
・LIDARスキャナーなどの測距技術の世界からPTSファイル、
・地図情報の世界からシェープファイル(Shapefile)
の3つです。
続きを読む>>>
記事「3D画像ファイルの点群とは?」を表示します



 
 

はじめに

 
3D画像ファイルは、3次元コンピュータグラフィックス(以下3DCG)技術と密接に関連しており、3D物体の表面形状(ジオメトリ)を表すデータが主体ですが、画像データ(明るさや色情報)が付加される場合もあります。
 
前回の3D画像ファイルの画像とは?で、glTFファイルなどの3D画像ファイルでは画像データをどのように扱って記録しているのかを調べました。
 
3D画像ファイルのデータによって3D物体が形成されることになるので、一般的には3D画像ファイルを読み取る3Dソフトウェアが3D物体を2D画像に変換して表示しています。
 
この2D画像に変換する操作方法はそれぞれの3Dソフトウェアにより異なり、好きな位置の画像を好きな視点から観察するようにそれぞれ工夫されています。
これは被写体をカメラで撮影するのと同じ動作を3DCGの世界でも実行できるようになっていると言えるでしょう。
 
3Dソフトウェアで自在に2D画像に変換できるのは便利な機能ですが、指定した2D画像を表示させるという機能も考えられます。
被写体をカメラで撮影するのと同じ動作をさせるデータを3D画像ファイル自体に組み込んでおくことによって、指定した2D画像を表示させるという機能があります。
前回取り上げたglTFファイルにもそういうカメラデータが格納できる機能が備わっています。
 
そのカメラデータとはどういうデータであって、その役割はどういうものなのでしょうか?
 
3D画像ファイルを用いて画像を形成する仕組みについては、3DCGに関する複雑な数式を駆使した解説記事が沢山見つかりますが、理解するのは骨が折れる作業になります。
 
今回は、glTFファイルのカメラデータだけに絞って、出来るだけ数式を使わないでそのデータの概念を解きほぐしてみることにします。
 

glTF 2.0ファイルフォーマットのカメラデータ

 
glTF 2.0ファイルフォーマットの仕様については、The glTF 2.0 Specificationに書かれています。
 
カメラデータは、視点データとプロジェクション変換データがあり(筆者が適当に分類)、
視点データとして、
・translation(視点移動)
・rotation(視点回転)
プロジェクション変換データとして、
・aspectRatio(アスペクト比)
・yfov(y画角)
・znear(z近点)
・zfar(z遠点)
のデータで構成されています。
後述する平行投影の場合は、aspectRatioとyfovの代わりにxmagとymagが用いられます。
 
こういう3DCG関連の用語の日本語訳は、異なる用語が用いられている場合が多くて混乱します。ここでは筆者の独断で書いていますのでご了解ください。
 
仕様書では、視点データは仕様書ではnodeデータのcameraプロパティに格納され、プロジェクション変換データはcameraアセットに格納されています。
 
それらカメラデータの意味や役割を以下に説明していきます。
 
続きを読む>>>
記事「3D画像ファイルのカメラデータとは?」を表示します




 

はじめに

 
3次元(以下3D)画像ファイルはこれまで様々な用途で便利に使われており、ますます進化しているようです。
いろいろな種類の3D画像ファイルについての紹介記事や、それらのファイルフォーマットの解説記事は数多くあって、3D画像ファイルを扱う人たちにとって大いに役立つ情報になっています。
ここでは、そういう3D画像ファイルは画像データをどのように扱って記録しているのか?に焦点を当てて、分かり易く解きほぐしたいと考えています。
 
前回の3DにおけるJPEGとは?では、3D画像ファイルで「基本的」とされているSTLファイルフォーマットについて調べました。
 
今回は、

・「Khronos Group から提唱された、新しい3Dデータフォーマットである glTF™ (GL Transmission Format) は次世代の3Dデータフォーマットの決定版として期待されています。」
 引用:次世代の3Dデータフォーマット決定版 glTF 2.0

などの記事があるので、
3D画像ファイルで「決定版」とされているglTFファイルフォーマットを解きほぐしてみることにしました。
 

glTF 2.0ファイルフォーマットの仕様

 
glTF 2.0ファイルフォーマットの仕様については、The glTF 2.0 SpecificationglTFのご紹介などに書かれています。2.0は最新バージョン番号です。他にも沢山の紹介記事が見つかります。
 
このフォーマットは、3次元コンピュータグラフィックス(以下3DCG)の殆ど全てのデータを格納できる構造になっていて、このため「決定版」と呼ばれていると思われます。
 
前回取り上げた「基本的」とされているSTLファイルと比較してみると、glTFファイルの特徴的な構造が理解し易くなると思います。
 
STLファイルは、頂点座標値、法線ベクトルなどからなるポリゴンデータを格納して3D物体の表面形状(ジオメトリ)を表すファイルでした。そのポリゴンデータは3DCG技術における基本的なデータです。3DCGのデータには他にもいろいろなデータがあります。glTFファイルにはそういうSTLファイルにはないデータも格納されるようになっています。
それらのglTFファイルの特徴的なデータを説明していきます。
続きを読む>>>
記事「3D画像ファイルの画像とは?」を表示します



 

はじめに

 
3次元(以下3D)画像の分野で、3DにおけるJPEGという表現を目にします。
 
例えば、

・「glTF (GL Transmission Format) はJSONによって3Dモデルやシーンを表現するフォーマットである。「3DにおけるJPEG」と表現されることもある。」
 引用:glTF
・「普及度で言えばダントツ1位、3Dデータ形式のJPEG的存在、それが「STL」だ。」
 引用:2020年代に注目すべき3Dデータファイル形式
・「誰でも3Dアバターを持てる時代にPNGやJPEGとなるのがVRMであり、VR時代のアバターフォーマットとして、世界を獲れる日本発のデファクトスタンダードになれる」 
 引用:「VRMコンソーシアム」13社合同で設立

などの記事があります。
 
JPEGは周知の通り2次元(以下2D)画像ファイルでありカメラで撮影される写真の画像ファイルとして広く普及しています。
 
JPEGはデータサイズを小さくする圧縮方式を採っており、2D画像ファイルとしては他にもBMPやTIFFやPNGなど数多く存在します。
 
カメラで撮影して作られるJPEGなどの2D画像ファイルは、被写体が2次元の面に投影されて得られる2D画像データを格納しているファイルです。
 
そのため、被写体の位置や照明光の違いや投影時のボケ具合などの影響を受けて同じ被写体であっても2D画像の中身は変化します。
 
これに対して、「3DにおけるJPEG」と位置付けられる3D画像ファイルとはどういうものなのでしょうか?
 
この意味合いを探るべく、先ずは3Dプリントを中心に既に広く普及しているSTLファイルフォーマットを出来るだけ具体的に解きほぐしてみることにしました。
続きを読む>>>
記事「3DにおけるJPEGとは?」を表示します




 
管理人の青木ガンバロです。
 
今回は、写真を3次元立体の立方体に貼り付けるツールを紹介いたします。
 
2次元の写真画像を3次元の立体画像の表面に貼り付ける技術はテクスチャマッピングと呼ばれ、映像関連の分野で既に広く使われています。
 
民間では、デジタルカメラが登場して以来、写真をSNSなどに添付して発信することにより、人びとの間で共有して楽しむという文化が定着してきており、立体画像を見かける場面も多くなってきました。
 
立体画像は、ゲームのキャラクタを見れば分かるように、その表面にいろいろな絵柄が貼り付けられています。
 
そういう巷でよく見かける立体画像は、高度で複雑な計算が見えないところで行われており、ハード、ソフト両面の専門的な技術があるからこそ実現しているのです。
 
そのため、一般の人びとがデジタル写真を立体画像にしようとする場合は、専門的なソフトツールを使っていわゆる画像処理を行うことにより実現するのが普通です。
 
ところが問題は、その専門的なソフトツールを使うこと自体が簡単なことではないということです。うまく運ばないと取りかかっても挫折するはめになったりします。
 
今回紹介するツールは、専門的なライブラリは使用せずに、必要十分である簡素な画像処理だけを実装することによって高速なテクスチャマッピング処理を実現しています。
しかし、画像処理に直接関係しない画像ファイル生成には既存のライブラリを使っています。
 
この結果、より簡単にデジタル写真を立体画像に貼り付けることができると思います。
 
今回は、貼り付ける対象の立体画像に立方体を選びました。
続きを読む>>>
記事「立方体に写真を貼り付けるツールを作りました」を表示します




 
管理人の青木ガンバロです。
 
今回は、写真を3次元立体の球体に貼り付けるツールを紹介いたします。
 
前回の立方体貼り付けについての記事に書きましたが、今回の記事を先に見ておられる方のために、立体貼り付けツールの意義を再録しておきます。
 
2次元の写真画像を3次元の立体画像の表面に貼り付ける技術はテクスチャマッピングと呼ばれ、映像関連の分野で既に広く使われています。
 
民間では、デジタルカメラが登場して以来、写真をSNSなどに添付して発信することにより、人びとの間で共有して楽しむという文化が定着してきており、立体画像を見かける場面も多くなってきました。
 
立体画像は、ゲームのキャラクタを見れば分かるように、その表面にいろいろな絵柄が貼り付けられています。
 
そういう巷でよく見かける立体画像は、高度で複雑な計算が見えないところで行われており、ハード、ソフト両面の専門的な技術があるからこそ実現しているのです。
 
そのため、一般の人びとがデジタル写真を立体画像にしようとする場合は、専門的なソフトツールを使っていわゆる画像処理を行って実現するのが普通です。
 
ところが問題は、その専門的なソフトツールを使うこと自体が簡単なことではないということです。うまく運ばないと取りかかっても挫折するはめになったりします。
 
今回紹介するツールは、専門的なライブラリは使用せずに、必要十分である簡素な画像処理だけを実装することによって高速なテクスチャマッピング処理を実現しています。
しかし、画像処理に直接関係しない画像ファイル生成には既存のライブラリを使っています。
 
この結果、より簡単にデジタル写真を立体画像に貼り付けることができると思います。
 
今回は、貼り付ける対象の立体画像に球体を選びました。
続きを読む>>>
記事「球体に写真を貼り付けるツールを作りました」を表示します



sub1title

closeicon

サンシャインブルー工房創設者、管理人の 青木ガンバロ と申します。
団塊世代の一技術者としてかつては開発業務に没頭しておりました。今はたそがれ期に入り、世間では簡単なことであっても、自分にとっては知らない、経験していないことが山ほどあると気付かされます。
限りある時間に、少しでもそういう未経験のテーマに挑戦してみようと思い、本工房を立ち上げることにしました。
 
いろいろな分野の学習を続けていると、何度も躓いてしまいます。素朴な疑問が湧いてくるのですが、その解答を得るのに手こずります。
膨大な情報の中から欲しい情報を探るのが難しくなっていると感じます。
 
技術を中心としたさまざまな課題を解きほぐし、より本質的な内容を明らかにすることによって、同じように学ぼうとする方々が、素早く答にたどり着けるような情報を発信していければと考えております。
 
このホームページもその挑戦の一つとして独学で制作してきました。
Web技術の多岐にわたる学習が必要であったり、関連する規格やツールなどの仕組みも進化して更新されていくので、最善解に近づくのは容易ではありません。
当初から躓きの連続でありましたが、多くの親切な方々の的確な記事にも助けられて進めてきました。
まだ多くの疑問点が残っております。逐次改善していくつもりです。
 
これまで多くの友人、先輩方の支えがあったお陰で何とか過ごしてくることができました。
人びとの繋がりの大切さを痛感しております。
どこまで頑張れるか分かりませんが、残る力を絞って進んでまいります。
これからも、皆さまのご援助、ご協力をよろしくお願い申し上げます。

sub2title

closeicon

2019-  4-16

・サンシャインブルー工房の個人事業開業

2022-12-22

・ホームページを公開

・ブログ「立方体に写真を貼り付けるツールを作りました」を公開

・ブログ「球体に写真を貼り付けるツールを作りました」を公開

2023-  2-  3

・ブログ「3DにおけるJPEGとは?」を公開

2023-  3-  1

・ブログ「3D画像ファイルの画像とは?」を公開

2023-  4-16

・ブログ「3D画像ファイルのカメラデータとは?」を公開

2023-  5-22

・ブログ「3D画像ファイルの点群とは?」を公開

2023-  6-28

・ブログ「3D画像ファイルのGeoTIFFとは?」を公開

2023-  7-28

・「役立つーる」ページを新設し、最初のオンラインツールGeoTIFFリーダーを公開

・ブログ「GeoTIFFリーダーを作りました」を公開

2023-  8-16

・ブログ「点群におけるLASとは?」を公開

2023-  9- 1

・ブログ「Googleアースに使われるKMLとは?」を公開

2024-  1-16

・ブログ「3D画像ファイルのアニメーションとは?」を公開

2024-  2- 8

・ブログ「ボーンアニメーションのオフセット行列とは?」を公開

2024-  7- 13

・ブログ「3D画像モデルの回転表示とは?」を公開

sub3title

closeicon






    皆さまからの、ご要望、ご依頼、ご質問、ご意見、ご提案などをお待ちしております。
    当方の事情や、お問い合わせの内容によりましては、返信を差し上げることができない場合もあります。あらかじめご了承ください。

    姓 例)日本

    名 例)太郎

    せい 例)にほん

    めい 例)たろう

    例)xxx@abcde.co,jp

    例)いろはに会社


     

    お問い合わせをいただき、ありがとうございます。

    messageOKこのお問い合わせの送信が完了しました。

    お問い合わせがエラーになりました。再度お試しください。

    messageNGこのお問い合わせの送信が失敗しました。

    sub4title

    closeicon
    1.著作権について
    当サイトは、お客さまご自身の画像が貼り付けられてダウンロードされた画像の情報を除き、当サイトに掲載されている、文章・画像・動画等の著作物の情報を無断転載することを禁止致します。
    当サイトは、ブラウザがFirefoxである場合に動画ファイルの生成のためにLPGLv3ライセンスのFFmpegライブラリを使用しています。
    2.リンクについて
    以下の場合を除き、当サイトを他のWebサイトに自由にリンクすることができます。
    (リンクをお断りするWebサイト)
    違法または反社会的な情報を提供するWebサイト
    当サイトの関係者や提供する情報に対して誹謗、中傷する内容を有するWebサイト
    当サイトであることが不明確であるWebサイト
    sub5title

    closeicon
    1.個人情報保護方針
    当サイトは、お客様からお預かりする個人情報の重要性個人情報の重要性を認識し、個人情報の保護に関する法律、その他の関係法令を遵守し、個人情報を安全かつ適切に取り扱います。
    2.個人情報の取得と利用目的
    個人情報を取得させていただくにあたっては、取得情報と利用目的を以下に定め、必要な個人情報のみを、適法かつ公正な手段により取得させていただきます。
     2.1.お問い合わせやご注文時の情報
    (取得情報)
    お客様ご自身によるお問い合わせやご依頼のための入力情報
    (利用目的)
    お客様へのご依頼に対応するため。
     2.2.ご利用履歴情報
    (取得情報)
    アクセス解析ツールGoogle Analyticsを用いた個人を特定しないトラフィックデータ
    (利用目的)
    ご利用状況の分析により当サイトの一層の改善や拡充を図るため
    このGoogle Analyticsの規約に関する詳細は、ここをクリックしてください。
     2.3.広告管理情報
    (取得情報)
    広告表示ツールGoogle AdSenseを用いた個人を特定しない広告管理データ
    (利用目的)
    お客様の興味に応じた商品やサービスの広告配信のため
    このGoogle AdSenseの規約に関する詳細は、ここをクリックしてください。
    3.個人情報の第三者への開示
    当サイトは、お客様からお預かりした個人情報を、個人情報保護法その他の法令に基づき開示が認められる場合、または、お客様からの同意を得た場合を除き、第三者に提供することはありません。
    4.クッキー(Cookie)について
    クッキー(Cookie)とは、当サイトにアクセスした際にお客様のブラウザに送信され、お客様のコンピューターに保存される情報のことです。
    当サイトでは、利用履歴の収集および広告の管理のためにそのクッキーを使用しています。
    当サイトが使用するクッキーのデータは、個人情報を含むものではありませんが、お客様がブラウザを操作することにより、クッキーの使用を制限(オプトアウト)することや、保存されたクッキーの情報を削除することも可能です。ただし、そのブラウザの設定によっては、当サイト一部の機能が使用できなくなる恐れがありますのでご注意ください。
    5.個人情報保護方針の変更
    当サイトは、法令の制定、改正等により、本個人情報保護方針を適宜見直し、予告なく変更する場合があります。本個人情報保護方針の変更は、変更後の内容が閲覧可能となった時点で有効になります。
    6.免責事項
    当サイトは、正確な情報を掲載するよう努めておりますが、誤情報の混入、情報の陳腐化が起こることがあります。当サイトに掲載された内容や、他のサイトに移動された場合の移動先サイトで提供される情報によって生じた損害等の一切の責任を負いかねますのでご了承ください。