2025年10月29日水曜日

技術メモ 凹みのある点群のラップ

 Technical Note: Wrapping Concave Point Clouds


I learned that Blender's Shrinkwrap modifier can wrap point clouds with objects, so I made a note of it. With some ingenuity, you can even wrap point clouds with concave 3D shapes.


BlenderのShrinkwrapモディファイアで、点群をオブジェクトで包むことができることを知りましたのでメモしました。工夫すれば点群に凹みがある3D形状でもそれに対応して包むことができます。

1 点群の事例

3D形状が馬蹄形の点群を事例とします。


点群の事例(上からオルソ投影)


点群の事例(斜めから)

2 ICO球を使ったラップ


ICO球で点群を内包した状況


Shrinkwrapモディファイアで包んだ状況

凸包のようなオブジェクトになり、馬蹄形特有の凹みが表現されていません。

CUBEなどを使っても同じ結果となります。

3 馬蹄形のオブジェクトを使ったラップ


馬蹄形オブジェクトで点群を内包した状況


Shrinkwrapモディファイアで包んだ状況

馬蹄形形状で包むことができました。点群の3D形状を観察して、それに近いオブジェクトを作成して、点群をターゲットにShrinkwrapモディファイアを適用すると、点群の3D形状が反映できます。

4 馬蹄形オブジェクトの作成


・オルソ投影上から画面で馬蹄形をベジェ曲線で描く


・べジェ曲線をメッシュに変換して面を貼る


・面を法線方向に押し出して立体化し、点群を内包する

5 メモ

この技術により、Blender3Dビューポートに頂点でプロットしてある遺物データから、遺物分布範囲をオブジェクトで特定できます。特定した遺物分布範囲をつかって、例えば一例として、実際の遺物分布から計算できる最近接距離平均と遺物分布範囲内の仮想ランダム分布の最近接距離平均の比較ができるようになります。これにより遺物分布の偏り(密集性)を数値として捉えることができます。





遺物を3D空間で統計分析するための空間設定

 Spatial Settings for Statistical Analysis of Artifacts in 3D Space


A spatial setting was created for statistical analysis of the distribution of artifacts by species excavated from the shell layer on the northern slope of the Ariyoshikita Shell Mound in 3D space. Blender's Shrinkwrap modifier was used to set up the 3D space.


有吉北貝塚北斜面貝層から出土した遺物の種別分布を、3D空間で統計分析するための空間を設定しました。3D空間設定はBlenderのShrinkwrapモディファイアを利用しました。

1 統計分析用3D空間の設定

全遺物分布をラップで覆った時に生まれる3D空間を統計分析用3D空間空間として設定することにしました。

具体的には、全遺物分布に形状が似ているオブジェクトをつくり、そのオブジェクトで全遺物を囲み、Shrinkwrapモディファイアで全遺物を包みました。


全遺物分布


統計分析用3D空間

全遺物をオブジェクトで包んだものです。


統計分析用3D空間に頂点を1万点ランダムにプロットした様子


全遺物分布-統計分析用3D空間-ランダム1万点

2 統計分析用3D空間の意味

統計分析用3D空間に基づいて遺物密度や分布形状を検討します。

遺物種別分布を検討する最初に、その遺物数と同じ数の頂点を統計分析用3D空間にランダムのプロットし、その統計と実際の分布を比較します。

ちなみに、この記事で表示する統計分析用3D空間の体積は1302立方メートルであり、遺物総数(3D座標が揃ったもの)が55892件であるため、密度は42.93件/立方メートルになります。


2025年10月27日月曜日

技術メモ BlenderPythonの「Runtime Error:csvに列IDがありません」の解決

 Technical Note: Fixing BlenderPython's "Runtime Error: CSV file contains no column ID"


I'm using a BlenderPython script that plots CSV files containing data on tens of thousands of artifacts (IDs, xyz coordinates, and numerous attributes) as vertices in the Blender3D viewport within a second. However, the other day, I suddenly got the error "Runtime Error: CSV file contains no column ID," and was unable to plot. I've written a note about how to fix this.


数万遺物データを格納したcsvファイル(ID、xyz座標、多数の属性)を、Blender3Dビューポートに1秒以内に頂点としてプロットするBlenderPythonスクリプトを重宝して活用しています。ところが先日突然、「Runtime Error:csvに列IDがありません」が出て、プロットできなくなりました。その解決策をメモしました。

1 エラーの様子


遺物プロットに使っているBlender画面(2画面用にカスタマイズ、右端コンパートメントがBlenderPythonを記述したテキストエディター)

数万遺物データを格納したcsvファイル(ID、xyz座標、多数の属性)を、Blender3Dビューポートに1秒以内に頂点としてプロットできる優れモノのBlenderPythonスクリプトを毎日重宝して活用しています。ところが先日突然、「Runtime Error:csvに列IDがありません」が出て、プロットできなくなりました。csvファイルに異常は見つかりません。ID列は正常です。試しに列を入れ替えて、先頭列をxにしたところ、「Runtime Error:csvに列xがありません」が出てしまいます。

2 エラーの原因

ChatGPTに調査依頼してエラー原因を突きとめることができました。

BlenderPythonにおけるcsvファイル読込エンコードが encoding="utf-8"であるのに対して、csvファイルのエンコードが"utf-8-sig"であったので読み込めなかったのです。

自分はcsvファイルとExcelの間での文字化け回避などで"utf-8"と"shift-jis"の違いはいつも意識していたのですが、今回はじめて"utf-8-sig"というエンコードに直面して、エラー解決できなかったのです。"utf-8-sig"というエンコードのcsvファイルができたのは、2つのcsvフィアルを操作して1つの新しいcsvファイルを作成するPythonスクリプトをChatGPT支援で作った際に混入したことも判りました。

エラーとなったcsvをWZエディターで開き、文字コードを見ると、確かにUTF-8(BOM付き)になっています。


エラーとなったcsvファイルの文字コード

エンコード"utf-8-sig"のcsvファイルでは最初列名文字先頭に「BOM(Byte Order Mark)」という目に見えない文字(`\ufeff`)が入り、列名が\ufeffIDになり、スクリプトで指定した列名IDと異なり、エラーとなりました。

3 解決策

BlenderPythonスクリプトのcsvファイル読み込み部で、encoding="utf-8"をencoding="utf-8-sig"に修正して対処しました。これで"utf-8"のcsvファイルも"utf-8-sig"のcsvファイルも正常に読み込むことができます。

また原因がわかりましたので、同じエラーが類似BlenderPythonスクリプトで出た時は上記のように修正するか、csvファイルをWZエディターで読込み、"utf-8"に変更して書き出して使うことにします。


ブログ来訪者100ヵ国通過を感謝

 Thank you to everyone from around the world for reaching 100 countries with visitors to my blog.


My blog "Walking the Hanami River Basin" has reached 100 countries with visitors from around the world. I'd like to express my gratitude to everyone from around the world.


ブログ「花見川流域を歩く」来訪者の国が100ヵ国を通過しました。世界の皆様に感謝申し上げます。

1 ブログ「花見川流域を歩く」来訪者の国が100ヵ国となる


来訪者の国旗表示

2013.04.14にカウンターを設置してからの来訪者の国が100ヵ国となりました。


来訪者の国旗地図


ブログ来訪者数総計

2011.01.15にブログを開設してからの来訪者数が1291658人となりました。

2 感謝

このブログは千葉県北西部の小河川花見川についての話題から出発し、現在では主に千葉県内縄文遺跡をテーマに、考古に関して素人が学習している様子を情報発信しています。世界に向けた情報発信を意識したものではありません。しかし、日本国内のみならずアメリカ合衆国の各州、ヨーロッパ各国をはじめ世界100ヵ国の人々に閲覧していただく栄誉を得ることができました。日本及び世界の皆様に心から感謝申し上げます。

これからも学習を深め、その様子を質の高いコンテンツとして情報発信して行きます。

ご指導のほど、よろしくお願い申し上げます。


2025年10月26日日曜日

貝層3D空間における散乱人骨と骨・歯の分布復元(遺物データベース試用)

 Reconstructing the Distribution of Scattered Human Bones and Teeth in a 3D Shell Layer (Artifact Database Trial)


I observed the relationship between the 3D distribution of scattered human bones and bones and teeth in the shell layer on the northern slope of the Ariyoshikita Shell Mound.

Since the upper layer of the scattered human bone concentration area is located at the top of the bone and tooth distribution, I believe that this corresponds to the final stage of shell layer formation. The final stage of settlement corresponds to the peak period of burials in the shell layer.


有吉北貝塚北斜面貝層の散乱人骨と骨・歯の3D空間における分布の関係を観察しました。

散乱人骨密集域上層が骨・歯分布の最上層に位置することから、散乱人骨密集域上層は貝層形成最後期に該当すると考えられます。集落終末期が貝層における埋葬盛期になります。

1 散乱人骨と骨・歯の分布3Dモデル

散乱人骨と骨・歯の分布3Dモデル

散乱人骨:314件

発掘調査報告書記載で3D座標が揃ったもの

骨・歯(散乱人骨を除く):33750件

遺物台帳記載で3D座標が揃ったもの

1件を直径5㎝球で表現

有吉北貝塚北斜面貝層

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


3Dモデルの動画

2 散乱人骨と骨・歯の分布の様子

2-1 シーン1


散乱人骨


散乱人骨と骨・歯同時表示


散乱人骨と骨・歯同時表示 拡大1


散乱人骨と骨・歯同時表示 拡大2

2-2 シーン2


散乱人骨


散乱人骨と骨・歯同時表示


散乱人骨と骨・歯同時表示 拡大1


散乱人骨と骨・歯同時表示 拡大2

3 メモ

シーン1で観察できるように、散乱人骨密集域の上層が骨・歯分布の最上層に位置します。

貝殻投棄と骨・歯投棄が食料残滓投棄という点で同時的活動であると考えます。この考えに従えば、貝殻分布と骨・歯分布は略一致するという仮説を導くことができます。この仮説に従い、散乱人骨密集域上層は貝層形成最後期に該当すると考えます。よって、貝層形成最後期=集落終末期が貝層埋葬の盛期になると、大局観として、考えます。

集落終末期になぜ貝層埋葬が増えたのか、その理由は今後の検討課題です。台地上の竪穴住居や土坑における埋葬の時期別様子を観察してから、この検討課題に取組むことにします。


貝層3D空間における散乱人骨と土器・土製品の分布復元(遺物データベース試用)

 Reconstructing the Distribution of Scattered Human Bones and Pottery/Clay Artifacts in a 3D Shell Layer (Artifact Database Trial)


I observed the relationship between the distribution of scattered human bones and pottery/clay artefacts in a 3D shell layer on the northern slope of the Ariyoshikita Shell Mound. I found that the upper layer of the area with a high concentration of scattered human bones is stratigraphically higher than the area with the highest concentration of pottery. I am pleased that the scattered human bones have helped advance the understanding of the stratigraphy within the shell layer.


有吉北貝塚北斜面貝層の散乱人骨と土器・土製品の3D空間における分布の関係を観察しました。散乱人骨密集域上層が土器最密集域より層位的に上にあることがわかりました。散乱人骨を指標に貝層内層位認識が進んだことはうれしいことです。

1 散乱人骨と土器・土製品の分布3Dモデル

散乱人骨と土器・土製品の分布3Dモデル

散乱人骨:314件

発掘調査報告書記載で3D座標が揃ったもの

土器・土製品:17481件

遺物台帳記載で3D座標が揃ったもの

1件を直径5㎝球で表現

有吉北貝塚北斜面貝層

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


3Dモデルの動画

2 散乱人骨と土器・土製品の分布の様子

2-1 シーン1


散乱人骨


散乱人骨と土器・土製品同時表示


散乱人骨と土器・土製品同時表示 拡大1


散乱人骨と土器・土製品同時表示 拡大2

2-2 シーン2


散乱人骨


散乱人骨と土器・土製品同時表示


散乱人骨と土器・土製品同時表示 拡大1


散乱人骨と土器・土製品同時表示 拡大2

3 メモ

シーン1は散乱人骨密集域主部を見たものです。散乱人骨上層と土器・土製品の関係を見ると、散乱人骨上層の中に土器・土製品も混じりますが、散乱人骨の方が優っています。

シーン2は土器・土製品密集域主部を見たものです。散乱人骨は稀です。


人骨密集域と土器密集域の関係

人骨密集域上層には土器密集も重なります。しかし、土器最密集域とは層位的に上下関係になります。

人骨密集域は上下層の分けて観察できますが、下層が土器最密集域に層位的に連続するかどうかは今は不明です。

土器最密集域の土器型式は加曽利EⅡ式土器中~新であり、集落終末期の土器が加曽利EⅡ式土器新であることが判っています。この情報に当てはめると、散乱人骨上層は集落終末期(加曽利EⅡ式土器新)のものである可能性が濃厚です。

集落終末を迎える頃、恐らく困難な状況が発生し、人口急減して不用になった土器を大量投棄し、埋葬も増えた状況が発掘情報に反映されているものと想像します。


2025年10月25日土曜日

貝層3D空間における散乱人骨分布復元(遺物データベース試用)

 Reconstructing the Distribution of Scattered Human Bones in 3D Space in the Shell Layer (Artifact Database Trial)


A 3D model of the distribution of 314 scattered human bones, recorded in excavation reports and with complete 3D coordinates, was created. The main distribution area of ​​the scattered human bones was from the settlement at the head of the Gully Valley to the river channel. The scattered human bones are distributed in clusters, suggesting that the buried remains were broken up by shell layer movement. Furthermore, the scattered human bones are distributed in two layers, one above the other, suggesting two periods of burial activity.


発掘調査報告書に記載され3D座標が揃った散乱人骨314件の分布3Dモデルを作成しました。散乱人骨のメイン分布域はガリー谷頭部の集落より流路です。散乱人骨はクラスター状分布で、貝層流動で埋葬遺体がバラバラになったと想定します。また散乱人骨は上下2層に分布し、2期の埋葬活動が想定できます。

1 有吉北貝塚北斜面貝層散乱人骨分布3Dモデル

有吉北貝塚北斜面貝層散乱人骨分布3Dモデル

散乱人骨件数(発掘調査報告書記載で3D座標が揃ったもの):314件

1件を直径5㎝球で表現

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


3Dモデルの動画


散乱人骨分布


参考 全遺物分布

2 乳児骨分布


乳児骨分布

3 接合骨分布


接合骨分布


接合骨資料

4 メモ

4-1 散乱人骨分布域

散乱人骨のメイン分布域はガリーの谷頭部の最も集落よりの流路になっています。この流路は土器投棄密集域にも重なります。

ガリー下流域斜面にも散漫に人骨が分布します。

4-2 人骨のクラスター状分布と想定埋葬形式

散乱人骨で接合した事例が1件あり、その分布がクラスター状になっていて、貝層流動の中で骨が切断して移動した様子と考えて矛盾がありません。また、散乱人骨は多くのところでクラスター状分布で構成されています。

このような状況から、貝層を掘って遺体を安置し、その上に貝層を被せた埋葬を想定すると、貝層の流動に伴い遺骨がバラバラになり、単位骨も破砕され、全体がクラスター状に分布したのではないかと想像します。最初に掘った穴(土坑)は同じ貝層で埋められたので、もしそのまま残ったとしても発掘現場での発見は困難であり、ましてや、貝層が流動しているので、痕跡はほとんど残らなかったと考えます。

発掘調査報告書では南斜面貝層の2土坑から各埋葬遺体1体が発掘され、発掘現場では土坑痕跡が不明瞭であると記載されています。


散乱人骨分布の特徴

4-3 乳児骨分布

乳児骨分布をみると、そのメイン分布域は散乱人骨メイン分布域と尾根1つ隔てた場所になっています。乳児埋葬は成人埋葬場所とは異なる場所に意識して行った場合があることを示唆していると考えます。

4-4 2層の分布

散乱人骨分布を3D画面でみるとメイン分布域では上下2層に分布している様子を観察できます。ガリー谷頭における浸食作用を上回る貝殻や土器投棄が行われ、その初期の斜面埋葬と終期の斜面埋葬の様子が上下2層の散乱人骨分布として表現されていると考えます。



2025年10月23日木曜日

貝層3D空間におけるイノシシ顎骨分布復元(遺物データベース試用)

 Reconstructing the Distribution of Wild Boar Jawbones in 3D Space in Shell Layers (Artifact Database Trial)


I created a 3D model of the distribution of 65 wild boar jawbones, each with its corresponding 3D coordinates, as described in excavation reports. In my prior research, I had found cases where wild boar jawbones were excavated in combination with hunting tools (stone arrowheads, fishhooks, arrowheads, and piercing tools made from bone, antler, and tusks). Therefore, I searched for these items throughout the entire area. Contrary to my expectations, the number of cases was only six out of a total of 65.


発掘調査報告書に記載され3D座標が揃ったイノシシ顎骨65件の分布3Dモデルを作成しました。イノシシ顎骨と狩猟道具(石鏃、骨角歯牙製釣針・鏃・刺突具)がセットで出土する事例を事前研究で見つけていたので、それを全域を対象に探しました。結果は、予想に反して6件/全65件で少ないものでした。

1 有吉北貝塚北斜面貝層イノシシ顎骨分布3Dモデル

有吉北貝塚北斜面貝層イノシシ顎骨分布3Dモデル

イノシシ顎骨件数(発掘調査報告書記載で3D座標が揃ったもの):65件

1件を直径5㎝球で表現

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


3Dモデルの動画


イノシシ顎骨分布


イノシシ顎骨出土状況

発掘調査報告書から引用、カラー化

2 イノシシ顎骨と狩猟道具との関係検討3Dモデル

イノシシ顎骨と狩猟道具との関係検討3Dモデル

イノシシ顎骨件数(直径10㎝球で表現):65件

石鏃及び骨角歯牙製釣針・鏃・刺突具件数(直径5㎝球で表現):213件

いずれも発掘調査報告書記載で3D座標が揃ったもの

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


3Dモデルの動画


イノシシ顎骨と狩猟道具分布

3 イノシシ顎骨と狩猟道具との関係分析

2025.05.17千葉縄文研究会で荒木稔・西野雅人連名で「有吉北貝塚北斜面貝層における3D空間分析用データベースの構築と活用」を発表しました。この中で、「イノシシ顎骨と狩猟道具3点の接近出土」事例に着目しました。同様の事例が別にあるかどうか、イノシシ顎骨3D座標データと狩猟道具(石鏃、骨角歯牙製釣針・鏃・刺突具)3D座標データを突き合わせて、接近性を確かめるPythonスクリプトをつくり、走らせてみました。

具体的にはイノシシ顎骨の一つ一つのデータについて、そのデータから0.3m圏内、0.5m圏内にある狩猟道具データの数をカウントしました。次のような結果となりました。

●イノシシ顎骨65件のうち、0.3m圏内に狩猟道具が出土するもの3件(うち0.5m圏内にも狩猟道具が出土するもの2件)、0.5m圏内にはじめて狩猟道具が出土するもの3件

結局、全体の9.2%にあたる6件のイノシシ顎骨について、0.5m圏内に狩猟道具出土を伴うことが判りました。この数値から、イノシシ顎骨と狩猟道具がセットで出土する事例は稀であると考えることができます。上記ペーパーを書いた時点で見つけた事例は特別な事例で、セット性はイノシシ顎骨一般に敷衍できないことが判りました。

2025年10月22日水曜日

貝層3D空間における貝刃分布復元(遺物データベース試用)

 Restoring the Distribution of Shell Blades in 3D Space in the Shell Layer (Artifact Database Trial)


A 3D model of the distribution of 264 shell blades, recorded in excavation reports and with complete 3D coordinates, was created. The distribution is characterized by a predominant location on the downstream slope of the entire shell layer on the northern slope. Additionally, there are approximately 10 areas where 3-6 blades are clustered together. It is possible to infer that the disposal of shell blades involves a different mechanism than general shell disposal.


発掘調査報告書に記載され3D座標が揃った貝刃264件の分布3Dモデルを作成しました。分布のメインが北斜面貝層全体の下流側斜面にあることが特徴です。また、3~6件が凝集している部分が10ヶ所程度存在しています。貝刃投棄について貝殻投棄一般とは異なる投棄原理があると推察できます。

1 有吉北貝塚北斜面貝層貝刃分布3Dモデル

有吉北貝塚北斜面貝層貝刃分布3Dモデル

貝刃件数(発掘調査報告書記載で3D座標が揃ったもの):264件

1件を直径5㎝球で表現

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


3Dモデルの動画


貝刃の分布

2 磨貝分布


磨貝分布


参考 全遺物分布

3 メモ

貝刃分布のメインが北斜面貝層全体の下流側斜面にあることが特徴です。また、3~6件が凝集している部分が10ヶ所程度存在しています。貝刃投棄について貝殻投棄一般とは異なる投棄原理があると推察できます。

磨貝は件数が18件で数が少ないので、分布の詳しい分析は不向きですが、貝刃分布とは逆に北斜面貝層上流側にメイン分布域があります。磨貝の用途仮説の一つに毛皮なめし道具説があります。この仮説に立脚すると毛皮なめしに関わった人々がその道具の廃棄(埋納)場所に北斜面貝層上流側を使っていたという説明になります。


貝層3D空間における装飾品分布復元(遺物データベース試用)

 Reconstructing the Distribution of Ornaments in 3D Space in the Shell Layer (Artifact Database Trial)


I created a 3D distribution model of 55 ornaments (clay, stone, bone, horn, tooth, and shell) described in excavation reports with complete 3D coordinates. Notably, ornaments were excavated in large numbers from the downstream slope of the shell layer on the northern slope.


発掘調査報告書に記載され、かつ3D座標が揃った装飾品(土製、石製、骨角歯牙製、貝製)55件の分布3Dモデルを作成しました。装飾品は北斜面貝層の下流部斜面から多く出土していることが特徴です。

1 有吉北貝塚北斜面貝層装飾品分布3Dモデル

有吉北貝塚北斜面貝層装飾品分布3Dモデル

装飾品件数(発掘調査報告書記載で3D座標が揃ったもの):55件

内訳

土製耳飾(前期耳飾1件、中期耳飾4件)赤色:5件

石製装飾品(コハク製装飾品など)青色:11件

骨角歯牙製装飾品(イノシシ犬歯製垂飾など)灰色:17件

貝製装飾品(イモガイ製腰飾など)黄色:22件

1件を直径5㎝球で表現

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


3Dモデルの動画


装飾品の分布

2 素材別装飾品分布

2-1 土製耳飾分布


土製耳飾分布

2-2 石製装飾品分布


石製装飾品分布

2-3 骨角歯牙製装飾品分布


骨角歯牙製装飾品分布

2-4 貝製装飾品分布


貝製装飾品分布

2-5 参考 全遺物分布


全遺物分布

3 メモ

装飾品の分布は貝層分布域に限られています。

装飾品は北斜面貝層の下流部斜面から多く出土していることが特徴です。この傾向は貝製装飾品で顕著です。ただし、土製耳飾は全て上流部それも谷頭部から出土しています。

装飾品の投棄(埋納)は単純な廃棄活動が考えづらく、埋葬や何らかの祭祀と関わっていたと想像しますので、その分布を今後詳しく検討します。