2025年2月16日日曜日

3D空間における貝層と遺物の関係把握 2(素材の3D空間配置)

 Understanding the relationship between shell layers and artifacts in 3D space 2 (3D spatial arrangement of materials)


A test space framework was set up in Blender to display the shell layers and artifacts in the shell layer on the north slope of the Ariyoshi Kita Shell Mound in 3D space and examine their relationship. 331 grids were used as the test grid, and a shell layer cross section, shell layer major division boundary surface, and artifact distribution map were placed.


有吉北貝塚北斜面貝層における貝層と遺物を3D空間に表示し、その関係を検討するためにテスト空間の枠組みをBlenderに設置しました。331グリッドをテストグリッドとし、貝層断面図、貝層大区分境界面、遺物分布図を配置しました。

1 Blenderにおけるテスト空間枠組みの設定

テスト空間(331グリッド)の枠組み

貝層断面図、貝層大区分境界面、遺物分布図を配置。

2m×2m×約3.5mの空間に貝層及び遺物が分布する。

貝層大区分は上から斜面貝層、二次堆積崩落層A、崩落層。

3DF Zephyr v7.531でアップロード


3Dモデルの画像


3Dモデルの動画

2 メモ

今後、このテストグリッド枠組みを利用して次の活動を展開します。

・貝層断面10断面と11断面の比較

・遺物の統計分析(貝層大区分別遺物出土数、同種別出土数など)

・遺物の3D空間プロット

・考察(貝層混土率と遺物出土数に相関はあるか、崩落層・二次堆積崩落層Aから貝殻や遺物が出土している状況を踏まえ、北斜面貝層の発達史・利用史をどのように捉えるか、など)


3D空間における貝層と遺物の関係把握 1(素材整理)

 Understanding the relationship between shell layers and artifacts in 3D space 1 (organizing materials)


I will try to understand the relationship between shell layers and artifacts in the shell layers on the north slope of the Ariyoshi Kita Shell Mound in 3D space using a test grid. This was made possible by creating a shell layer cross section, creating an artifact ledger database, and having an artifact distribution map. First, I organized and confirmed the materials.


有吉北貝塚北斜面貝層における貝層と遺物との関係を、テストグリッドを対象に3D空間の中で試行的に把握することにします。貝層断面図作成、遺物台帳データベース作成、遺物分布図の存在からこの試行が可能となりました。まずは素材を整理確認しました。

1 3D空間における貝層と遺物の関係把握について

テストグリッドを対象として、3D空間の中で貝層と遺物の分布を表現した3Dモデルを工夫しながら作成します。

この貝層-遺物3Dモデルを使って貝層と遺物の関係把握・分析を行い、貝層-遺物3Dモデルの意義について考察します。

2 テストグリッドの設定

10断面と11断面に挟まれた331グリッド(2m×2m)をテストグリッドとします。


テストグリッド(331グリッド)

※ 発掘調査報告書におけるグリッド表記はⅢ-31ですが、このブログでは331と表記します。

3 素材の整理

3-1 貝層断面図


10断面

セクション図基図は千葉県教育委員会所蔵


11断面

セクション図基図は千葉県教育委員会所蔵

3-2 遺物台帳データベース


331グリッドの遺物一覧 (1456遺物のExcel画面(一部))

331グリッドの遺物一覧は北斜面貝層遺物台帳から作成した遺物台帳データベース(64000遺物)から抽出しました。

331グリッドから出土した1456遺物の種別、標高、出土貝層などが把握できます。

3-3 遺物分布図


331グリッド遺物分布図1

千葉県教育委員会所蔵


331グリッド遺物分布図2

千葉県教育委員会所蔵


331グリッド遺物分布図3

千葉県教育委員会所蔵

331グリッド遺物分布図は発掘作業進行に従って略グリッド上部、中部、下部の順に3枚に分けて作図されています。

遺物分布図のデータベース化はまだ着手していないので、331グリッド遺物分布図のデータベース化(XY座標取得)はこの試行活動の中で行います。

3 感想

331グリッドの貝層構成は10断面、11断面でみる通り、下から崩落層、二次堆積崩落層A、斜面貝層になっています。崩落層と二次堆積崩落層Aには微量の貝殻が含まれますが、遺物が出土しています。崩落層と二次堆積崩落層Aの遺物種類や量を斜面貝層と比較したくなります。この比較を統計的に行うだけでなく、3D空間の中で遺物分布を可視化して行い、統計的な把握以上の「おもしろい」結果を求めて作業を行います。

予定調和的に「おもしろい」結果に到達する保証はありませんが、おそらく「おもしろく」なると期待します。

二次堆積崩落層Aは10断面、11断面とも「K層」として表記された黒褐色土で、同一層として現場でも確認されています。このK層は崩落層形成後にその前面にできたミニ扇状地のような地形の構成層であると考えています。

2025年2月11日火曜日

有吉北貝塚北斜面貝層の成層メカニズム(想定)

 Stratification mechanism of shell layer on the north slope of Ariyoshi Kita Shell Mound (hypothesis)


While observing photos of the excavation site of the shell layer on the north slope of Ariyoshi Kita Shell Mound, I noticed that the important factors in the stratification mechanism were the dumping of shells from the edge of the plateau and the downward flow of shells due to the use of the slope by Jomon people. I thought that such stratification would not have occurred if people had not used the slope.


有吉北貝塚北斜面貝層の発掘現場写真を観察しているなかで、成層のメカニズムとして台地面端からの貝殻投棄と縄文人斜面利用等による貝殻下方流動が重要な要素であることに気が付きました。人の斜面利用がなければこのような成層はないと考えました。

1 斜面上部と下部の貝層断面写真の観察


斜面上部と下部の貝層断面写真の観察

斜面下部B写真における二枚貝上向き比率の方が斜面上部A写真における二枚貝上向き比率より高いことが観察できます。この事象は貝殻が斜面上部から下方へ流動している証拠であると考えます。

2 貝層成層のメカニズム想定

2-1 貝殻投棄の場所

貝層が斜面上部から下部まで連続していて、貝殻の密度が下方にゆくに従って連続的に高くなります。このことから、貝殻投棄は斜面上部(台地面の端)から行われ、貝殻が下方に流動して、斜面下部に貯まったと考えることができます。貝殻を斜面下部で投棄した場合、このような成層はできないと考えます。

2-2 貝殻下方流動の要因

貝殻の斜面下方流動には次のような要因が関わっていると考えます。

イ 重力(他の落下物、風、地震などの影響)

ロ 雨水流下

ハ 霜柱の凍結融解

ニ 動物の歩行

ホ 人の歩行

このうち主要な要因が人の歩行であると考えることができます。(他の要因では貝層がこのような成層に至ると考えることができません。)

人の歩行とは即ち縄文人の斜面利用です。

2-3 貝層成層のメカニズム想定

2-1と2-2から貝層成層のメカニズムを次のように想定します。


貝層成層のメカニズム想定

3 メモ

貝層斜面を人がしょっちゅう歩いていたので、つまり斜面利用が活発であったので、発掘されたような貝層成層が出来たと考えました。人がしょっちゅう斜面を歩いていた理由として、次のような斜面利用が想定できると考えます。

イ 埋葬活動(散乱人骨の出土)

ロ 様々な儀礼活動(イノシシ顎骨出土、装飾品やわざと壊された道具の出土、犬の埋葬など)

ハ 植物や陸貝・昆虫採集活動(陸貝出土)

イやロの活動は貝層空間の限定された場所になると考えられます。しかし、多用な食料確保活動の場として貝層空間が利用されていたと考えると、斜面は隅々まで人が歩くことになります。

発掘調査報告書には記載がほとんどありませんが、遺物台帳には遺物として陸貝出土が北斜面貝層から327件記録されています。

2025年2月9日日曜日

貝層区分体系の設定と貝層区分データベースの作成

 Setting up a shell layer classification system and creating a shell layer classification database


In order to proceed with the shell layer classification study of the shell layer on the northern slope of the Ariyoshi Kita Shell Mound, I set up a shell layer classification system and created items for the shell layer classification database. I am laying the foundations for understanding the relationship between shell layers and artifacts in three-dimensional space.


有吉北貝塚北斜面貝層の貝層区分検討を進めるうえで、貝層区分体系を設定し、貝層区分データベースの項目を設定しました。立体空間における貝層と遺物の関係把握の基礎固めを進めています。

1 貝層区分体系

北斜面貝層について次の3段階の区分を設定して把握することにします。

大区分…貝層成因による区分

中区分…貝と土(砂)の混合割合による区分

小区分…発掘現場における分層区分

1-1 大区分試案


大区分試案

貝層をその成因から次の5つのアイテムに区分します。

斜面貝層・・・・・・・・斜面上部から投棄された貝層や層状堆積層

二次堆積貝層・・・・・・水流で上流から運ばれ堆積した貝層・堆積層

崩落層・・・・・・・・・ガリー侵食で崩落した台地構成地層

二次堆積崩落層A・・・・・崩落層前面に形成された二次堆積崩落層(左岸側)

二次堆積崩落層B・・・・・水流で上流から運ばれ堆積した崩落層(右岸側)

1-2 中区分試案


中区分試案

貝層を貝と土(砂)の混合割合で区分します。

純貝層・・・・・・・・混土率0%

混土貝層・・・・・・・混土率50%未満、混土貝層・混砂貝層を含む

混貝土層・・・・・・・混土率50%以上、混貝土層・混貝砂層を含む

土層(貝微量含)・・・貝微量を含む土層・砂層

土層・・・・・・・・・貝に関する記述のない土層・砂層

1-3 小区分


小区分

発掘現場における分層区分を小区分とします。

2 貝層区分データベース


貝層区分データベース画面(Excel画面)

87枚セクション図を集成して作成して貝層断面図(32断面)から読み取れる貝層区分とその記述を、次の項目で構成されるデータベース(postgreSQL)にします。

断面番号

関係グリッド

対応セクション図

貝層表記

別表記

記述

中区分

大区分

記述の出典

3 メモ

貝層断面図(32断面)について、Illustratorを使って大区分図、中区分図を作成し、同時にその情報を貝層区分データベースに収録します。

貝層区分データベースが完成すると、遺物台帳データベース(6万4千遺物収録)の項目「貝層」(出土貝層)とリレーションさせて、各遺物出土貝層の記述・区分を知ることができます。統計や分布の把握も可能となります。

大区分については3Dモデルを作成することにします。

4 11断面に関する問題意識

11断面に関する問題意識をメモします。


11断面に関する検討テーマ

1 ガリー侵食基底面の様子

ガリー侵食基底面から貝と土器が出土しています。その様子を3D空間で詳しく分析することが既に可能となりました。この貝層から出土した土器が現存していて、その土器型式を判定できれば、アクティブなガリー侵食最盛最後期の時期を特定できます。

2 崩落層の途中に発達する混貝土層の様子

セクション図では、崩落層の途中に発達する混貝土層E3に「ブロックとして認定しない」という注記が書いてあります。つまりオリジナルな混貝土層であることが観察されています。ガリー侵食が活発に進行している深い谷(溝)に上部から貝が投棄され、貝層が形成されたと考えられます。ガリー侵食最盛期最後期に同時に貝投棄活動があったことが確認できます。この貝層からどのような遺物が出土しているのか、遺物台帳データベースですぐにでも調べることができます。土器が出土していて、その現物が保存されていれば、その土器型式を観察して、貝層形成時期を推定することも可能になります。

3 崩落層前面のK層の成因と意義

崩落層前面に大区分二次堆積崩落層Aとして、K層が分布しています。このK層だけ詳細な分層線が書かれていないので、つまり成層を伴わない堆積であるので、特別な成因による二次堆積と考えることができます。その成因について詳しく検討する価値ががあると考えます。

同時に、K層上部から犬埋葬が出土しています。K層堆積面が縄文人の活動空間であった可能性が想定できそうです。詳しく検討する価値があります。

2023.07.26記事「有吉北貝塚北斜面貝層 犬埋葬」

4 斜面貝層形成の様子

斜面貝層を構成するF4層(B2層)の記述には「混土貝層、混貝率95%、破砕率10%、純貝層に近い、小型ハマグリ主体、シオフキ多、アサリ小、ツメタガイ微、大型ハマグリを散発的に混入させる、高い方の部分には混土率が高く、下方になるに従い純貝層に近い」と書いてあります。この記述から貝投棄が斜面上方から行われ、重力と斜面を流れる雨水などにより貝殻が移動した様子を推察できます。

この推察が正しいかどうか、今すぐにでも確かめることができます。

遺物台帳データベースと遺物分布図(現状では未電子化)と貝層断面図を組合わせて、貝層小区分ごとに斜面上部から下部までの遺物分布状況を精細に把握し、土器片などの分布が上部で粗で下部で密であるのかどうか、確かめるための情報が既に揃っています。

5 流路堆積物の貝層と土層の分離

流路堆積物の貝層(左岸側)と土層(右岸側)が綺麗に分離しています。年に数回程度の水流で流れてきた貝層(左岸側)と土層(右岸側)がなぜこのように綺麗に分離するのか、そのメカニズムを詳しく検討してみることにします。氷河の合流とほぼ同じようなメカニズムかもしれません。

6 斜面貝層が最後の堆積物であることの確認

斜面貝層の純貝層が流路堆積物の後に堆積した最終堆積物であるように観察できます。この断面より下流に流路で運ばれた加曽利EⅡ式土器が出土していますから、純貝層は加曽利EⅡ式土器の時期と同じかそれより後になります。その確認をとりたいと考えています。純貝層の投棄から貝層形成最後の姿が浮かび上がるかもしれないと考えます。


2025年2月6日木曜日

セクション図(貝層区分図)解析に着手

 Analysis of section map (shell layer division map) has begun


Analysis of the section map (shell layer division map, B3 size, 87 pages) of the shell layer on the northern slope of the Ariyoshi Kita Shell Mound has begun. The original section map is caked with mud and blood (scratches?), reminiscent of the struggle at the site. I would like to maximize the value of this valuable information using 3D technology.


有吉北貝塚北斜面貝層のセクション図(貝層区分図、B3判、87葉)解析に着手しました。セクション図原図には泥や血(擦り傷か)がこびりつき、現場格闘の跡が偲ばれます。その貴重情報の価値を、3D技術で最大限引き出したいです。

1 セクション図の整理

87枚のセクション図(貝層区分図、B3判)を32断面に集成し、Illustratorファイルとしました。

2 セクション図の特性

セクション図集成作業の中で、次のような感想を持ちました。

・貝層区分の数がセクション同一図内だけで数十に及び、詳細を極める。

・同一セクション図内でも同じ記号で別の貝層区分を定義しているものがあり、記号-定義の整合性が弱い。場所が離れると、記号-定義の整合性は存在していないように観察できる。

・記号の定義が他断面参照と記載されているものがあるが、参照先にその情報が見つからないものがある。

・記号の定義が記載されていないものがかなり存在する。

3 セクション図検討のための作業

3-1 現場で定義された貝層区分のデータベース化

セクション図毎の詳細貝層区分定義をデータベースに収録して、遺物台帳における貝層区分とセクション図貝層区分をリレーションできるようにします。

これにより、現場における詳細貝層区分をデータベースで保持できるようにします。

3-2 分析のための貝層新区分設定

貝層発達検討のために独自の貝層区分(貝層新区分)を設定します。独自区分は現場における詳細区分を類型的に集成して行います。貝層3Dモデルは貝層新区分により行うものとします。

4 貝層新区分試案イメージ


有吉北貝塚北斜面貝層の貝層区分の予察的試案

斜面貝層・・・・・・・・斜面上部から投棄された貝層や層状堆積層

二次堆積貝層・・・・・・水流で上流から運ばれ堆積した貝層・堆積層

崩落層・・・・・・・・・ガリー侵食で崩落した台地構成地層

二次堆積崩落層A・・・・・崩落層前面に形成された二次堆積崩落層(左岸側)

二次堆積崩落層B・・・・・水流で上流から運ばれ堆積した崩落層(右岸側)

崩落層、二次堆積崩落層A、斜面貝層は重力や斜面を伝わる雨水で上部から落下・投棄・移動してきた堆積物です。移動の少ない堆積物です。

二次堆積貝層、二次堆積崩落層Bは水流で断面図と直角に交わる縦断方向上流から運ばれてきた堆積物です。移動の大きな堆積物です。

なお水流といっても、この場所に常時水流はなく、年に数回の大雨の時だけの水流です。(ガリー侵食は地下水位より上の地層で生じます。)

なお、崩落層最下部から貝殻と土器片が出土していて、ガリー侵食と貝塚形成が同時進行であったことが判明していて、その事象は特筆されるべき事実です。

2025.01.27記事「メモ 崩落層最下部層から貝殻・土器片出土」

このような仮説的貝層区分試案を念頭に解析作業を進め、より合理的な貝層区分案を作成し、意義の大きな貝層・遺物3D分布把握を目指します。


有吉北貝塚北斜面貝層 地山地形3Dモデル

 3D model of the rock formations on the northern slope of the Ariyoshi Kita shell mound


I created a 3D model of the rock formations on the northern slope of the Ariyoshi Kita shell mound. This is the most detailed 3D model of the rock formations that can be created from preserved excavation materials. The Jomon people were dynamic in their activities, completely filling this terrain with shell layers.


有吉北貝塚北斜面貝層の地山地形3Dモデルを作成しました。保存された発掘資料から作成できる最も精細な地形3Dモデルです。縄文人はこの地形を貝層で完全に埋めるというダイナミックな活動を展開しました。

1 有吉北貝塚北斜面貝層 地山地形3Dモデル

有吉北貝塚北斜面貝層 地山地形3Dモデル

標高点群からQGIS(GRASSプラグイン、v.surf.rstツール)で作成

垂直・水平比率 1:1

利用情報(地山平面図掲載標高点、セクション図地山地形断面から読みとった標高点、地形図から読みとった標高点)

3DF Zephyr v7.531でアップロード


3Dモデル画像


3Dモデル動画

2 3Dモデルを使った今後の検討

これまでできなかった精細な地山地形3Dモデルができました。今後この3Dモデルを使って次の検討を行う予定です。

2-1 地形特徴の把握

側壁、段差などガリー侵食の特徴を詳しく検討します。ガリー侵食は軟岩、植生希薄、常時流量無し(地下水面より上)などの条件下で発生します。

2-2 地形各部名称付与

地形と貝層・遺物との関係を考察説明するために、地形各部に名称(地名)を付与します。

2-3 貝層・遺物と地形との関係考察

地形の様子が明らかになったので、今後セクション図(貝層断面図)の検討をすすめ、貝層(地層)・遺物と地形との関係を考察します。この検討から考古学的に有用な情報が多数生まれると期待しています。

2-4 地形成因の検討

北斜面貝層がすっぽり収まる地形はガリー侵食地形であると考えていますが、その成因を検討します。一般論としてガリー侵食は均衡を破るキッカケにより、急速に発達すると考えます。そしてその地形を縄文人が完全に埋めたのですから、地形形成と縄文人活動ががっぷり噛み合った事象となっています。

2-5 貝層発達・利用史

ガリー侵食が盛んだった時期の崩落層から貝や土器が出土しているので、ガリー侵食発達プロセスと貝・遺物投棄活動(あるいは埋葬活動)の関連を時間軸で捉えることができそうです。貝層発達・利用史の情報を得ることができそうです。

3 3Dモデル作成に関する資料制約

この3Dモデル作成について、次のような資料制約があり、問題意識が生まれています。

斜面部(側壁部)や谷頭部では標高点情報が不足し、断面図由来の標高点だけから3Dモデルを作成しています。そのため3Dモデルの精度が落ちています。

また、厳密に観察すると目的が異なる3種情報(地山平面図の標高点、セクション図の地山断面、周辺地形等高線図)に齟齬がみられる所もあり、気になります。

これらの問題点を埋めるような活動を行う必要があるのか、どうか、活動全体の中での優先度を考えることにします。


2025年2月4日火曜日

技術メモ Blenderにおける非破壊ブーリアン適用方法

 Technical note: How to apply non-destructive booleans in Blender


I found out how to apply Blender's boolean functions "non-destructively" using the geometry node editor, so I'll make a note of it.


Blenderのブーリアン機能をジオメトリノードエディターを使って、「非破壊的」に適用できる方法を知りましたので、メモします。

1 ブーリアン機能の非破壊適用


ブーリアン機能の非破壊適用結果(Blender画面)

画面では円柱と球が重なった部分をブーリアンモディファイア(交差)で抽出しています。ジオメトリノードエディターでオブジェクト情報、ジオメトリトランスフォーム、メッシュブーリアン、グループ出力の各ノードを繋いで実現しています。円柱と球は非破壊です。手作業でブーリアンモディファイアを適用すると円柱と球は破壊されます。

2 感想

非破壊的にブーリアン機能を適用できる技術があることを知り、今後大いに役立ちそうです。

またシェーダーエディターとは別にジオメトリノードエディターの存在を強く意識させられました。とても便利なツールです。Blender世界の奥深さを実感します。

現在有吉北貝塚北斜面貝層の貝層3Dモデル作成に向けてどのような技術を適用できるか、検討中です。


2025年2月2日日曜日

有吉北貝塚北斜面貝層の地山地形断面線3Dモデル

 3D model of rock formation cross section of shell layer on north slope of Ariyoshi Kita Shell Mound


87 section diagrams of shell layer on north slope of Ariyoshi Kita Shell Mound were compiled into 32 shell layer cross sections. A rock formation cross section was extracted from the data and plotted in Blender3D space to create a 3D model. It is a typical gully erosion valley with wall-like valley walls and prominent steps. Gully erosion valleys occur in places with little vegetation.


有吉北貝塚北斜面貝層のセクション図87枚を32枚の貝層断面図に集成しました。その資料から地山地形横断図を抽出してBlender3D空間にプロットして3Dモデルにしました。壁状谷壁や顕著な段差など典型的なガリー侵食谷です。ガリー侵食谷は植生の乏しい場所で発生します。

1 有吉北貝塚北斜面貝層の地山地形断面線3Dモデル

有吉北貝塚北斜面貝層の地山地形断面線3Dモデル

作成方法:貝層断面図(セクション図集成図)から抽出した地山地形(貝投棄前地形)断面線をBlender3D空間にプロットして作成

参考:断面線は多くの場所で2m間隔で配置されている

3DF Zephyr v7.531でアップロード


3Dモデルの画像


3Dモデルの動画

2 メモ

今回作成地山地形断面線3Dモデルで、貝層が収まる谷地形が典型的なガリー侵食谷であるとことを確かめることができました。壁状に連続する谷壁や段差の存在などがガリー侵食谷の特徴です。自分の知識不足だけの問題かもしれませんが、下総地域でガリー侵食谷を見かけたことがありません。ガリー侵食谷は植生の乏しい場所で発達します。

谷頭部で急斜面の途中に平場があることが確認できました。自分にとって重要な発見です。今後詳しく検討しますが、この平場付近で散乱人骨出土が集中していて、人の活動の場となっていた可能性が浮かび上がります。


2025年1月ブログ活動のふりかえり

 Looking back on blog activities in January 2025


I looked back on the activities of the blog "Walking the Hanami River Basin" in January 2025.

It was a month in which I was particularly focused on examining the shell layer on the north slope of the Ariyoshi Kita Shell Mound. I focused on creating materials on the natural terrain (topography before the shell layer was dumped) and solidified the foundations for examining section maps (examining shell layer divisions). I enjoyed mastering the operation techniques of Illustrator, QGIS, and Blender.


ブログ「花見川流域を歩く」の2025年1月活動をふりかえりました。

有吉北貝塚北斜面貝層検討に特段に集中した1ヵ月となりました。地山地形(貝層投棄前の地形)資料作成に集中し、セクション図検討(貝層区分検討)の基礎を固めました。Illustrator、QGIS、Blenderの操作技術習熟を楽しみました。

1 ブログ「花見川流域を歩く」

・2025年1月の記事数は14です。

・ブログ開設14周年記念記事で今年の活動抱負をまとめました。

・有吉北貝塚北斜面貝層検討記事と関連技術習得記事(Illustrator、QGIS、Blender)を書きました。

2 ブログ「花見川流域を歩く 自然・風景編」

・早朝散歩記事を1編書きました。

3 2025年1月活動の特徴

・有吉北貝塚北斜面貝層の地山平面図から標高点を読み取り、地山地形3Dモデル作成を楽しみました。

・地山地形平面図情報には肝心の斜面情報が含まれていないので、セクション図(貝層断面図)の整理を行いました。87枚のセクション図を32断面にIllustratorを使ってまとめました。


セクション図集成断面のインデックスマップ


セクション図を断面にまとめた様子(第11断面例)

セクション図は貝層と遺物との相関を調べるための資料ですが、まずその資料から、地山地形情報を読みとり、分析しています。


セクション図から読みとった地山地形断面線をBlenderにプロットした様子

・QGISの仮想地形生成機能利用、QGISのPythonコンソール、JavaScriptによるIllustrator操作、IllustratorオブジェクトのQGIS移植などの技術課題取組みを楽しみました。

4 2025年2月活動の展望

有吉北貝塚北斜面貝層検討活動をさらに進めます。セクション図集成32断面から貝層区分を読み取り、貝層3Dモデル作成のための検討を行います。

参考

ブログ「花見川流域を歩く」2025年1月記事 〇は閲覧の多いもの

ブログ「花見川流域を歩く 自然・風景片」2025年1月記事


2025年1月 Sketchfabに投稿した3Dモデル


2025年1月 YouTubeに投稿した動画


2025年1月 ブログ「花見川流域を歩く」投稿記事に掲載した画像


2025年1月30日木曜日

Illustrator作成断面線のBlender移植

 Porting Illustrator-created section lines to Blender


I confirmed how to port section line objects created in Illustrator to Blender 3D space, so I made a note of it. This involves moving the origin in Blender to the center of the bounding box instead of the center of gravity.


Illustratorで作成した断面線オブジェクトをBlender3D空間に移植する方法を確認しましたので、メモしました。Blenderで原点を重心ではなくバウンディングボックス中心へ移動する操作を伴います。

1 Illustratorで作成した断面線オブジェクト


Illustratorで作成した断面線オブジェクト

Illustratorの設定はpixelではなく㎜で行い、50㎜を地物1mに対応した縮尺で断面図を作成しています。

画面横軸がBlenderX軸、画面縦軸がBlenderZ軸に対応しています。

断面線(この例は地山地形断面線)を描画して、そのバウンディングボックスの断面図上の座標を読みとります。読み取りはゲージ(50㎜×50㎜のグリッドを10×10グリッドに細分したゲージ)を利用して行います。(Illustratorの固有座標は使いません。)

この例ではX,Y,Zが9.1,24,24.4という座標値になります。

2 IllustratorからSVGファイル書き出し

Illustratorから断面線だけをSVGファイルで書き出します。


断面線書き出し画面(Illustrator画面)

3 Blender読み込みと設定

BlenderにSVGファイルを読み込みます。Blenderにはカーブとして読み込まれます。

次の設定を行います。

回転:X軸を90度回転

スケール:X軸を25倍、Y軸を25倍

原点をバウンディングボックス中心に移動(特製BlenderPythonスクリプトによる移動)

原点の座標値をアイテム位置欄に記入(この例ではX,Y,Zが9.1,24,24.4)(Z座標はローカル設定上4.4で記入)

以上でカーブが所定の三次元空間に配置されました。


カーブが所定の三次元空間に配置された様子(Blender画面)

4 感想

断面図作成や断面図に関わる図面上の解析的検討はIllustratorで行うことが効率的です。その結果をBlenderに移植する方法を確認できたので、自分にとってはかなり画期的です。Blenderで断面図トレースをしなくてすみますから、作業精度や作業効率性が格段に向上します。Blenderを3Dモデル作成専用ツールとして使うことができます。

Illustratorのオブジェクト中心がバウンディングボックスの中心であり、Blenderの重心と異なることを今回意識的に理解することができました。

Blenderにおいて、カーブの原点をバウンディングボックス中心に移動するBlenderPythonスクリプトはChatGPT支援で作成しました。

5 参考 アクティブになっているカーブのバウンディングボックスの中心に原点を移動するBlenderPythonスクリプト

import bpy
import mathutils

# アクティブオブジェクトを取得(カーブ)
obj = bpy.context.object
if obj is None or obj.type != 'CURVE':
    raise ValueError("アクティブなオブジェクトがカーブであることを確認してください。")

# カーブをメッシュに変換(元に戻せるように複製する)
bpy.ops.object.duplicate()
bpy.ops.object.convert(target='MESH')
mesh_obj = bpy.context.object
mesh = mesh_obj.data

# バウンディングボックスの計算(ワールド座標で計算)
min_x, max_x = float('inf'), float('-inf')
min_z, max_z = float('inf'), float('-inf')

for v in mesh.vertices:
    world_co = mesh_obj.matrix_world @ v.co  # ローカル座標をワールド座標に変換
    min_x = min(min_x, world_co.x)
    max_x = max(max_x, world_co.x)
    min_z = min(min_z, world_co.z)
    max_z = max(max_z, world_co.z)

# バウンディングボックスの中心を求める(ワールド座標)
center_x = (min_x + max_x) / 2
center_y = obj.location.y  # Y座標は一定なのでオブジェクトのY座標
center_z = (min_z + max_z) / 2
center = mathutils.Vector((center_x, center_y, center_z))

# 一時的に作成したメッシュオブジェクトを削除
bpy.data.objects.remove(mesh_obj)

# 3Dカーソルを四角形の中心に移動
bpy.context.scene.cursor.location = center

# オブジェクトの原点を3Dカーソルの位置に設定
bpy.ops.object.select_all(action='DESELECT')  # 他のオブジェクトの選択を解除
obj.select_set(True)  # カーブを選択
bpy.context.view_layer.objects.active = obj  # アクティブオブジェクトをカーブに設定
bpy.ops.object.origin_set(type='ORIGIN_CURSOR')

print(f"原点を移動しました: {center}")
以下のようにスクリプトを変更することで、カーブの X座標値を一定 にし、Y座標値とZ座標値が変化する 場合のバウンディングボックスの中心に原点を移動するようにできます。

変更点:
min_x, max_x を min_y, max_y に変更
center_x の計算を obj.location.x に変更(X座標は一定)
center_y を (min_y + max_y) / 2 に変更(Y座標が変化)