2025年12月28日日曜日

有吉北貝塚北斜面貝層剥ぎ取り断面 下部小部分3Dモデル

 3D Model of a Small Lower Section of the Shell Layer Stripped Section on the North Slope of the Ariyoshikita Shell Mound


I created a 3D observation record model of a small lower section of the shell layer stripped section on the north slope of the Ariyoshikita Shell Mound, which is on permanent display at the Chiba Prefectural Museum and Institute. This is not a "showy 3D model," but rather a 3D model for detailed observation and measurement.


千葉県立中央博物館に常設展示されている有吉北貝塚北斜面貝層剥ぎ取り断面の下部小部分について観察記録3Dモデルを作成しました。「見せる3Dモデル」ではなく、自分が詳しく観察計測するための3Dモデルです。

1 有吉北貝塚北斜面貝層剥ぎ取り断面 下部小部分3Dモデル

有吉北貝塚北斜面貝層剥ぎ取り断面 下部小部分3Dモデル

撮影場所:千葉県立中央博物館常設展

撮影月日:2025.12.20


3Dモデルの範囲

3DF Zephyr v8.038で生成 processing 151 images


3Dモデルの動画


3Dモデルの画像


3Dモデルの画像(撮影ポイント表示)

2 メモ

剥ぎ取り断面の詳細検討の参考とするために、小部分の精細3Dモデル作成を試みました。撮影部分が粗の部分は穴あきが生じるなど「見せるモノ」にはなりませんが、自分が詳しく観察する資料としては十分に使える見込みです。

現場で貝殻と土器片以外の石器・貝刃などの遺物がないか詳しく観察したのですが、骨片以外の遺物は確認できませんでした。小骨片がこの3Dモデルの中にも幾つも観察できます。

土器片が全て表面(文様のある面)を下にして存在していることは注目に値します。急斜面葡行に関連した事象だと直観します。

同様の小部分3Dモデルを剥ぎ取り断面最下部についても作成中です。

今回撮影のメインは剥ぎ取り断面下部全体の3Dモデル作成用です。下部全体3Dモデル作成用撮影枚数は1053枚になりました。追って3Dモデル作成予定です。

これらの3Dモデルをじっくり観察・計測して、「現場」でないと判らない斜面貝層特性の把握に迫る予定です。

3 撮影許可

事前に電話で撮影許可をいただきました。

当初、必要な手続きを問い合わせたのですが、対応していただいた方は「考古資料室は撮影禁止になっているが、それは撮影禁止対象物が幾つかあるため便宜的に室全部を撮影禁止にしている。剥ぎ取り断面は本来撮影禁止対象ではないので、フラッシュを使わなければ撮影して結構です。」とのことでした。

現場で撮影していました。ところが、撮影がかなり進んだ段階で、撮影枚数ががあまりに多いのでボランティアの方に「不審者」と間違われ「すぐに帰ってほしい」との現場状況となりました。駆けつけた職員の方に説明して撮影を継続することができました。念のためその場で撮影許可申請も行いました。

今回撮影枚数は全部で1293枚で、少しずつ足をずらすカニ歩きで移動しながらシャッターを切るのですが、ボランティアの方には見慣れない行動であり、不安感を与えてしまったのかもしれません。なお、撮影と観察は2時間半ほど行いましたが、この間この展示を観覧した方は1組だけで、その方の観覧の時は撮影を自粛しています。

以前、別の館で同じ状況がありました。撮影が許される場所で、撮影枚数が多すぎるので撮影は止めて欲しいとの要請が職員の方からありました。撮影枚数が多くなると。3Dモデル作成などの技術知識が無い方には、撮影目的が理解できなくなってしまい、展示物に対して何か良くないことが生まれるという不安感が管理責任感の強い方に生まれるようです。


2025年12月22日月曜日

Blender オブジェクトの部分選択範囲の面積測定

 Measuring the Area of ​​a Selected Part of an Object in Blender


I created a Blender Python script that selects a portion of an object in the Blender 3D viewport and measures the area of ​​that selection.


Blender3Dビューポートにおいてあるオブジェクトの一定部分を選択し、その選択範囲の面積を測定するBlenderPythonスクリプトを作成しました。

1 オブジェクト部分選択範囲の面積測定BlenderPythonスクリプト

import bpy
import bmesh

obj = bpy.context.edit_object
mw = obj.matrix_world

bm = bmesh.from_edit_mesh(obj.data)

# 選択面があるか確認
if not any(f.select for f in bm.faces):
    print("No faces selected. Face Select(3)で面を選択してください。")
    raise SystemExit

# 選択状態を保ったままコピー
bm2 = bm.copy()

# コピー側で「選択面」だけ取得(index対応は使わない)
sel2 = [f for f in bm2.faces if f.select]

# 選択面だけ三角化し、生成された三角形(result['faces'])だけを使う
res = bmesh.ops.triangulate(bm2, faces=sel2)
tri_faces = res.get("faces", [])

area = 0.0
for f in tri_faces:
    if len(f.verts) != 3:
        continue
    v0, v1, v2 = [mw @ v.co for v in f.verts]
    area += 0.5 * (v1 - v0).cross(v2 - v0).length

bm2.free()

print("Selected face area (WORLD, triangulated selection only) =", area)
2 使い方

・BlenderPythonスクリプトをBlenderテキストエディターにコピー

・エディターモードでオブジェクトの部分を選択

・BlenderPythonスクリプトを走らせる。

・システムコンソールに面積が表示される。

(システムコンソールはウィンドウ→システムコンソール切り替えで事前に表示しておきます。なおデフォルトでシステムコンソールは文字化けしていますが、面積は正常に読み取れます。)


立体オブジェクトの一部を選択した様子


システムコンソールに面積測定結果が表示された様子

3 特別な性能

・オブジェクトのスケールが(1,1,1)でなくても、つまり非等方スケール(例 (30、30、1))でも、3Dビューポートにおける正確な面積を測定します。

4 無料アドオン3D Print Toolboxについて

Blenderアドオン3D Print Toolboxで立体オブジェクトの体積と表面積を測定できます。平面メッシュなら、その表面積を測定できます。しかし、立体オブジェクトの部分を選択してその面積を測定することはできません。

11断面幅20㎝スリットの遺物(製品)件数

 Number of artifacts (products) from the 11-section, 20cm-wide slit


The artifacts excavated from the 11-section, 20cm-wide slit were collectively classified as pottery, stone tools, bone-horn-and-tooth artifacts, and shell artifacts, and the number of artifacts was tallied. The results were then analyzed by shell layer. Four layers showed a significant number of artifacts, and I will be focusing on these layers in the future.


11断面幅20㎝スリットから出土した遺物のうち土器、石器、骨角歯牙製品、貝製品を製品として一括し、件数を集計しました。集計結果を貝層分層別に表現して観察しました。4つの分層からの製品出土が顕著であり、今後これらの分層に注目することにします。

1 11断面幅20㎝スリット出土遺物(製品)の分層別集計


11断面幅20㎝スリット出土遺物(製品)の分層別集計

2 11断面幅20㎝スリット出土遺物(製品)件数 分級表示


11断面幅20㎝スリット出土遺物(製品)件数 分級表示

3 メモ

11断面幅20㎝スリットから出土した遺物のうち土器、石器、骨角歯牙製品、貝製品を製品として一括し、件数を集計しました。集計結果を貝層分層別に分級表現して観察しました。製品出土が顕著な分層は斜面成混土貝層のS3、S2、流路性混土貝層のXと黒褐色土のKです。今後、れらの分層に注目することにします。


11断面幅20㎝スリットの貝層分層別遺物密度(件/㎥)

 Artifact density (items/m3) by shell layer stratification in 11 cross-sections of a 20cm-wide slit


The artifact density (items/m3) by shell layer stratification was measured in 11 cross-sections of a 20cm-wide slit. The artifact density was found to be particularly high in the slope shell layer.


11断面幅20㎝スリットの貝層分層別遺物密度(件/㎥)を計測しました。斜面性貝層の遺物密度がとりわけ高いことが判りました。

1 11断面幅20㎝スリット出土遺物の分層別集計


11断面幅20㎝スリット出土遺物の分層別集計

分層別断面積はBlender3Dビューポートで特性BlenderPythonスクリプトで計測しました。分層別体積は断面積(㎡)×0.2mで算出しました。

2 11断面遺物密度(件/㎥)


11断面遺物密度(件/㎥)

斜面性貝層の遺物密度がとりわけ高いことが判ります。


参考 11断面遺物件数


参考 貝層区分と名称

3 分析


遺物件数と遺物密度

遺物件数/密度という観点からみると斜面性混土貝層(S1、S2、S3)グループと斜面性黒褐色混土貝層(R1、R2、R3)グループが最も主要な貝層であることが判ります。

S1、S2と比べてS3の遺物密度が低くなっています。これは遺物数に対して貝殻体積が大きいことを意味しています。つまりS3の時期に貝が豊漁であったことを示していると想定できます。セクション図では、S3層はハマグリ純貝層として記載されています。なおS3が全層位のなかで最上位ですから、北斜面貝層発達史の最終局面でハマグリが豊漁だったことになります。

斜面性混土貝層(S1、S2、S3)グループと斜面性黒褐色混土貝層(R1、R2、R3)グループの違いは遺物件数の違いになります。遺物件数が違うというこが何を意味するか、興味が深まります。もし、集落活動の活性状況を表現しているとすれば、貝層そのものの違い(色、貝殻構成など)と合わせて、環境復元の世界に足を踏み込むことができるかもしれません。

遺物件数/密度という観点から流路性混土(砂)貝層(V、W、X)グループ、黒褐色度(K)、流路性土層(D5)も興味対象になります。

なお、以上のもの以外の貝層分層はHを除き全て遺物を含んでいて、なぜそこから遺物が出土するのかという全く逆の観点からの強い興味対象となります。


2025年12月20日土曜日

11断面幅20㎝スリット出土遺物の貝層分層別集計

 Tabulation of artifacts excavated from 11 cross-section, 20cm-wide slits by shell layer stratification.


Artifacts excavated from 11 cross-section, 20cm-wide slits on the northern slope of the shell layer at the Ariyoshikita Shell Mound were tabulated by shell layer stratification. A tendency for artifacts to increase after the second stage of shell layer development and a tendency for artifacts to be more abundant in the mixed-soil shell layer were observed.


有吉北貝塚北斜面貝層の11断面幅20㎝スリットから出土した遺物について、貝層分層別に集計しました。貝層発達の第2段階以降遺物が増える傾向と混土貝層で遺物が多い傾向が観察できます。

1 11断面幅20㎝スリット出土遺物の貝層分層別集計


11断面幅20㎝スリット出土遺物の貝層分層別集計

2 11断面遺物件数 貝層分層別分級表示


11断面遺物件数 貝層分層別分級表示


11断面 遺物プロットと貝層分層

3 参考 これまでの検討


11断面 貝層区分と名称


11断面 貝層区分と発達段階


11断面 営力検討資料

4 メモ

有吉北貝塚北斜面貝層の11断面幅20㎝スリットから出土した遺物について、貝層分層別に集計しました。貝層発達の第2段階以降の混土貝層で遺物が増える傾向が読み取れます。ただ。K黒褐色土(第1段階)は遺物出土が多くなっていて、K層内の分布が最上部に偏っていて、特異です。今後K層について検討を深めることにします。混土貝層以外の崩落層、土層では遺物出土が少なくなっています。H崩落層は遺物出土が0です。

この集計結果について、遺物密度(件数/分層体積)や遺物種別(製品と食料残滓別)などについてさらに検討を続けます。


2025年12月17日水曜日

技術メモ 断面幅20㎝スリットから出土した遺物の分層別集計方法

 Technical Note: A method for counting artifacts by layer excavated from a 20cm-wide slit.


I developed a method for counting artifacts by layer excavated from a 20cm-wide slit. I used layer lines from Illustrator and Blender Python to count the artifacts.


断面幅20㎝スリットから出土した遺物の分層別集計方法を具現しました。Illustrator由来の分層線を利用してBlenderPythonで集計します。

1 断面幅20㎝スリットから出土した遺物


断面幅20㎝スリットから出土した遺物(11断面)

2025.12.06記事「11断面幅20㎝スリットから出土した遺物抽出」参照

2 断面幅20㎝スリットから出土した遺物の分層別集計方法

2-1 分層別集計用メッシュオブジェクト作成


分層と遺物分布

分層線はIllustrator由来のカーブ

遺物は点群で2つの属性(id,bunruicode)を具備しています。


S3混土貝層の集計用メッシュオブジェクト

分層線(カーブ)から押し出しと面貼りを利用して、遺物を完全に内包するメッシュオブジェクトを作成します。

2-2 BlenderPythonによる分層内遺物集計

集計用BlenderPythonをChatGPT支援で作成しました。集計は分層毎に行い、遺物リストと分類コード別集計(統計)の2つのcsvファイルを生成します。


集計と統計のcsvファイル

3 メモ

少し前まで、手にカウンターを持って、画面を見ながら数えるようなこともあったのですが、そうした活動はようやく過去のものとなりました。


2025年12月16日火曜日

技術メモ Illustratorで描いたパスをBlenderにプロットする方法

 Technical Note: How to Plot Paths Drawn in Illustrator to Blender


I plotted the shell boundary lines of a section drawing drawn in Illustrator to Blender as an SVG file. This eliminated the need to draw the same boundary lines twice in Blender.


Illustratorで描いたセクション図の貝層界線をSVGファイルでBlenderにプロットしました。これにより、Blenderで同じ界線を描く二度手間が解消されました。

1 Illustratorで描いたパスのBlenderプロット


Illustratorで描いたパスのBlenderプロット

Illustratorで描いた貝層界線(パス)をSVGファイル出力し、Blenderにインポートするとカーブになります。カーブの位置、大きさを正確に調整してからメッシュオブジェクトにすることにより、遺物点群集計などに使うことができます。


Illustratorで貝層界線(パス)を描いている様子


Illustratorで描いたパス

2 メモ

界線カーブをメッシュオブジェクトに変換し、押し出しにより厚みを持たせ、両側に面を貼ることで、貝層分層の姿に対応した3次元メッシュオブジェクトをつくることができます。このメッシュオブジェクトを利用して、スリットに分布する遺物を貝層分層毎に把握、集計できるようになります。


スリット分布遺物の貝層分層別集計用のメッシュオブジェクト

技術メモ セクション図を正確にBlenderにプロットする方法

 Technical Note: How to Accurately Plot Sectional Drawings in Blender


I've written a note on how to accurately plot sectional drawings in Blender. You can accurately plot them by calculating the image's center of gravity and size in the same units as the Blender3D viewport.


セクション図を正確にBlenderにプロットする方法をメモしました。Blender3Dビューポートと同じ単位で画像の重心位置と画像大きさを求めれば、正確にプロットできます。

1 セクション図を正確にBlenderにプロットする方法


セクション図を正確にBlenderにプロットする方法

1-1 画像重心位置、画像寸法を求める

画像ソフト(Illustratorなど)で画像の重心位置と寸法をBlender3Dビューポートと同じ単位で求めます。

画像ソフトによる計測値(例 pixel)を画像内スケール(例 Blender3Dビューポートで1mに該当する距離のpixel値)で換算してBlender3Dビューポート単位とします。

1-2 Blenderプロット

1-2-1 画像追加

Blenderに画像をメッシュオブジェクトで追加します(追加→画像→平面メッシュ)。次に画像の向きを回転で正しく調整します。

1-2-2 位置と寸法の記入

画像重心位置の数値をBlender→アイテム→トランスフォーム→位置の欄に記入します。

画像寸法の数値をBlender→アイテム→トランスフォーム→寸法の欄に記入します。

これで画像は正確にプロットされます。

2 メモ

発掘調査報告書掲載断面図は縮図略記トレースの過程で誤差が入り込んでいますが、セクション図原本から作成した図面はそれより誤差が少ないので、今後作成したセクション図のプロットを進めることにします。

3 参考

Blenderに画像をメッシュオブジェクトで追加する手順は追加→画像→平面メッシュです。この平面メッシュの説明が「画像ファイルからメッシュ平面を適切なアスペクト比で作成します」となっています。

この説明を読んで、「適切なアスペクト比に直されてしまう(縦横比を変更されてしまう)」可能性を心配したのですが、調べると、「画像ファイルからメッシュ平面を画像ファイル通りの正確なアスペクト比で作成します」という意味であることが判りました。


2025年12月15日月曜日

崩落層形成モデル

 Collapse Layer Formation Model


A model (schematic diagram) of the formation of the H Collapse Layer and I Collapse Sand Layer, deposited below the cliff at cross section 11 of Shell Layer on the northern slope of the Ariyoshikita Shell Mound, was created. It is believed to be caused by a collapse of the upper part of the steep slope.


有吉北貝塚北斜面貝層11断面の急崖下に堆積しているH崩落層、I崩落砂層の形成モデル(模式図)を作成しました。急斜面上部の崩落に因るものと考えます。

1 H崩落層、I崩落砂層の形成モデル(模式図)


H崩落層、I崩落砂層の形成モデル(模式図)

H崩落層、I崩落砂層の形成は急斜面上部の崩落に因るものと考えます。

11断面以外の断面における崩落層の形成も全てこのモデルを基本に考えることができそうです。

2 メモ

崩落層にHという符号を、崩落砂層にIという符号を付与しただけで、これまで思考のピントが合わなかった崩落層形成モデルが浮かび上がってきたのですから、不思議です。思考対象物に名前を与えることはその対象物理解促進に直結します。


全貝層区分に名称(符号)を付与

 All shell layer sections have been given names (codes).


All shell layer sections in the representative cross sections (11 cross sections) of the shell layer on the northern slope of the Ariyoshikita Shell Mound have been given names (codes). This will allow for a deeper understanding of the individual shell layers.


有吉北貝塚北斜面貝層の代表断面(11断面)の全貝層区分に名称(符号)を付与しました。これで貝層の個別認識が深まります。

1 有吉北貝塚北斜面貝層11断面の貝層区分名称


有吉北貝塚北斜面貝層11断面の貝層区分名称

G:基底砂層(貝を含む→11断面ガリー侵食地形形成時に貝殻投棄があった証拠)

V:混砂貝層(G当時のガリー流路堆積物)

D2:土層(Vに対応する土層)

D1:崩落砂層(D2の下位にある崩落砂層)

H:崩落層(大きなロームブロックを含む。この場に投棄され形成した貝層がある)

I:崩落砂層

K:黒褐色土(静水堆積物の層相)

W:混砂貝層(kと漸移するガリー流路堆積物)

D3:土層(Wに対応する土層)

Q:混砂貝層(上部は斜面性貝層)

R1:黒褐色混土貝層

S1:混土貝層

R2:黒褐色混土貝層

S2:混土貝層

R3:黒褐色混土貝層

X:混土貝層(R3に対応)

D4:土層(Xに対応)

S3:混土貝層

D5:土層(S3に対応)

2 貝層区分と営力との関係


貝層区分と営力との関係


貝層区分と営力との関係

G:基底砂層(11断面ガリー侵食地形形成時の水流)

V:混砂貝層(ガリー流路水流)

D2:土層(ガリー流路水流)

D1:崩落砂層(重力)

H:崩落層(重力)

I:崩落砂層(重力)

K:黒褐色土(ガリー流路水流)

W:混砂貝層(ガリー流路水流)

D3:土層(ガリー流路水流)

Q:混砂貝層(重力・葡行)

R1:黒褐色混土貝層(重力・葡行)

S1:混土貝層(重力・葡行)

R2:黒褐色混土貝層(重力・葡行)

S2:混土貝層(重力・葡行)

R3:黒褐色混土貝層(重力・葡行)

X:混土貝層(ガリー流路水流)

D4:土層(ガリー流路水流)

S3:混土貝層(重力・葡行)

D5:土層(ガリー流路水流)

3 メモ

全貝層区分に名称(符号)を付与することにより、それだけで貝層個別認識が深まりました。早速、H(崩落層)の由来(崩落システムの合理的イメージ)が脳裏に浮かんできました。


有吉北貝塚北斜面貝層 堆積順番による貝層区分

 Shell Layers on the North Slope of the Ariyoshikita Shell Mound: Shell Layer Classification by Depositional Sequence


The shell layer classification of the north slope of the Ariyoshikita Shell Mound (pure shell layer → shell-rich layer → shell-poor layer) is based on the volume ratio of shell content. This classification is only valid at a specific cross-section. Expanding the cross-section or crossing cross-sections makes it impossible to trace the continuity of the shell layers. Therefore, I decided to change the shell layer classification to one based on depositional sequence. This opens up the possibility of tracing the shell layer classification across the entire surface.


有吉北貝塚北斜面貝層の貝層区分(純貝層→混土貝層→混貝土層)は貝殻分量の体積比に基づいています。この区分は特定断面ポイントだけで通用します。断面を拡げたり、断面をまたぐと貝層連続性を追跡できなくなります。そこで、貝層区分を堆積順番に基づく区分に変更することにしました。これにより貝層区分を面的に追跡できる可能性が生まれます。

1 発掘調査報告書における貝層区分


発掘調査報告書における貝層区分

発掘調査報告書における有吉北貝塚北斜面貝層の貝層区分(純貝層→混土貝層→混貝土層)は貝殻分量の体積比に基づいています。この区分は観察した特定断面ポイントだけで通用します。断面を拡げたり、断面をまたぐと貝層連続性を追跡できなくなります。これは斜面に投棄された全ての貝層が重力と葡行により貝殻分量の体積比が上から下に向けて大きく変化するためです。

セクション図には次のような記載がみられ、貝層が上部では貝混入率が低く(混土率が高く)、下部で高い(純貝層になる)という現実の姿が表現されています。

「高い方の部分には混土率が高く、下方にしたがい純貝層に近い」(S1について)

2 堆積順番に基づく貝層区分


堆積順番に基づく貝層区分

発掘調査セクション図では、貝層堆積順番が分層されています。この分層を現場写真の様子と対応させることができます。現場写真から貝層層相の様子(白い貝層か、黒い貝層かなど)を読み取ることができます。これらの情報、つまりセクション図分層区分と現場写真の対応から、堆積順番を示す貝層区分が可能であると考え、11断面でその試案を作成しました。

なお、貝殻が土と混ざりあっているのか(混土貝層、混貝土層)、砂と混ざりあっているのか(混砂貝層、混貝砂層)という区分が結果として、貝層形成の時期と関係していることを指摘できます。つまり、11断面で言えば、混砂貝層、混貝砂層は11断面附近ガリー侵食中から後の一定期間に、混土貝層、混貝土層はその後のガリー侵食の影響が収まった時期に対応しています。

3 貝層発達段階


貝層発達段階

3-1 第1段階

・11断面附近におけるガリー侵食の進行→基底砂層形成、崩落層形成、崩落砂層形成(貝混入、貝投棄あり)、混貝砂層形成(斜面性貝層)、混砂貝層形成(ガリー流路最下部)

・ガリー流路(断面垂直方向)のダムアップ→崩落層前面にK層(黒褐色土)形成

・ガリー流路ダムアップの解消→K層(黒褐色土)の上部侵食、混砂貝層形成(ガリー流路)

3-2 第2段階

・R1層(黒褐色混土貝層)、S1層(混土貝層)、R2層(黒褐色混土貝層)、S2層(混土貝層)形成

(R1層、S1層、R2層、S3層に対応するガリー流路堆積層がない。上流でのガリー侵食が虚弱で、堆積物材料の供給が無かったことを示唆する。)

3-3 第3段階

・R3層(黒褐色混土貝層)、混土貝層(ガリー流路堆積層)形成

(ガリー流路堆積が急速に進み、その時期がR3層に対応する。急激なガリー流路堆積は上流でのガリー侵食活発化による堆積物材料の多量供給を示唆する。)

3-4 第4段階

・S3層(混土貝層)形成

(混土貝層の量が多く、S3層形成期間が長かったか、貝採取量が多かったかなどの検討が課題となる。)

(ガリー流路堆積がほとんどない。上流におけるガリー侵食が虚弱で堆積物材料の供給がほとんどなかったと想定される。)

4 貝層形成に関わる主な営力


貝層形成に関わる主な営力

5 メモ

・R1層、S1層、R2層、S2層、R3層、S3層、K層の命名だけでは説明が困難なので、他の貝層も今後全て命名することにします。

・第1段階前半の事象つまり11断面附近でのガリー侵食進行にともない崩落層が生じた機構について検討を深めることにします。崩落層には貝や土器が含まれています。崩落層中に「ブロックではない貝層」も報告されていますから、崩落層形成中にも貝層投棄が行われた可能性があります。

・第1段階後半の地象つまりK層の形成やその上部侵食などの地学事象はとてもダイナミックであるので、検討を深めることとします。

・11断面貝層の検討からガリー流路上部の侵食の様子を推定することができそうです。

・貝層検討の次のステップは、11断面の検討を前後の断面(10断面、剥ぎ取り断面、12断面)に敷衍していくことです。


2025年12月10日水曜日

剥ぎ取り断面の貝殻方向記録ツールの試作

 Prototype of a Tool for Recording Shell Orientation in Stripped Sections


We developed a prototype tool in Python to record the orientation of bivalves in stripped sections of shell layers on the northern slope of the Ariyoshikita Shell Mound (exhibited at the Chiba Prefectural Museum and Institute). Using this tool, we realized its potential for obtaining information related to the possible downslope migration of bivalves.


有吉北貝塚北斜面貝層剥ぎ取り断面(千葉県立中央博物館展示)の二枚貝方向を記録するツールをPythonで試作しました。このツールを試用したところ、二枚貝が斜面移動した可能性に関わる情報を得られる可能性を実感しました。

1 剥ぎ取り断面貝殻方向記録ツール

1-1 ツールの機能

断面写真から二枚貝について次の情報をcsvファイルに記録します。

・二枚貝の位置座標

・二枚貝と断面の交差切片が水平と成す角度(+90°~0°~-90°)

・二枚貝の貝殻の上下方向

1-2 ツールに使う写真

剥ぎ取り断面の3Dモデルを作成し、そのオルソ投影画面を使います。これにより貝殻角度測定の精度が増します。この記事では便宜的に通常撮影写真を使いました。通常写真をオルソ投影できれば、それでも十分実用的に使えそうです。

写真には座標を設定するための正方形を描き込みます。

このツールを正式活用する時には剥ぎ取り断面単位(2m×2m)を区画割りし、その一部の小区画写真をツールに適用することになります。


剥ぎ取り断面写真(オルソ投影していない)


ツール試用に使った剥ぎ取り断面写真(500pixel×500pixel)

1-3 ツール操作と情報記録

Pythonスクリプトを起動すると次の画面が出ます。


最初画面

この画面で座標空間を設定します。正方形枠の左下をクリックするとその場所が(0、0)、右上をクリックするとその場所が(1、1)となり、座標空間が設定されます。

この座標空間設定画面で二枚貝の左端、右端をクリックし、上下ボタンのどちらかをチェックし、「この線分を記録」をクリックすると、線分が青線で、線分の中点が赤丸で表示されます。内部的に中点座標、線分角度、上下(1か2)が記録されます。


二枚貝角度記録画面(最初の1つの二枚貝の記入が済んだ状態)


二枚貝角度記録が進んだ画面

全ての角度記録が終わったら、「csv保存して終了」をクリックします。記録がcsvファイル保存されます。


csvファイル(一部)

2 ツールの試用実感

ツールの使用感は快適であり、このツールを本格活用できる感覚を得ることができました。

二枚貝角度記録画面とcsvファイルから、プラスの角度(右上がり)が少なく、マイナスの角度(右下がり)が多いことが判ります。また、上向き(上に凸)より下向き(下に凸)が多いことが判ります。これらの情報は二枚貝が斜面(右下がり)を葡行移動したことと関連する情報である可能性があり、有用情報を獲得できる可能性を実感しました。また二枚貝角度記録画面から、葡行移動の結果としての「構造」にアプローチできる可能性も感じました。

このツールを本格活用することにします。

3 関連ツールの作成

記録csvファイル(座標、角度、上下)を分析するツールを引き続き作成します。平面上で構造を浮彫にするツールや角度頻度グラフなどを予定します。

4 ChatGPT感想

このツール(Pythonスクリプト)はChatGPT支援で作成しました。基本部分は30分で、スクリーンショット書き出し部分は細部不都合の直しで2時間かかり、合計2時間半で完成しました。

ChatGPTの支援が無ければこのような機能実現は自分の実力ではほぼ不可能です。

自分の活動に果たすChatGPTの役割がとても大きなものであることを実感します。


2025年12月8日月曜日

分層線と地面との斜交問題

 Problem of oblique intersection of the bedding line with the ground surface


In many cross sections of the shell layer on the northern slope of the Ariyoshikita Shell Mound, the bedding line intersects the ground surface obliquely. This problem has been resolved. The top of the shell layer was removed obliquely relative to the bedding line during pre-excavation topsoil removal.


有吉北貝塚北斜面貝層の貝層断面の多くで、分層線が地面と斜交しています。この問題を解決しました。発掘前表土除去により貝層最上部が分層線に対して斜めに除去されたためです。

1 貝層分層線が発掘時地面と斜交している様子


貝層分層線が発掘時地面と斜交している様子

この斜交は5断面~12断面で観察できます。

2 発掘調査開始時点の地面の様子


発掘調査開始時点の地面の様子


発掘調査開始時点の地面の様子


発掘調査進行中の様子

発掘調査開始時点ではすでに表土とともに貝層の一部が除去され、既に貝層が全面的に露出しています。

また、調査用通路を確保するために貝層上部がL字状に掘削されています。

3 斜交発生の解釈

発掘調査開始前の表土除去において、貝層の深さが判らないために、貝層が出るまで、つまり貝層の最上部を除去して貝層が完全に露出するまでの表土を重機で除去したと考えられます。この時、形成した地面勾配が貝層分層線の勾配より浅い角度であったため、5断面~12断面全てで斜交問題が発生したと考えます。11断面を例に斜交問題発生を理解するための模式図を次に作成しました。


11断面 発掘前後の模式的理解

4 参考 表土除去前の北斜面貝層の様子

発掘調査における表土除去まえの北斜面貝層の様子がどうだったか、発掘調査開始(1984年)以前の空中写真から3Dモデル作成を試みました。

1975年撮影空中写真の2枚が利用できるので、3DF Zephyr Liteで3Dモデル化を試みたのですが、どんなに贔屓目にみても、参考になる3Dモデルにはなりませんでした。

しかし、肉眼立体視をすると、北斜面貝層の部分だけ斜面勾配が緩くなっている(感覚的には平坦になっている)が感得できます。


1975年撮影 有吉北貝塚北斜面貝層附近 肉眼立体視資料


2025年12月7日日曜日

geometry nodesによるスリットからの遺物抽出

 Extracting artifacts from slit using geometry nodes


I used geometry nodes to extract artifacts from 11 cross-section 20cm-wide slit in the shell layer on the north slope of the Ariyoshi Kita Shell Mound. Since I wasn't familiar with the logic behind geometry nodes, I struggled a bit with assembling them. Using geometry nodes is much easier than extracting artifacts from the original CSV file.


有吉北貝塚北斜面貝層の11断面幅20㎝スリットからの遺物抽出をgeometry nodesで行いました。geometry nodesの論理に慣れていないのでgeometry nodes組み立てに少し苦労しました。geometry nodesを使えば、元csvファイルから抽出するよりはるかに簡易です。

1 11断面幅20㎝スリットからの出土遺物抽出結果


遺物分布状況


11断面幅20㎝スリットからの出土遺物抽出結果

2 geometry nodes


11断面幅20㎝スリットから出土遺物抽出したgeometry nodes

3 メモ

geometry nodesの論理に慣れていないのでgeometry nodes組み立てに少し苦労しました。

「位置」、「XYZ分離」、「比較(小さい)」、「値」、「or(ブール演算)」の結び方が、出来てしまえば自明のこととなります。しかし、「位置」が最も左にくることに納得できなかったので、そもそも入力端子のない「位置」が必要なことが判らなかったので、長考となりました。

4 点群から特定範囲を抜き出す方法

点群から特定範囲を抜き出す方法について、次の4つの方法に気が付いています。

・元csvファイルからPythonやExcel機能で抜き出し、Blenderにプロットする。

・(今回例でいえば)上からオルソ投影画面にして、ボックス選択して抜き出す。(Shift+D、P)

ただし、この方法では範囲を正確に設定できません。ボックス位置をグリッドにスナップできません(Blender仕様)。ボックス位置を数値指定できません(Blender仕様)。

・geometry nodesで抜き出す。

・BlenderPythonで抜き出す。アドオンにすることも可能だと思います。

geometry nodesを使えば、元csvファイルから抽出するよりはるかに簡易で、今のところ自分にとって最も使い勝手のよい方法です。

BlenderPythonで抜き出す方法も簡易で使いまわしができますが、そのスクリプトの管理の手間が発生するので、長期的観点からみれば、geometry nodesの方が便利だと考えます。アドオンにすることも可能だと思いますが、現状では増えすぎたアドオンの管理の手間に手こずっています。