2025年9月30日火曜日

遺物密度計測のための計測対象空間の設定方法

 Methods for Setting the Measurement Target Space for Artifact Density Measurement


I began investigating methods for setting the measurement target space for artifact density measurement of the shell layer on the northern slope of the Ariyoshikita Shell Mound. I initially identified three methods. As a method for setting the measurement target space based on the artifact distribution itself, I tried setting it as a voxel union.


有吉北貝塚北斜面貝層の遺物密度計測のための計測対象空間の設定方法について検討をはじめました。とりあえず3つの方法を抽出しました。遺物分布そのものに基づく計測対象空間設定方法では、ボクセルの和集合で設定してみました。

1 遺物密度計測のための計測対象空間の設定方法

1-1 遺物分布そのものに基づく方法

【考え方】

遺物出土位置を指標する頂点に球(あるいはCUBE)を設定し、重なった球(あるいはCUBE)の外縁形状を計測対象空間とします。

【例】

rを任意の数値として設定します。(例 0.3m)

rを半径とする球を全頂点に設定し、重なった球の外縁形状が成す空間を計測対象空間とします。

【作業の実際】

重なった球の外縁形状が成す空間の体積を直接計測する方法がないので、重なった球の外縁形状からボクセルの和集合を設定して、その体積を計測し、遺物分布密度を測定します。

1-2 地形(ガリー侵食地形)を計測対象空間とする。

【考え方】

復元したガリー侵食地形に蓋を被せた空間を計測対象空間とします。

【例】

Blenderでガリー侵食地形に蓋を被せた空間を設定します。

計測対象空間体積はBlenderで計測します。

1-3 3Dグリッドシステムを設定し、3Dグリッドで計測対象空間を設定する。

【考え方】

復元したガリー侵食地形と遺物出土位置を完全に内包する3Dグリッド空間を計測対象空間とします。

【例】

グリッドの大きさを設定します。(例 1m×1m×1m)

Blenderでワールド原点を原点とする3Dグリッドシステムを設定します。

復元したガリー侵食地形と遺物出土位置を完全に内包する3Dグリッド空間を計測対象空間とし、グリッド数から計測対象空間体積を求めます。

2 遺物分布そのものに基づく計測対象空間設定方法の検討(予察)

2-1 遺物分布(事例)


遺物分布(事例)

遺物平面座標読取作業の最終ロットにおける遺物分布(1320遺物)を事例として、以下の検討を進めました。

2-2 r=0.3m球分布重なりによる計測対象空間


r=0.3m球重なりによる計測対象空間

Blenderではこの資料から計測対象空間体積を算出できないので、この方法から直接遺物密度を計算できません。

2-3 ボクセルによる計測対象空間の設定とそのメッシュ化による体積計測


ボクセルで作った近似空間

「r=0.3m球分布重なりによる計測対象空間」の近似空間をボクセルでつくり(「ポイントのボリューム化」)、それをメッシュオブジェクトに変換する(「ボリュームのメッシュ化」)ことにより体積計測します。

この例では計測対象空間の体積は76.6987㎥となりました。(遺物密度は1320/76.6987㎥=17.21/㎥)


参考 ボクセル近似空間と遺物出土位置の関係

Blender作業を進めるなかで、「r=0.3m球分布重なりによる計測対象空間」という最初の設定にこだわる必然性は特段ないことに気が付きました。ボクセルに関わる諸元を操作して遺物出土地点分布の外縁を縁取るにふさわしいボクセル分布を見つけて、その諸元をもって「計測対象空間」とすることで問題はないと考えます。球重なりによる形状よりボクセル分布形状の方が「計測対象空間」としてふさわしいように感じます。


体積計測用オブジェクト作成のためのgeometry nodes

2-4 参考 凸包


凸包

遺物分布から凸包をつくると、その体積は90.8875㎥となります。凸包では外形の曲線的成分が全て直線的成分あるはい凸形成分に置き換わるため、「計測対象空間」設定には不向きです。

3 感想

頂点分布に近似する3D空間をボクセルでシミュレーションしながら作成できる方法を今回の検討で知ることができました。今後の検討に大いに役立つ操作技術です。

またBlender本体ではできない体積計測をアドオン3D Print Toolboxでできるようになりました。


2025年9月29日月曜日

座標読み取り作業を終える(2025.09.29)

 Coordinate reading completed (September 29, 2025)


The work to read the artifact distribution map coordinates for the shell layer on the northern slope of the Ariyoshi Kita Shell Mound, which began in June, has now been completed. It took a full four months. We were able to obtain 3D coordinates for 55,380 artifacts, accounting for 87% of the 63,599 artifacts recorded in the artifact register. Looking at the resulting simple 3D distribution map, stratified distributions can be observed in various locations, making us excited for future analysis.


6月からスタートした有吉北貝塚北斜面貝層の遺物分布図座標読み取り作業を終えました。丸4カ月間かかったことになります。遺物台帳記載63599遺物のうち87%にあたる55380遺物の3D座標を得ることができました。読み取り結果の単純3D分布図を見ると層別分布が各所に観察され、今後の分析作業が楽しみになります。

1 有吉北貝塚北斜面貝層の遺物分布図データ(2025.09.29現在、素読取完了)

有吉北貝塚北斜面貝層の遺物分布図データ(2025.09.29現在、素読取完了)

55380遺物データ

遺物は5㎝×5㎝×5㎝のCUBEで表示

3DF Zephyr v8.023でアップロード


3Dモデルの動画


3Dモデルの画像


3Dモデルの画像(上から、オルソ投影)

グリッドの大きさは2m×2mです。


3Dモデルの画像(正面から、オルソ投影)

2 メモ

座標読取作業の最終回ロットの遺物数は1321で作業ロットとしては最少ですが、グリッド数は17で最多となりました。

遺物分布図から平面座標を読み取り、その結果をID(遺物番号)を指標に遺物台帳データベース(この中に標高座標が含まれている)とリレーションして、3D座標付き遺物台帳データベースを作成しました。

3D座標付き遺物台帳データベースの遺物総数は63599で、そのうち3D座標が揃うものは55380遺物(全体の87.1%)です。3D座標が揃わない8219遺物(全体の12.9%)のうち4485遺物(全体の7.1%)は「一括」扱いなどで、出土グリッド以上の詳しい平面座標がもともとありません。残り3734遺物(全体の5.9%)は遺物分布図未記載などに起因します。

今回読み取り1321遺物データはBlender3Dビューポートに頂点としてプロットし、geometry nodesで実体化(CUBE表現)し、その結果をWabefront(.obj)ファイルにしてこれまでのプロット結果に追記しました。


今回作業ロット分の頂点分布


今回作業ロットの実体化分布


実体化のためのgeometry nodes

読み取り作業が終わりましたので、作業結果のチェック調整を行った後に次のステップ(分析作業)に進むことにします。


2025年9月24日水曜日

Blenderブレイクスルー技術のはじめての体感

 My first experience with Blender's breakthrough technology


I experienced a breakthrough technology in Blender. Previously, I plotted 3D coordinate artifacts as cubes in Blender. For 12,422 artifacts, it took 86 minutes. However, plotting them as vertices took less than a second. It was an incredible experience.


Blenderで「これがブレイクスルー技術だ」という体感をしました。これまで3D座標付き遺物をBlenderにCUBEとしてプロットしていました。12422遺物では86分かかりました。ところが、頂点としてプロットすると1秒以下です。信じられないような実体験です。

1 CUBEとしてのプロット


CUBEとしてのプロット

BlenderPythonを使って、12422遺物をCUBEとしてBlenderにプロットすると、86分かかりました。(注:遺物数が多くなると、ID重複照合に要する時間のためか、幾何級数的にプロット時間が増えます。)

2 頂点としてのプロット


頂点としてのプロット

BlenderPythonを使って、12422遺物を頂点(頂点一つだけのオブジェクト)としてBlenderにプロットすると、1秒以下でした。手動ストップウォッチで計測しようとしたのですが、手筋肉反射よりもプロットの方が勝りました。つまり計測不能でした。

注:頂点としてプロットするBlenderPythonでは、超高速化のためにPythonループより何倍も速い「 foreach_set 」アルゴリズムを使っています。

3 頂点のCUBE実体化


頂点のCUBE実体化

geometry nodesにより12422頂点をCUBEオブジェクトに実体化する時間は1秒以下でした。驚くべき速さです。

4 感想

86分間のBlender作業が実質0分になるという体験は今回はじめてです。こういう技術が「ブレイクスルー技術だ!」と実感しました。すばらしい突破体験です。「頂点でプロット、geometry nodesで実体化」という技術はChatGPTとのコミュニケーションで得たものです。自分にとって、ChatGPT活用意義が大きいことに気が付きます。


2025年9月22日月曜日

Blenderの3D座標付きデータベース格納機能

 Blender's 3D Coordinate Database Storage Function


I tested a system that stores attributed artifact data as vertices in Blender, then extracts and materializes (objects) them by attribute using geometry nodes. Since the artifacts are materialized at the end, the operation is extremely light (and comfortable). ChatGPT boasts that it can easily handle a database of 500,000 objects.


属性付き遺物データを頂点でBlenderに格納し、それをgeometry nodesで属性別に抽出し実体化(オブジェクト化)するシステムを試しました。最後に実体化するので、操作は超軽い(快適)です。ChatGPTは50万のデータベースでもへっちゃらだと豪語しています。

1 テストデータの頂点プロット


テストデータ

ID(遺物番号)、x座標、y座標、z座標、class(遺物分類)の5項目(属性はIDとclassの2つ)3392データからなるcsvファイルをテストデータとしました。

テストデータをBlenderPythonで、属性も含めてBlenderに頂点(頂点一つだけのオブジェクト)としてプロットしました。属性2つは頂点に付与されています。


テストデータの頂点としてのプロット

2 geometry nodesによる属性区分別抽出表現


geometry nodes

つぎの3つの情報を「ポイントにインスタンス作成」に渡し、実体化(オブジェクト化、ここでは0.02㎝球、赤色)します。

・遺物を指標する(3D座標付き、属性付き)頂点の入力

・選択対象とする属性と区分(値)の設定

・表現オブジェクトの形状、色等の設定

classに1を入力すると土器・土製品の分布になります。


geometry nodesによる土器・土製品の分布

classに2を入力すると石器・石の分布になります。


geometry nodesによる石器・石の分布

classに5を入力すると骨・歯の分布になります。


geometry nodesによる骨・歯の分布

3 感想

BlenderでID(遺物番号)、x座標、y座標、z座標の12000データを実体(CUBE)としてプロットした時、その時間は82分かかりました。そのようなばかげた時間消費は今後なくなるので、遺物作業により熱が入ります。やる気が出てきます。テストデータでも3392件のプロットは文字通り一瞬であり、パソコン操作は軽く、快適です。

5万データを属性とともに頂点で入力し、geometry nodesで必要に応じて分析実体化するという方法はChatGPTとのやりとりのなかで知りました。ChatGPTはデータが50万で属性が30あってもBlenderはへっちゃらだと豪語しています。

geometry nodesはBlenderのほとんどの機能を実現できるので、例えば、属性区分別に色分けしたり、オブジェクトの形状や大きさを変えたり、点滅させたり、振動させたりなど様々な試みを気軽に試すことができます。

2025年9月21日日曜日

有吉北貝塚北斜面貝層の遺物分布図座標入力作業日誌(2025.09.21)

 Coordinate input log for artifact distribution maps of the shell layer on the north slope of the Ariyoshi Kita Shell Mound (September 21, 2025)


I have written a log of the activities to acquire 3D coordinates for all artifacts in the shell layer on the north slope of the Ariyoshi Kita Shell Mound. There are now 54,059 3D spatial plot artifacts, leaving only scattered artifacts on the downstream edge. While inputting artifacts, I also considered how to manage over 50,000 artifacts in 3D space, and realized that entity (cube) management is an outdated technology that places unnecessary strain on computers.


有吉北貝塚北斜面貝層の全遺物3D座標取得活動の日誌をメモしました。3D空間プロット遺物は54059となり、残りは下流縁辺部の散在遺物だけとなりました。入力作業と同時に5万以上遺物の3D空間における管理方法について検討し、実体(CUBE)管理することがパソコンに不必要な高負荷をかける後進技術であることに気が付きました。

1 有吉北貝塚北斜面貝層の遺物分布図データ(2025.09.21現在)

有吉北貝塚北斜面貝層の遺物分布図データ(2025.09.21現在)

54059遺物データ

遺物は5㎝×5㎝×5㎝のCUBEで表示

3DF Zephyr v8.023でアップロード


3Dモデルの動画


3Dモデルの画像


3Dモデルの画像(上から、オルソ投影)

2 メモ

入力作業と同時にBlenderにおける5万以上遺物の管理方法について検討し、実体(CUBEなどのオブジェクト)管理することがパソコンに不必要な高負荷をかける後進技術であることに気が付きました。確かにパソコンが重くなり、軽快な操作ができなくなります。

座標入力作業を全部終えて、そのチェックも終えた段階で、正式な遺物3D空間プロットをしますが、その時は遺物を頂点(頂点一つだけのオブジェクト)としてプロットし、実体化はgeometry nodesで行うことにします。遺物に関わる多数の情報(各種分類区分など)は頂点の属性を多数設定して情報付加します。


今回入力作業分の頂点表示(Blender画面)


今回入力作業分の頂点表示(Blender画面)

オブジェクトモードで頂点(頂点一つだけのオブジェクト)は緑色で表示されます。遠近に関係なく同じ大きさで表示されます。



2025年9月20日土曜日

3D座標付き遺物データベースのBlender格納と分析

 Blender Storage and Analysis of a Database of 3D Artifacts with Coordinates


I am currently investigating Blender storage and analysis of a database of 64,000 artifacts excavated from a shell midden, complete with 3D coordinates.

There are approximately 30 fields, and initially, I thought it would be unrealistic to store all of the information in Blender, given the need for updating information. However, as I continued my research, I came to believe that Blender is capable of storing all of the information, and that this is the key to streamlining the analysis.


貝塚から出土した64000遺物の3D座標付きデータベースのBlender格納と分析について検討を進めています。

項目(フィールド)が30くらいあり、当初は、全情報のBlender格納は情報更新なども考慮して非現実的であると考えていました。しかし、検討を進めるなかで、Blenderに全情報格納が可能で、それが分析効率化の鍵であると考えるようになりました。

1 これまでの3D座標付きデータベースの分析と表現方法イメージ

1-1 3D座標付き遺物のBlenderプロット

3D座標付き遺物(58000程度)をID(遺物番号)付きでBlenderにオブジェクト(CUBE)としてプロットします。

現在座標読取作業の一環としての予備作業として、これまでに3D座標を読みとった遺物50000をBlenderにCUBEとしてプロットしています。ただ、この作業は12000遺物のプロットに82分かかったので、58000遺物では396分(6時間半以上)かかります。しかし、1回きりの作業ですから、作業を細切れにすれば、できないことはありません。

1-2 BlenderPythonによるID-項目対応表による遺物分布分析結果の表示

3D座標付きデータベースの原簿(postgreSQLファイル)から必要な項目の情報を取り出し、その項目そののもの、あるいは項目間の関係をExcel等で分析して生成した新項目をcsvファイルにします(ID-項目対応表)。このID-項目対応表をBlenderPythonスクリプトでBlender3Dビューポートで表示します。3D空間密集性などはBlenderPythonでBlenderの中で分析し表示します。

土器の3D分布表示→(項目「遺物分類」の1「土器・土製品」を表示させる。)

骨密集域の3D分布表示→(項目「遺物分類」の5「骨・歯」を表示させる。次にBlenderPythonで密集域の大小をランク分けして色別に表示させる。

1-3 問題点と特徴

・最初の遺物プロットに時間がかかり、座標情報の訂正がある場合などに臨機の対応が困難です。

・分析毎にpostgreSQLから情報を抽出し、ID-項目対応表作成がいつも必要です。

・ID-項目対応表の範囲で、Blenderの中で直接分析作業することができます。

2 現在検討中の3D座標付きデータベースの分析と表現方法イメージ

2-1 3D座標付き遺物と項目情報のBlenderプロット

BlenderPythonにより、ID-3座標資料(csvファイル)をBlenderに点群としてプロットします。予備作業では2500遺物では一瞬であり、58000遺物では数分程度と見込まれ、時間消費は事実上無視できます。これはオブジェクト(CUBE)を生成しないためです。

BlenderPythonにより、全項目(フィールド項目)情報(csvファイル)を遺物へ「メッシュ属性」として付与します。整数による区分が可能ではない情報(文字情報など)はオブジェクトの「カスタムプロパティ」に格納します。

上記作業は最初は同時に行います。情報更新は項目毎に全情報差し替えで行い、簡易な作業でできるようです。

2-2 geometry nodesによる遺物分布分析結果の表示

geometry nodesによりメッシュ属性として付与された情報を分析してその結果を実体(オブジェクト)として表示します。Blenderのなかで作業が完結することが多いと想定できますので、分析作業の効率化が期待できます。

2-3 問題点と特徴

・全体システムはイメージであり、詳細の構築はこれからです。

・最初に実体(オブジェクト)をつくらないので、システム構築が容易です。

・分析活動の手間が減り、効率化が期待できます。

・geometry nodes習熟が必要です。

3 感想

Blenderに58000遺物×30項目情報を全部格納して、3D空間分析が可能であるとイメージできるようになったのは、自分にとって画期的です。geometry nodes習熟を急ぐことにします。


geometry nodesで生成した遺物3D分布モデル


丸3日かけて技術的トゲを抜く

 Spent three full days removing a technical thorn.


I'm currently working on creating and analyzing 3D distribution data for 60,000 artifacts excavated from a shell mound. Using Blender's geometry nodes is technically essential. However, I encountered a technical thorn: the textures on the 3D models generated using geometry nodes wouldn't stick in 3DF Zephyr Lite. It took me three full days to remove it.


貝塚出土6万遺物の3D分布データ作成分析に取組んでいます。Blenderのgeometry nodes活用が技術的に必須となっています。そんな中で、geometry nodes生成3Dモデルのテクスチャが3DF Zephyr Liteで貼り付かないという技術的トゲが刺さり、抜くのに丸3日かかりました。

1 geometry nodesによる3Dモデルの生成

Blenderにcsvファイル遺物点群(例では2500)をプロットし、geometry nodesで直径0.01mの球で表現し、赤色画像をマテリアルに貼りつけました。


遺物点群をオブジェクト(球)に変換して表示した様子(Blender画面)


geometry nodes

この赤色球2500モデルをWabefront(.obj)ファイルに書き出し、利用しだしました。Sketchfabに投稿もしました。


Sketchfab投稿画面

2 障害

作業は順調にすすんでいるようでした。しかし、そうは問屋が卸しませんでした。

このファイルを動画作成のために3DF Zephyr Liteに投入すると画像が貼り付かないで、真っ白の3Dモデルになってしまいます。MeshLabでも3Dモデルが真っ白になってしまいます。


3DF Zephyr Liteで3Dモデルが真っ白になった様子

3DF Zephyr Liteはフォトグラメトリソフトですが、自分は動画作成やカラーフィルター機能でも利用していて、Blenderといつも一緒に使っています。従って、3DF Zephyr Liteが使えない状況は必ず解決しなければならない問題です。体に刺さったトゲを放置することがないのと同じです。

3 ChatGPT相談

類似の障害は過去に経験したことがあるので、その時の障害要因を調べて対策を取りました。しかし、今回は直りません。

このような障害が発生して解決できない時はChatGPTに相談して、ほとんどの場合は解決します。そこで、今回も相談したところ、詳しい説明があり、要約すると次のようになります。

・Realize Instances + Set Material を明示的に使う

・画像テクスチャをエクスポートフォルダにコピー or Pack Resources

・マテリアル名を整理

・glTF (.glb) や FBX での書き出しを試す

しかし、それぞれ試したのですが、全てダメでした。

4 試行錯誤的検討により得られた解決策

この障害解決に試行錯誤的に丸3日取組み、結果としてgeometry nodesの書き方を変更して解決を得ることができました。


障害を解決することができたgeometry nodes

最初のgeometry nodesでは点群を球に変換し、さらにマテリアルを設定していたのですが、解決策はマテリアルを貼りつけた見本球を一つつくり、その見本球を「ポイントにインスタンス作成」につないだのです。つまり、geometry nodesの中でマテリアル設定をしなかったということです。


3DF Zephyr LiteにWabefront(.obj)ファイルを読み込んだ様子

なぜこのような障害が起き、何故この対策が障害を解決するのか、実務的に対処しているだけで、問題の意味が判っていないことは残念です。

5 感想

丸3日かけて技術的トゲを抜くことができ、よかったです。この3日間の時間消費は今後進捗するであろうgeometry nodes習熟の必要経費として喜んで支払うことにします。6万遺物の3D分析は軽い点群をgeometry nodesで実体(6万オブジェクト)に変換する操作が必須であり、geometry nodes習熟を急ぐことにします。


2025年9月14日日曜日

遺物3D分布資料の観察方法を知らないことに気が付く

 I realized I didn't know how to observe 3D artifact distribution data.


We're nearing completion of a 3D distribution data collection of tens of thousands of artifacts from the shell layer on the northern slope of the Ariyoshikita Shell Mound. I'm very concerned about developing analytical methods for this data. However, I realized, to my own blunder, that I didn't know how to normally observe or represent 3D distribution data. So I began gathering information on how to observe 3D distribution data.


有吉北貝塚北斜面貝層の数万遺物の3D分布資料が完成するメドがたちました。この資料の分析方法開発に強い問題意識を持っています。しかし不覚にも、3D分布資料の通常観察方法、表現方法を知らないことに気が付きました。そこで3D分布資料の観察方法について情報収集してみました。

1 遺物3D分布の観察方法を知らないことに気が付く

有吉北貝塚北斜面貝層の数万遺物の3D分布資料が完成するメドがたちました。その3D分布資料をいかに分析するのか、分析方法開発に強い問題意識を持っています。過去には3D密集度などの指標を開発したことがあります。

しかし、よくよく考えてみると、3D分布資料の通常観察方法(ありのままの様子の観察方法)を自分は知らないことに気が付きました。不覚なことです。平面分布資料なら「分布図」をつくれば、通常の観察はできます。GISを使えば、条件を変えて自由に分布観察できます。しかし、3D分布資料の場合、それを観察するツールの存在を自分は知っていないことに、気がついたのです。

3D分布資料ではある1視点(特定の1視点)からの観察では対象物が重なり、あるいは遠近感がわからないので、多数対象物の場合、分布特性が明瞭にならないことが普通です。多数視点資料を連続的に見る(断層撮影資料の連続観察など)とか、視点移動により動画を撮影し、その動画を見るなどの方法が必要になります。

今後、3D分布資料の観察方法について検討を深めることにしますが、まずはChatGPTから情報を引き出してみました。

2 ChatGPTからの情報

【ChatGPTへの質問】

遺物が密集して出土した貝塚を対象に、遺物の3D空間分析を目指しています。

今、Blender3Dビューポートに出土地点3D座標にもとづいて多数の遺物がプロットされています。

3Dビューポートをギズモを利用して移動・回転・拡大縮小してその分布特性を観察していますが、遺物が密集して重なるため、分布特性の把握が困難です。遺物の平面分布ならば、平面分布図を作成して観察すれば分布特性は直観的に理解できますが、3次元空間ではこのようにできません。

Blender3Dビューポートにプロットされた多数遺物(CUBEオブジェクトで表現)の3D分布特性を直観的に観察・理解する方法やツール・アドオンがあれば教えてください。

Blender以外の3Dソフトでそのような観察が可能なものがあれば教えてください。

【回答】

とても面白いテーマですね!

「3D分布を直観的に理解する」ためには、単に3Dビューポートに多数のCUBEを置くだけでは限界があるので、可視化の工夫や専用ツールが有効です。以下にBlender内でできる方法と、Blender以外の選択肢を整理しました。

1 Blender内での可視化・観察方法

1-1 カラーやサイズによる情報付加

オブジェクトの属性(例:Z座標、出土層位、種類)に応じてカラーを変化させると、分布のパターンが見やすくなります。

→ Geometry Nodes で「位置」ノードからZ値を取得し、カラーへマッピング可能。

CUBEの大きさを属性で変えると「密度」や「重要度」を直感的に表現できます。

1-2 スライス(断面表示)

モディファイアの Boolean や Clipping Region (Alt+B) を利用して、任意の高さや断面を切り出す。

断面ごとに分布を比較すれば、密集した3D構造の「層ごとの特徴」を把握可能。

1-3 点群化(CUBE→点表示)

遺物をすべて点(頂点)として表示すれば、重なりが少なく分布傾向が見やすくなります。

Geometry Nodesで Instance on Points を使い、小さなSphereや単点表示に変換。

1-4 ヒートマップ的表現

Geometry NodesやShaderで「点密度」を計算して、密集領域を色で可視化。

例:KDTreeノードアドオンやPythonスクリプトで局所的な点密度を算出し、マテリアルに反映。

1-5 Blender用アドオン

Scatterplot 3D (外部アドオン): CSV座標から点群を生成して可視化。解析用に便利。

MeasureIt / MeasureIt-ARCH: 計測やラベル表示で空間把握を補助。

2 Blender以外の3Dソフト・ツール

2-1 CloudCompare

オープンソースの点群処理ソフト。

点密度のヒートマップ表示、断面抽出、クラスタリング解析などが得意。

遺物の3D座標を「点群データ」として読み込めば直感的な解析が可能。

2-2 ParaView

科学可視化向けの強力なツール。

点群やメッシュの大規模データを扱える。

ヒストグラムや等高線、ボリュームレンダリングなど多彩な可視化が可能。

2-3 MeshLab

3Dモデルや点群の解析・処理ツール。

点群のカラーリング、断面表示、クラスタリングに対応。

2-4 専用GISソフト(ArcGIS / QGIS 3Dビュー)

3D座標をGISにインポートすれば、空間統計解析や3D分布のヒートマップが可能。

出土地点が地理座標に近い形で整理されているなら有力。

3 まとめ

●Blenderで直感的に観察するなら

→ 色分け、スライス、点群表示、ヒートマップ表現が有効。

●解析・統計的に理解したいなら

→ CloudCompare や ParaView を使って点群解析するのがおすすめ。

ご希望に合わせてさらに具体化できます。

たとえば「BlenderのGeometry Nodesで密度ヒートマップを作る方法」や「CloudCompareで断面分布を解析する手順」を詳細に説明することもできますが、どちらに興味がありますか?

3 感想

ChatGPTから試してみる価値のある情報を得ることができました。この情報を基に分布特性を直観的に理解できる3D資料作成を目指して、次の試みをしてみることにします。

1 遺物(オブジェクト)の大きさ、形状、色などの変更、表示種別の選択(全種別表示か特定種別表示か)

2 断面表示、断面連続表示(動画)

3 点群表示

4 密集域表示

5 CloudCompare、ParaView、MeshLabの試用

3D分析方法開発に熱中するまえに、そもそもの3D分布の素観察、素表現の大切さに気が付いたことは、自分にとってよかったことです。3D分布の素観察方法、素表現方法の開発がなければ、いかなる3D分布分析開発も大きな価値を持つことができません。

4 参考 有吉北貝塚北斜面貝層の遺物分布図データ(2025.09.12現在)の動画(視点直線移動)


有吉北貝塚北斜面貝層の遺物分布図データ(2025.09.12現在)の動画(視点直線移動)


動画作成の様子

オブジェクト(現在5㎝×5㎝×5㎝)をもっと小さくして、種別に色分けすれば(あるいは1種別だけの表示にすれば)、それだけで分布特性が判りやすくなりそうだと直観できます。


2025年9月12日金曜日

有吉北貝塚北斜面貝層の遺物分布図座標入力作業日誌(2025.09.12)

 Logbook for inputting coordinates into the artifact distribution map of the shell layer on the northern slope of the Ariyoshi Kita Shell Mound (September 12, 2025)


I have written a logbook for the activity of acquiring 3D coordinates for all artifacts in the shell layer on the northern slope of the Ariyoshi Kita Shell Mound. The number of 3D spatial plot artifacts has reached 50,666. It feels like we've overcome the hurdle of the work. Even inside the artifact concentration area, it is difficult to understand the distribution characteristics. This has led to the need to develop new observation techniques.


有吉北貝塚北斜面貝層の全遺物3D座標取得活動の日誌をメモしました。3D空間プロット遺物は50666となり、作業の山場は越えたようです。3D空間内部の遺物集中域には顕著な分布特性があります。しかし自分の視点を3D空間の中に入れた観察しても、遺物数が多すぎて総観的分布特性把握は困難です。そのため、人体断層撮影のような、遺物分布3Dモデルの新観察技法開発の必要性が浮上してきました。

1 有吉北貝塚北斜面貝層の遺物分布図データ(2025.09.12現在)

有吉北貝塚北斜面貝層の遺物分布図データ(2025.09.12現在)

50666遺物データ

3DF Zephyr v8.023でアップロード


3Dモデルの動画


3Dモデルの画像


3Dモデルの画像(上から、オルソ投影)

2 メモ

2-1 今回作業


Blender画面(50666オブジェクトがプロットされている様子)


今回作業分の様子


今回作業分の様子(上から、オルソ投影)

参考:12422遺物(csvファイル、ID,X,Y,Z)をBlenderにプロットするのにかかった時間は86分でした。

2-2 遺物3D分布特性を把握する新観察技法の必要性

人体断層撮影のような、遺物分布3Dモデルの新観察技法の開発が必要です。

2-3 3D分布分析技法の開発

3D空間における分布特性を把握するための遺物密集度など各種指標を開発することが必要です。

R及びPythonを活用して、ChatGPT支援のもとに、3D分布分析技法の開発に着手します。

3D分布分析技法の開発は海外事例も大いに参考することにします。


2025年9月10日水曜日

技術資料 考古学切手画像作成技術

 Technical Information: Archaeological Stamp Image Creation Techniques


I've always been dissatisfied with the poor image resolution of the archaeological stamps I post on my blog. So I decided to compare image creation methods and equipment. As expected, using a specialized photo scanner produced the best results.


ブログに掲載している考古学切手の画像精細性が雑駁であり、自分事ながらいつも不満でした。そこで画像作成の方法・機器の比較をしてみました。やはりですが、写真専門スキャナーの利用が最もよい成績となりました。

1 比較方法

スキャナーはdpi300でスキャンし、Photoshopで画像調整し、ブログ掲載用とするため300KB程度で出力しました。

カメラはスマホ(Google pixel 9a)で撮影し、Photoshopで画像調整し、ブログ掲載用とするため300KB程度で出力しました。

2 旧式スキャナーによる考古学切手画像


旧式スキャナーES-10000Gによる考古学切手画像

この画像は実際にブログ記事に使ったものです。切手現物をルーペで見た印象と較べると、あまりに雑駁です。

3 簡易プリンター附属スキャナーによる考古学切手画像


簡易プリンター附属スキャナーTS3330による考古学切手画像

旧式スキャナーによる画像より精細さは改善されましたが、実際には存在しない縞模様が出てしまっています。

4 写真専門スキャナーによる考古学切手画像


写真専門スキャナーGT-X980による考古学切手画像

スキャナーの中では最も難の少ない画像を得ることができました。ブログ掲載用としてサイズを小さくする前の画像の精細性は圧巻です。

5 カメラ撮影による考古学切手画像


スマホ(Google pixel 9a)カメラによる考古学切手画像

画像の精細性という点では写真専門スキャナーに匹敵します。(厳密には写真専門スキャナーのほうが優れているようです。)しかし、光源がセットされないとスマホの影が画像に落ちてしまうことや、正確な矩形画像は作れないこと(必ずオルソ投影画像のようにみせる補正が必要なこと)などから、この方法(カメラ一般を使う方法)は実用性がないと判断しました。

6 メモ

やはりというべきですが、考古学切手画像作成は写真専門スキャナーで高解像度スキャンをすることにします。その画像を楽しみ、活用し、最後にブログ掲載用として画質は落ちますが、サイズを小さくすることにします。

光源の付いた顕微鏡をパソコンにつなぎ、顕微鏡で考古学切手を撮影するなどの方法が可能ならば、あるいはよい結果が得られるかもしれません。いつか試してみれば面白いと思います。


2025年9月9日火曜日

考古学切手 アルタミラ国立博物館・研究センター

 Archaeological Stamp: Altamira National Museum and Research Center


A commemorative stamp for the Altamira National Museum and Research Center was issued as part of the Spanish Museum Series in April 2025. It includes the display of four Paleolithic equinohyoid pendants and the Altamira Cave bison painting.


2025年4月にスペイン博物館シリーズとしてアルタミラ国立博物館・研究センター記念切手が発行されました。旧石器時代馬舌骨のペンダント4点の展示状況とアルタミラ洞窟バイソン絵画の2つの画像が含まれています。

1 アルタミラ国立博物館・研究センター記念切手


アルタミラ国立博物館・研究センター記念切手

スペイン郵政発行 博物館シリーズ アルタミラ国立博物館・研究センター記念切手

2025年4月発行

馬舌骨のペンダント4点の展示状況とアルタミラ洞窟バイソン絵画の2つの画像から構成される

2 メモ

アルタミラ洞窟のバイソン壁画は過去に別の切手として発行されたことがあります。


スペイン切手 旧石器時代壁画 アルタミラ洞窟

3 感想

馬舌骨ペンダントの「展示状況」を切手画像としているところに興味を持ちます。考古学切手での遺物表現は通常は遺物そのものをデザインしますが、この切手では「展示状況」として遺物を紹介しています。この切手はスペイン郵政がアルタミラ博物館の活動に敬意を持って記念切手を作成した(捧げた)のだと考えました。

縄文中期土偶(柏市小山台遺跡)観察記録3Dモデル

 3D Observation Record Model of a Middle Jomon Clay Figurine (Koyamadai Site, Kashiwa City)


I created a 3D model of the observation record of the Middle Jomon Clay Figurine (Koyamadai Site, Kashiwa City), which is currently on display at the historical special exhibition "Shining! Kashiwa's Jomon All-Stars" (Kashiwa City Local History Exhibition Room). This is my second attempt at creating a 3D model in five years, and it turned out to be easier than the previous one.


開催中の歴史企画展「輝く!柏の縄文オールスター」(柏市郷土資料展示室)で展示されている縄文中期土偶(柏市小山台遺跡)の観察記録3Dモデルを作成しました。5年ぶり2回目の3Dモデル作成で、前回より難の少ないモデルができました。

1 縄文中期土偶(柏市小山台遺跡)観察記録3Dモデル

縄文中期土偶(柏市小山台遺跡)観察記録3Dモデル

撮影場所:歴史企画展「輝く!柏の縄文オールスター」(柏市郷土資料展示室)

撮影月日:2025年7月29日


展示の様子

3DF Zephyr v8.023 で生成 processing 72 images


3Dモデルの動画


3Dモデルの画像


3Dモデルの画像


3Dモデルの画像

2 メモ

5年ぶり2回目の3Dモデル作成で、前回より難の少ないモデルができました。

参照 2020.11.15記事「西洋お化けのような縄文中期土偶

乳房付近に2箇所の丸い「剥がれた跡」があるので、もともと存在していた乳房が剥がれ落ちたと考えることができます。


乳房が剥がれた跡

顔が頭から異様に飛び出しています。人形型の平なプレートを最初につくり、そのプレートに顔、乳房、妊娠腹の素材を加えてこの土偶を作ったと想像します。

西洋お化けのようなイメージは、この土偶をつくった縄文女性の神イメージを表現していると想像します。


2025年9月7日日曜日

技術メモ 3DモデルのGigaMesh Software Framework展開前に行うMeshLab変換の意義

 Technical Note: The Significance of MeshLab Conversion Before Deploying 3D Models to the GigaMesh Software Framework


3D models (Wabefront (.obj)) must be converted to MeshLab before deploying them in the GigaMesh Software Framework. After four years, I finally understand why this is necessary. ChatGPT explained it to me.


3Dモデル(Wabefront(.obj))をGigaMesh Software Framework展開する前にMeshLab変換が必要です。なぜ必要なのか、4年経ってようやく理解できました。ChatGPTに教えてもらいました。

1 3DモデルのGigaMesh Software Framework展開方法

2021.09.27記事「GigaMesh Software Frameworkの使い方 その1 6面図の作り方

2021.09.30記事「GigaMesh Software Frameworkの使い方 その2 展開図の作り方


MeshLabに3Dモデルを読み込んだ様子

2 3DモデルのGigaMesh Software Framework展開前に行うMeshLab変換の意義

【ChatGPTへの質問】

フォトグラメトリソフト(3DF Zephyr Lite)で3Dモデルを作成し、それをGigaMesh Software Frameworkで展開しています。その際、3Dモデル(Wabefront(.obj))をMeshLabで変換(MeshLabに3Dモデル読み込み→書き出し)しないとGigaMesh Software Frameworkではテクスチャが貼り付きません。従って必ずMeshLabでWabefront(.obj)を変換します。

このMeshLabによる変換とは何を変換しているのか教えてください。MeshLabによる変換の意義を教えてください。

【ChatGPT回答】

良い質問です。結論から言うと、MeshLabでの「変換」とは、OBJファイルの形式・構造を標準的な形に書き直していることです。これは単なる「形式変換」や「保存し直し」に見えますが、実は以下のような意義があります。

1. OBJファイルの仕様の違いを吸収する

OBJ(Wavefront .obj)は非常に古いフォーマットで、拡張仕様や書き方の揺れがあります。

頂点(v)、法線(vn)、テクスチャ座標(vt)の書き出し順序や有無

マテリアルファイル(.mtl)の参照方法

パス表記(相対パス/絶対パス)

エンコードや改行コードの違い

Zephyr Liteが出力するOBJは、GigaMeshが想定している書式とは一部異なり、そのままではテクスチャ情報が正しく読み込めない場合があります。MeshLabで一度読み込み→書き出しを行うと、MeshLabが内部で解釈し、標準的なOBJ/MTLの形式に整理して出力してくれます。

2. マテリアルとテクスチャのリンクを再構成する

OBJには通常、外部ファイル(.mtl)を参照してマテリアルやテクスチャを読み込みますが、以下の問題が起こりやすいです。

.mtlファイル内のテクスチャパスがZephyr独自の書き方になっている

ファイル名にスペースや特殊文字が含まれている

相対パスが不正確でGigaMeshが見つけられない

MeshLabはこれらを適切に書き直し、パスを正規化します。そのため、GigaMeshで正しくテクスチャが貼り付くようになります。

3. データの整合性を保証する

フォトグラメトリ由来のモデルには、次のような「クセ」が含まれている場合があります。

重複頂点や未使用のテクスチャ座標

異常な法線の記録

サポートされないOBJ要素(グループ指定、smoothing groupなど)

MeshLabで「インポートしてエクスポート」する過程で、余計な情報が整理され、純粋な形状+マテリアル+テクスチャのセットに変換されます。

まとめ:MeshLab変換の意義

OBJ/MTLの仕様の揺れを吸収し、標準化する

テクスチャリンクを正しく修正する

不要・不正確なデータを整理して、GigaMeshが読み込めるようにする

つまり、MeshLabは「中継フィルタ」として働き、Zephyr出力 → GigaMesh入力 の間で互換性と安定性を保証する変換をしているのです。

👉 確認ですが、ユーザーさんはMeshLabで「単に読み込み→そのままエクスポート」していますか? それともエクスポート時に何か特定のオプション(例:法線の再計算、テクスチャを埋め込む、など)を設定していますか?

【あなた:】

MeshLabで「単に読み込み→そのままエクスポート」しています。

【ChatGPT:】

なるほど、ありがとうございます 🙆‍♂️

それならまさに 「MeshLabが内部でOBJ/MTLを標準化し直している」 だけで、ユーザー側の操作は不要という状況ですね。

具体的に何が起こっているか

1. OBJの構造整理

Zephyrが出力したOBJは、OBJの「ゆるい仕様」の範囲で独自の順序や書き方をしていることがあります。

MeshLabが読み込むと、一度内部の統一的なデータ構造に変換されます。

その後、MeshLabからエクスポートすると、一般的な書式に従ったOBJ/MTLファイルとして書き直されます。

2. MTLとテクスチャ参照の修正

Zephyrが書き出したMTLファイルには、テクスチャファイルの参照に「相対パスのずれ」や「特殊な記述」が含まれていることがあります。

MeshLabは読み込み時にそれを解釈し、エクスポート時に単純で標準的な相対パスに書き換えます。

その結果、GigaMeshがテクスチャを正しく見つけて読み込めるようになります。

3. データのクリーンアップ

ZephyrのOBJには、未使用のUV座標・法線・マテリアル参照が残っている場合があります。

MeshLabは不要な情報を整理してからエクスポートするため、余分なデータが除去されたクリーンなOBJ/MTLになります。

●意義まとめ

ユーザーがMeshLabで「ただ読み込んで書き出す」だけでも、

ファイル形式のゆれを吸収

MTL/テクスチャ参照を修正

不要なデータを整理

という処理が裏で行われており、結果としてGigaMeshが問題なくテクスチャを扱えるようになっています。

🔎 ちなみに、もしMeshLabを経由せずに直接GigaMeshで使いたい場合は、ZephyrのOBJエクスポート設定(特に「テクスチャの書き出し方法」や「マテリアルパス」)を調整すれば解決できる可能性もあります。

👉 ご希望があれば、「MeshLabを経由せずZephyr→GigaMeshを直結できる設定」についても調べて整理してみますか?

【あなた:】

MeshLabを経由せずZephyr→GigaMeshを直結できる設定について教えてください。

【ChatGPT:】

お待たせしました!MeshLabを経由せずに 3DF Zephyr Lite → GigaMesh Software Framework へ直接つなげるための設定手順について、以下に整理してご案内します。

1. 3DF Zephyr Lite のエクスポート設定

OBJ/MTL 書式の選択

Zephyr Lite では、「Export Textured Mesh」機能を使い、出力形式として OBJ/MTL を選びます

3Dflow

テクスチャ形式とリスケール

テクスチャの形式としては、PNG や JPG が選択可能です。

高解像度テクスチャが必要な場合は、「Rescale Texture to Nearest Power of Two(最も近い2の冪乗サイズへのリスケール)」をONにしておくと、後工程で非対応になる可能性が減ります

3Dflow

パス指定の注意

古いバージョンでは、単一テクスチャエクスポート時に 絶対パス が出力されてしまうバグがありました。これによりスペースを含むフォルダ名でテクスチャが読み込めないことがあったため、必要に応じて .mtl ファイルを手動修正するケースもあります

Steam Community

2. Zephyr 出力ファイルの内容確認

GigaMesh では OBJ/MTL ファイルから以下が正しく読み込まれることが前提となります:

.mtl ファイルが正しくリンクされているか(mtllib と usemtl 記述)

map_Kd に正しい 相対パス or シンプルファイル名が記述されているか

テクスチャ画像ファイル(例: JPG or PNG)が .obj・.mtl と同じフォルダにあるか

これらは Blender や他のツールでも確認できる一般的なチェック項目です

Blender Stack Exchange

YouTube

SourceForge

3. GigaMesh 側の対応能力と制約

MTL の読み込み対応

GigaMesh は元来 PLY 形式を推奨している側面が強く、OBJ/MTL の取り扱いは限定的である点に注意が必要です

ウィキペディア

テクスチャ読み込みに関するバグ報告

開発側のリリースノートでは、「複数のテクスチャが欠落しているメッシュのインポートが正しく機能しないバグ」が報告されています

gigamesh.eu

これは、MTL に複数のテクスチャ指定(たとえば複数の map_Kd)がある場合、正しく読み込めない可能性を示唆しています。

4. まとめ:直結できるか?条件は?

項目 推奨設定/確認点

出力フォーマット OBJ/MTL(テクスチャ付き)

テクスチャ形式 PNG or JPG。できれば「Nearest Power of Two」にリスケール

パス指定 .mtl は相対パスかファイル名のみ

.obj 内の記述 正しく mtllib と usemtl があるかチェック

GigaMesh 読み込み 複数テクスチャがないシンプルな構成なら比較的安定

実際に直結できるか?

可能性は高いですが保証はできません

上記の通り形式を整え、シンプルな構成にすれば、多くの場合 MeshLab を挟まずに GigaMesh へとデータを渡すことが可能です

ただし、出力時のバグや GigaMesh 側の不具合のため、事前テストが推奨されます

もしよろしければ、実際にエクスポートした OBJ/MTL + テクスチャを GigaMesh に読み込む際に直面したエラーや挙動を教えていただければ、より詳しく原因を調べてアドバイスできます。お気軽にお知らせくださいね!

3 感想

なぜMeshLab変換が必要なのか、GigaMesh Software Frameworkのマニュアルでは理解できず、実務的経験的にだけ必要性がわかっていたのですが、今回ChatGPTに質問してみて、はじめてその意義を理解することができました。

ChatGPTがなければ、この状況を質問できる人やサイトはなく、永遠にわからなかったかもしれません。