ラベル 分布 の投稿を表示しています。 すべての投稿を表示
ラベル 分布 の投稿を表示しています。 すべての投稿を表示

2026年6月26日金曜日

Blender3D空間に分布する点群(メッシュ)のCT撮影用Pythonスクリプト

 Python Script for CT-Style Imaging of Point Clouds (Meshes) in Blender 3D Space


I have created a Python script to perform CT-style imaging on point clouds (meshes) distributed within Blender's 3D space. This allows for the generation of data analogous to medical CT scans of internal organs, but applied instead to the spatial distribution of artifacts within a shell midden. This marks the creation of a prototype for a key tool in 3D spatial analysis of artifacts. Moving forward, I plan to utilize this tool in spatial analysis while refining its usability.


Blender3D空間に分布する点群(メッシュ)のCT撮影用Pythonスクリプトを作成しました。体内臓器のCT撮影と同じようなデータを貝塚貝層内遺物分布にあてはめて生成できます。遺物3D空間分析の重要ツールの一つの祖型ができたことになります。これからこのツールを3D空間分析で活用して、その使い勝手を改善していくことにします。

1 点群(メッシュ)のCT撮影用Pythonスクリプトについて

このスクリプトは、Blender3Dビューポートに分布する点群(メッシュ)について、Y軸方向に多数のXZ断面を設定し、各XZ断面に近傍の点群を投影した投影断面図を作成するBlenderPythonスクリプトです。


点群(メッシュ)のCT撮影

断面図の間隔は0.1mとか0.5mとか1mとか自由に設定できます。また画面や点の色、点の大きさも自由に設定できます。


CT撮影結果(点群投影断面図)1枚目ct_slice_0000.png


CT撮影結果(点群投影断面図)2枚目ct_slice_0001.png


CT撮影結果(点群投影断面図)3枚目ct_slice_0002.png

2 使い方

Blender3Dビューポートで選択された点群(メッシュ)についてCT撮影を行います。点群をgeometry nodesで操作してテーマに沿って絞り込んで表現されている場合でも、その絞り込んだ点群を選択すれば、それを対象にCT撮影します。

下のBlenderPythonスクリプトの設定欄を好みに設定して、点群が配置されているBlenderファイルのテクストエディターに貼りつけ、走らせます。

Blenderファイルが存在するフォルダーにct_slices名称のサブフォルダーがつくられ、点群投影断面図がその中に生成します。生成スピートは高速です。(自分のパソコンでは84枚で10秒ほどです。)

3 点群(メッシュ)のCT撮影用Pythonスクリプト


import bpy
import os
import math

# ==========================
# ユーザー設定
# ==========================
# スライス厚み (m) : Y 方向の幅
SLICE_THICKNESS = 0.1

# 出力画像の「基準横幅」(px)
# 高さはバウンディングボックスの XZ 比率を保つように自動計算されます
IMAGE_WIDTH = 1024

# 点の色 (R, G, B, A) 0.0〜1.0
POINT_COLOR = (1.0, 1.0, 0.0, 1.0)  # kiiro
# 背景色 (R, G, B, A)
BACKGROUND_COLOR = (0.027, 0.051, 0.498, 1.0)  # ao

# 何ピクセル四方に塗るか(点の大きさ)
POINT_SIZE = 2  # 1なら1ピクセルのみ,2なら3x3ピクセル,3なら5x5ピクセル相当

# 出力先ディレクトリ(.blendファイルからの相対パス)
OUTPUT_DIR = "//ct_slices"

# 対象オブジェクトを「選択中」に限定するか
# True: 3Dビューポートで選択中のメッシュだけを対象にします
# False: シーン内の表示中メッシュを対象にします
USE_SELECTED_OBJECTS_ONLY = True

# Geometry Nodes / モディファイア適用後の「ビューポート表示結果」から頂点を取るか
# Geometry Nodesで点群を絞って表示している場合は True のまま使ってください
USE_EVALUATED_VIEWPORT_MESH = True

# 非表示オブジェクトを除外するか
EXCLUDE_HIDDEN_OBJECTS = True
# ==========================



def collect_world_vertices():
    """選択中(または表示中)メッシュの頂点をワールド座標で取得。

    USE_EVALUATED_VIEWPORT_MESH=True の場合は、Geometry Nodesやモディファイア適用後の
    ビューポート評価結果から頂点を取得する。
    """
    view_layer = bpy.context.view_layer
    depsgraph = bpy.context.evaluated_depsgraph_get()

    if USE_SELECTED_OBJECTS_ONLY:
        source_objects = list(bpy.context.selected_objects)
    else:
        source_objects = list(bpy.context.scene.objects)

    objects = []
    for obj in source_objects:
        if obj.type != 'MESH':
            continue
        if EXCLUDE_HIDDEN_OBJECTS and (obj.hide_get(view_layer=view_layer) or obj.hide_viewport):
            continue
        objects.append(obj)

    print("対象オブジェクト:", ", ".join(obj.name for obj in objects) if objects else "なし")

    points = []
    for obj in objects:
        mat = obj.matrix_world

        if USE_EVALUATED_VIEWPORT_MESH:
            obj_eval = obj.evaluated_get(depsgraph)
            mesh = None
            try:
                mesh = obj_eval.to_mesh(preserve_all_data_layers=False, depsgraph=depsgraph)
                for v in mesh.vertices:
                    co_world = mat @ v.co
                    points.append((co_world.x, co_world.y, co_world.z))
            finally:
                if mesh is not None:
                    obj_eval.to_mesh_clear()
        else:
            mesh = obj.data
            for v in mesh.vertices:
                co_world = mat @ v.co
                points.append((co_world.x, co_world.y, co_world.z))

    return points


def compute_bounds(points):
    """頂点群の XYZ の最小値・最大値を返す"""
    xs = [p[0] for p in points]
    ys = [p[1] for p in points]
    zs = [p[2] for p in points]

    min_x, max_x = min(xs), max(xs)
    min_y, max_y = min(ys), max(ys)
    min_z, max_z = min(zs), max(zs)

    return (min_x, max_x, min_y, max_y, min_z, max_z)


def bucket_points_by_slice(points, min_y, max_y, thickness):
    """Y方向のスライスごとに頂点をバケツ分けしたリストを返す"""
    if max_y - min_y == 0.0:
        num_slices = 1
    else:
        num_slices = int(math.floor((max_y - min_y) / thickness)) + 1

    slices = [[] for _ in range(num_slices)]

    for (x, y, z) in points:
        idx = int((y - min_y) / thickness)
        # 安全のためクランプ
        idx = max(0, min(num_slices - 1, idx))
        slices[idx].append((x, y, z))

    return slices, num_slices


def create_blank_image(name, width, height, bg_color):
    """背景色で塗られた空画像を作成して返す"""
    img = bpy.data.images.new(name=name, width=width, height=height, alpha=True, float_buffer=True)

    # すべて背景色で初期化
    r, g, b, a = bg_color
    num_pixels = width * height
    pixels = [0.0] * (num_pixels * 4)
    for i in range(num_pixels):
        base = i * 4
        pixels[base]     = r
        pixels[base + 1] = g
        pixels[base + 2] = b
        pixels[base + 3] = a

    img.pixels = pixels
    return img


def draw_points_to_image(img, points_3d, bounds, point_color, point_size):
    """XZ平面に投影した点群を画像に描画する"""
    min_x, max_x, _, _, min_z, max_z = bounds
    width = img.size[0]
    height = img.size[1]

    # 既存のピクセルデータを「リスト」としてコピー(ここが重要)
    px = list(img.pixels)

    # XZ範囲がゼロにならないように
    range_x = max_x - min_x
    range_z = max_z - min_z
    if range_x == 0.0:
        range_x = 1.0
    if range_z == 0.0:
        range_z = 1.0

    scale_x = (width - 1) / range_x
    scale_z = (height - 1) / range_z

    pr, pg, pb, pa = point_color

    # point_size=1 のときは1ピクセルのみ、
    # 2以上のときは +-point_size ピクセルに塗る
    radius = max(0, point_size - 1)

    for (x, y, z) in points_3d:
        u = int((x - min_x) * scale_x)
        v = int((z - min_z) * scale_z)

        # 画像内に収まるチェック
        if u < 0 or u >= width or v < 0 or v >= height:
            continue

        for du in range(-radius, radius + 1):
            for dv in range(-radius, radius + 1):
                uu = u + du
                vv = v + dv
                if 0 <= uu < width and 0 <= vv < height:
                    idx = (vv * width + uu) * 4
                    px[idx]     = pr
                    px[idx + 1] = pg
                    px[idx + 2] = pb
                    px[idx + 3] = pa

    # 修正したリストを pixels に戻す
    img.pixels = px


def main():
    # 頂点収集
    points = collect_world_vertices()
    if not points:
        print("メッシュ頂点が見つかりません。対象オブジェクトを確認してください。")
        return

    # 全体バウンディングボックス
    bounds = compute_bounds(points)
    min_x, max_x, min_y, max_y, min_z, max_z = bounds
    print("Bounds X:[{}, {}], Y:[{}, {}], Z:[{}, {}]".format(min_x, max_x, min_y, max_y, min_z, max_z))

    # XZ方向の実長
    range_x = max_x - min_x
    range_z = max_z - min_z

    # 万が一ゼロにならないように
    if range_x == 0.0:
        range_x = 1.0
    if range_z == 0.0:
        range_z = 1.0

    # 横幅を基準にしてピクセルスケールを決定 (px / m)
    pixels_per_unit = IMAGE_WIDTH / range_x

    # XZ の比率をそのままに縦高さを決める
    img_width = IMAGE_WIDTH
    img_height = max(1, int(round(range_z * pixels_per_unit)))

    print(f"Image size (W x H): {img_width} x {img_height} (px)")

    # スライスごとに頂点を振り分け
    slices, num_slices = bucket_points_by_slice(points, min_y, max_y, SLICE_THICKNESS)
    print("スライス数 :", num_slices)

    # 出力ディレクトリ準備
    out_dir = bpy.path.abspath(OUTPUT_DIR)
    os.makedirs(out_dir, exist_ok=True)
    print("出力先ディレクトリ:", out_dir)

    # スライスごとに画像生成
    for i in range(num_slices):
        slice_points = slices[i]

        # スライス名
        img_name = f"ct_slice_{i:04d}"
        print(f"生成中: {img_name} (頂点数: {len(slice_points)})")

        # 空画像作成(ここで計算した img_width, img_height を使用)
        img = create_blank_image(img_name, img_width, img_height, BACKGROUND_COLOR)

        # 頂点を描画(XZ 投影)
        if slice_points:
            draw_points_to_image(img, slice_points, bounds, POINT_COLOR, POINT_SIZE)

        # PNGで保存
        filepath = os.path.join(out_dir, img_name + ".png")
        img.filepath_raw = filepath
        img.file_format = 'PNG'
        img.save()

    print("完了しました。")


if __name__ == "__main__":
    main()

2024年11月10日日曜日

有吉北貝塚北斜面貝層 軽石製品分布

 Distribution of pumice products in the shell layer on the northern slope of the Ariyoshi Kita shell mound


I created a document on the distribution of pumice products in the shell layer on the northern slope of the Ariyoshi Kita shell mound. It seems that pumice products were always kept with holes drilled through them and tied to clothing with string, and used to polish things. They are distributed in the valley head and downstream.


有吉北貝塚北斜面貝層の軽石製品分布資料を作成しました。軽石製品は穴を開けて紐を通して服などに結びつけて常備し、モノの研磨に使ったようです。分布は谷頭部と下流部に分かれます。

1 有吉北貝塚北斜面貝層 軽石製品分布

有吉北貝塚北斜面貝層 軽石製品分布

データ:発掘調査報告書

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


3Dモデルの画像


3Dモデルの動画

2 メモ

2-1 軽石製品


軽石製品

発掘調査報告書から引用

軽石製品は穴を開けて紐を通して服などに結びつけて常備し、モノの研磨に使ったようです。

2-2 分布

下記のゾーン区分図(感想図)に照らすと、軽石製品は谷頭ゾーンと下流ゾーンとガリー流路ゾーンに多く、中流ゾーンに少なく、北斜面貝層における平均的な遺物分布のように感じます。


有吉北貝塚北斜面貝層のゾーン区分と遺物移動の様子(感想図)

2024.11.06記事「有吉北貝塚北斜面貝層のゾーン区分と遺物移動の様子(感想図)





2024年11月9日土曜日

有吉北貝塚北斜面貝層 石製品分布

 Distribution of stone products in the shell layer on the northern slope of the Ariyoshi Kita shell mound


I created a document on the distribution of stone products in the shell layer on the northern slope of the Ariyoshi Kita shell mound. The distribution of three stone products determined to be ornamental items originated from dumping (burial) at the head of the valley, which is interesting because it differs from the distribution of shell ornaments.


有吉北貝塚北斜面貝層の石製品分布資料を作成しました。石製品のうち装飾品と判定されたもの3点の分布は谷頭部投棄(埋納)起源であり、貝製装飾品分布と異なるので、興味が生まれます。

1 有吉北貝塚北斜面貝層 石製品分布

有吉北貝塚北斜面貝層 石製品分布

データ:発掘調査報告書

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


3Dモデルの画像


3Dモデルの動画

2 メモ

2-1 石製品


石製品の例

発掘調査報告書では石製品として主に石棒、装飾品を扱っています。

2-2 分布

石製品のうち装飾品と判定されたもの3点の分布は谷頭部投棄(埋納)起源であり、貝製装飾品分布(ガリー谷下流部に密集)と異なるので、興味が生まれます。石製品全体でみても、貝製装飾品にみられるような顕著は下流密集分布は見られません。


石製品と貝製装飾品の分布


2024年11月7日木曜日

有吉北貝塚北斜面貝層 石皿分布

 Ariyoshikita Shell Mound North Slope Shell Layer Stone Plate Distribution


I created a data set on the distribution of stone plates in the shell layer on the north slope of the Ariyoshikita Shell Mound. The distribution of stone plates (all fragments) is clearly different from the distribution of grinding stones, which is interesting. Tools that are inseparable from the lives of the Jomon people show a different distribution pattern when buried.


有吉北貝塚北斜面貝層の石皿分布資料を作成しました。石皿(全て破片)の分布は磨石類分布と明らかに異なり興味を持ちます。縄文人生活では不可分の道具が、埋没モードでは異なる分布様相を呈します。

1 有吉北貝塚北斜面貝層 石皿分布

有吉北貝塚北斜面貝層 石皿分布

データ:発掘調査報告書

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


3Dモデルの画像


3Dモデルの動画

2 メモ

2-1 石皿


石皿の例(北斜面貝層出土以外も含まれています)

発掘調査報告書から引用

2-2 分布

石皿と磨石類はペアで利用されていたと考えることができます。食生活の必需品です。しかし、埋没モードでは異なる分布様相を呈します。


石皿分布と磨石類分布

有吉北貝塚北斜面貝層 磨石類分布

有吉北貝塚北斜面貝層 磨石類分布

 Distribution of grinding stones in the shell layer on the northern slope of the Ariyoshi Kita shell mound


I created a data set on the distribution of grinding stones in the shell layer on the northern slope of the Ariyoshi Kita shell mound. The distribution of grinding stones peaks near the head of the valley, and is similar to the distribution of scattered human bones. Is this false likeness? The distribution of grinding stones is clearly different from the distribution of chipped stone axes, which are the same stone product.


有吉北貝塚北斜面貝層の磨石類分布資料を作成しました。磨石類分布は谷頭部付近にピークがあり、散乱人骨分布と似ています。他人の空似でしょうか。磨石類分布は同じ石製品である打製石斧の分布とは明らかに異なります。

1 有吉北貝塚北斜面貝層 磨石類分布

有吉北貝塚北斜面貝層 磨石類分布

データ:発掘調査報告書

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


3Dモデルの画像


3Dモデルの動画

2 メモ

2-1 磨石類


磨石類例(北斜面貝層出土以外のものを含む)

発掘調査報告書から引用

2-2 分布の特徴

磨石類分布は谷頭部付近にピークがあり、散乱人骨分布と似ています。他人の空似でしょうか。磨石類分布は同じ石製品である打製石斧の分布とは明らかに異なります。磨石類が埋葬に関係しているかどうか予断を排して今後の検討課題とします。


参考 散乱人骨分布

有吉北貝塚北斜面貝層 散乱人骨分布


参考 打製石斧分布

有吉北貝塚北斜面貝層 打製石斧分布

2024年11月6日水曜日

有吉北貝塚北斜面貝層 磨製石斧分布

 Distribution of polished stone axes in the shell layer on the northern slope of the Ariyoshi Kita shell mound


I created a document on the distribution of polished stone axes in the shell layer on the northern slope of the Ariyoshi Kita shell mound. Although the number of polished stone axes excavated is smaller than that of chipped stone axes, I confirmed that the distribution is similar.


有吉北貝塚北斜面貝層の磨製石斧分布資料を作成しました。磨製石斧出土数は打製石斧より少ないですが、分布の様子は似通っていることを確認しました。

1 有吉北貝塚北斜面貝層 磨製石斧分布

有吉北貝塚北斜面貝層 磨製石斧分布

データ:発掘調査報告書

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


3Dモデルの画像


3Dモデルの動画

2 メモ

2-1 磨製石斧


磨製石斧例(北斜面貝層以外出土を含む) 発掘調査報告書から引用

2-2 分布


有吉北貝塚北斜面貝層の打製石斧分布と磨製石斧分布

磨製石斧出土数(57)は打製石斧(151)より少ないですが、分布の様子は似通っていることを確認しました。


2024年11月5日火曜日

有吉北貝塚北斜面貝層 打製石斧分布

 Distribution of chipped stone axes in the shell layer on the northern slope of the Ariyoshi Kita shell mound


I created a data on the distribution of chipped stone axes in the shell layer on the northern slope of the Ariyoshi Kita shell mound. It is interesting to know where the chipped stone axes were dumped and how they were moved.


有吉北貝塚北斜面貝層の打製石斧分布資料を作成しました。打製石斧がどこで投棄され、どのように移動したのか、興味が深まります。

1 有吉北貝塚北斜面貝層 打製石斧分布

有吉北貝塚北斜面貝層 打製石斧分布

データ:発掘調査報告書

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


3Dモデルの画像


3Dモデルの動画

2 メモ

2-1 打製石斧


打製石斧例 発掘調査報告書から引用

2-2 打製石斧の分布

グリッド別に見て多数の打製石斧が出土しているのはガリー谷下流域です。この事象がガリー谷谷頭で投棄された打製石斧が水流で運ばれてきて、貯まったものであるのか、下流域で投棄されたものが集まったものであるのか、この分布図だけからでは判断できません。次のステップ、つまり貝層分布の詳細と関連付けた打製石斧3D座標で検討すれば、分布の意味が判明するに違いありません。

次の記事で、打製石斧と磨製石斧の分布に相違が見られるのか、検討します。


有吉北貝塚北斜面貝層 楔形石器分布

Distribution of cuneiform stone tools in the shell layer on the northern slope of the Ariyoshi Kita shell mound


A distribution map of cuneiform stone tools in the shell layer on the northern slope of the Ariyoshi Kita shell mound was created. They are distributed on both the upstream and downstream sides of the shell layer on the northern slope, and the downstream side is an interesting area where many ritual artifacts have been found, leaving a gap.


有吉北貝塚北斜面貝層の楔形石器の分布図を作成しました。北斜面貝層の上流側と下流側に分かれて分布し、下流側では儀礼的遺物多出域で空白となっていて、興味が生まれます。

 1 有吉北貝塚北斜面貝層 楔形石器分布

有吉北貝塚北斜面貝層 楔形石器分布

データ:発掘調査報告書

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


3Dモデルの画像


3Dモデルの動画

2 メモ

2-1 楔形石器


楔形石器の例(南斜面貝層出土例)

発掘調査報告書から引用

発掘調査報告書には北斜面貝層出土の楔形石器の実測図は掲載されていないようです。

2-2 分布の特徴

ガリー谷の上流側(画面左側)と下流側(画面右側)に分かれて分布しているように観察できます。下流側分布は中空部分があり気になります。この中空部分には儀礼的遺物が多出していますから、そこに実用道具の楔形石器が分布しないことは、「棲み分け」みたいな感じを受け分布上の興味が増します。今後の総合的な遺物分布検討が楽しみになります。

3 有吉北貝塚北斜面貝層 OEF分布

発掘調査報告書ではOEFとは楔形石器の形成に伴って作出された剥片のことであると説明されています。遺跡全体で、楔形石器は581点、OEFは1022点出土しています。しかし、北斜面貝層のOEF出土数は9点となっていて、異常です。これは本来の分布特性ではなく、調査における資料掲載もれとか、分類方法の途中変更などに起因している一種のミスであると考えます。

有吉北貝塚北斜面貝層 OEF分布

データ:発掘調査報告書

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


3Dモデルの画像

4 有吉北貝塚北斜面貝層学習の再開における感想

短期集中学習としての千葉市人形塚古墳学習に10月一杯取り組みました。いつもののんべんだらりとしたブログ記事づくりとは違い、特段に学習を集中した結果、予期した以上の進展となり、次のステップまでしばらく活動を区切ることにしました。

そこで、1ヵ月間手を離れていた有吉北貝塚北斜面貝層学習に取り組み始めました。1ヵ月間の休憩の後の学習取組はかなり新鮮な感情でスタートすることができました。これまでは当面の作業が念頭から離れることがなく、作業連続の波に呑まれたような生活でした。しかし、1ヵ月ぶりに北斜面貝層学習に戻ってみると、学習方向がよく見え、学習意欲も強まり、物事の「できる」感が強まっています。

同時に、これまでは考えることなく出来ていた一連の実務作業が、空では思い出せません。作業ステップをもう一度メモして、確認して進めなければできません。これは仕方がないことです。

当面は次の実務作業を継続して、遺物台帳と発掘調査報告書掲載遺物リストを総合したデータベース作成を急ぐことにします。

●報告書掲載遺物リスト(石器関連)のデータベース化(postgreSQL作業)

・OCR作業

・postgreSQL作業

●報告書掲載遺物リスト(石器関連)のBlender棒グラフ作成

・「Excel名寄せ.py」を使ったグリッド別頻度分布資料作成

・「グリッド座標書き込み.py」を使ったグリッド頻度分布表に座標追記。

・Blenderで「CUBE配置90%1ステップ総数.py」を使った作図。

・Blenderで表題を「移動回転スケール変更.py」を使って配置。

2024年9月22日日曜日

有吉北貝塚北斜面貝層 石錐・削器・異形石器の分布

 Distribution of stone drills, scrapers, and irregular stone tools in the shell layer on the northern slope of the Ariyoshi Kita shell mound


A distribution map of stone drills, scrapers, and irregular stone tools excavated from the shell layer on the northern slope of the Ariyoshi Kita shell mound has been created. The scrapers include ones that were not moved much after being dumped.


有吉北貝塚北斜面貝層から出土した石錐、削器、異形石器の分布図を作成しました。削器は投棄後の移動が少ないものが含まれています。

1 有吉北貝塚北斜面貝層 石錐分布

有吉北貝塚北斜面貝層 石錐分布

データ:発掘調査報告書

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


3Dモデルの画像

2 有吉北貝塚北斜面貝層 削器分布

有吉北貝塚北斜面貝層 削器分布

データ:発掘調査報告書

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


3Dモデルの画像

3 有吉北貝塚北斜面貝層 異形石器分布

有吉北貝塚北斜面貝層 異形石器分布

データ:発掘調査報告書

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


3Dモデルの画像

4 メモ

4-1 石錐


石錐 発掘調査報告書から引用

石錐の出土数は3で、出土場所はいずれもガリー流路筋に当たる場所です。従って投棄場所から移動している可能性が濃厚です。

4-2 削器


削器 発掘調査報告書から引用

削器の出土数は6です。ガリー谷地形の縁辺部から出土したものが3点あり、これらは投棄された場所からほとんど移動していないと考えられます。石鏃の投棄場所と近似しています。


削器の分布


石鏃分布のゾーン区分

2024.09.11記事「有吉北貝塚北斜面貝層 石鏃分布

4-3 異形石器


異形石器

異形石器の出土数は2です。出土場所はいずれもガリー流路筋に当たる場所です。従って投棄場所から移動している可能性が濃厚です。


2024年8月29日木曜日

有吉北貝塚北斜面貝層 シカ顎骨分布

 Distribution of deer jawbones in the shell layer on the north slope of the Ariyoshi Kita shell mound


A distribution map of deer jawbones excavated from the shell layer on the north slope of the Ariyoshi Kita shell mound has been created. Compared to wild boar jawbones, the number of deer jawbones excavated is extremely small. Most are excavated near the head of the gully. The reason for the small number of deer jawbones is that meat is brought in but jawbones are not.


有吉北貝塚北斜面貝層から出土したシカ顎骨の分布図を作成しました。イノシシ顎骨と比べてシカ顎骨出土は極少数になっています。ガリー谷頭付近に出土が多くなっています。シカ顎骨出土が少ない理由は、肉は搬入されるけれども顎骨は搬入されないからのようです。

1 有吉北貝塚北斜面貝層 シカ顎骨分布

有吉北貝塚北斜面貝層 シカ顎骨分布

データ出典:発掘調査報告書

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


3Dモデルの画像

2 シカ顎骨分布とイノシシ顎骨分布


シカ顎骨分布とイノシシ顎骨分布

シカとイノシシの顎骨は儀礼的に利用された可能性があるので注目していますが、シカ顎骨は極少数(5件)にとどまります。

3 シカ骨数とイノシシ骨数


北斜面貝層出土シカ骨数とイノシシ骨数(発掘調査報告書から作成)

シカの数量を1としたときのイノシシの数量をもとめると、同定資料数は3.1、顎骨資料数は19.8となり、食べられていたシカ肉の量とくらべて、顎骨の量は極少数になっています。この理由はイノシシは有吉北貝塚集落で自前で狩猟していたけれども、シカは群れをつくり広域移動する動物であるため広域集落共同で狩猟し、遠い現場で解体され、頭部等を除いた食肉部分だけ集落に搬入されたからだと考えられています。(西野雅人著「千葉県内の発掘成果からみた縄文時代のシカ資源利用」2023、日本鹿研究第14号など)


シカ骨 発掘調査報告書から引用


2024年8月21日水曜日

骨角歯牙製の鏃・刃器状加工品・ヘラ状加工品・加工品の各分布

 Distribution of arrowheads, blade-like items, spatula-like items, and processed items made from bones, horns, and teeth


I created distribution maps of arrowheads, blade-like items, spatula-like items, and processed items made from bones, horns, and teeth excavated from the shell layer on the northern slope of the Ariyoshi Kita Shell Mound. These distribution maps will be used as material for a comprehensive distribution analysis of artifacts to be conducted in the future.


有吉北貝塚北斜面貝層から出土した骨角歯牙製の鏃、刃器状加工品、ヘラ状加工品、加工品の各分布図を作成しました。これらの分布図は今後行う遺物の総合的分布分析における素材とします。

1 有吉北貝塚北斜面貝層 骨角歯牙製鏃分布

有吉北貝塚北斜面貝層 骨角歯牙製鏃分布

データ出典:発掘調査報告書

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


3Dモデルの画像


骨角歯牙製鏃(発掘調査報告書から引用、印のあるものが北斜面貝層出土物)

2 有吉北貝塚北斜面貝層 骨角歯牙製刃器状加工品分布

有吉北貝塚北斜面貝層 骨角歯牙製刃器状加工品分布

データ出典:発掘調査報告書

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


3Dモデルの画像


骨角歯牙製刃器状加工品(発掘調査報告書から引用、印のあるものが北斜面貝層出土物)

3 有吉北貝塚北斜面貝層 骨角歯牙製ヘラ状加工品分布

有吉北貝塚北斜面貝層 骨角歯牙製ヘラ状加工品分布

データ出典:発掘調査報告書

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


3Dモデルの画像


骨角歯牙製ヘラ状加工品(発掘調査報告書から引用、印のあるものが北斜面貝層出土物)

4 有吉北貝塚北斜面貝層 骨角歯牙製加工品分布

有吉北貝塚北斜面貝層 骨角歯牙製加工品分布

データ出典:発掘調査報告書

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


3Dモデルの画像


骨角歯牙製加工品(発掘調査報告書から引用、印のあるものが北斜面貝層出土物)

5 各アイテムの分布及びメモ

この記事で紹介した骨角歯牙製4アイテムの分布特性は次の通りです。今後他の遺物分布と一緒に総合的分布分析を行う際の素材とします。

●骨角歯牙製鏃分布

分布の集中域はガリー谷谷頭下付近にあります。

釣針や刺突具と同じように儀礼的に壊されたと感じられる鏃が混じっています。

●骨角歯牙製刃器状加工品分布

分布の集中域はガリー谷下流にあります。

釣針や刺突具や鏃のように壊されたと感じる刃器状加工品はありません。狩猟用道具ではなく、単なる日常の生活道具だからでしょうか?

●骨角歯牙製ヘラ状加工品分布

分布はばらけていますが、ガリー谷下流に集中しています。

壊されていない品が目立ちます。狩猟用道具ではなく、日常の生活道具だからでしょうか?

●骨角歯牙製加工品分布

分布の集中域はガリー谷頭域にあります。


2024年7月28日日曜日

土錘平均重量の分布

 Distribution of average weight of soil weight


There was no macroscopic distribution phenomenon that divides the space of the shell layer on the north slope of the Ariyoshi Kita Shell Mound in terms of the average weight of soil weight by grid. However, when viewed microscopically, there are some places where the average weight changes from large to medium to small. It seems that the soil weights were sorted by weight due to the slope flow force.


グリッド別土錘平均重量は有吉北貝塚北斜面貝層の空間を区分するようなマクロな分布事象はありませんでした。しかし、ミクロにみると平均重量大→中→小と変化するところがあります。斜面流水営力で土錘が重さでソートされた結果のように見えます。

1 有吉北貝塚北斜面貝層 グリッド別土錘平均重量

有吉北貝塚北斜面貝層 グリッド別土錘平均重量

土錘が10以上出土したグリッドのみ表示

棒の長さは土錘出土数を示す(10~48)

データ出典:発掘調査報告書

濃黄:平均重量>34g

黄:34g≧平均重量≧24g

薄黄:24g>平均重量

(平均重量とは当該グリッドから出土した土錘重量の平均値、北斜面貝層出土土錘の平均重量は29g。)

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


3Dモデルの画像


3Dモデルの画像


3Dモデルの動画

2 メモ

グリッド別土錘平均重量の分布は北斜面貝層空間をマクロに区分するよな特筆すべき特徴は見られませんでした。土錘平均重量という指標でみると北斜面貝層空間を区分するような特徴がなかったという情報も貴重な情報になります。

なお、北斜面貝層下流部の最も土錘出土が多いグリッド付近で左岸→流路流心に向かって、平均重量大→平均重量中→平均流路小と変化する事象が観察できます。この分布図だけでその理由を明らかにすることはできませんが、左岸から流路流心に向かう斜面流によって土錘がソートされた現象である可能性が浮かび上がります。つまり左岸から投棄された土錘のうち、重たいものは直ぐに堆積してしまい、平均的重量の土錘はさらに運搬され、軽い土錘はより遠くまで運搬されたというモデルが検討俎上にのぼります。詳細検討はグリッド単位検討ではなく、遺物単位3D空間プロットモデルで検討することにします。


2024年7月27日土曜日

土錘破損率の分布

 Distribution of soil weight breakage rates


I visualized the breakage rates by grid using the soil weight list of the shell layer on the north slope of the Ariyoshi Kita Shell Mound published in the excavation report. This revealed a significant difference in the spatial distribution of breakage rates. The breakage rate was high in the upstream area near the head of the gully, and low downstream. The soil weight breakage rate data may be an indicator of the strength of the water flow force.


発掘調査報告書に掲載されている有吉北貝塚北斜面貝層の土錘リストを使って、グリッド別土錘破損率を可視化しました。これにより空間における土錘破損率分布の顕著な差異がみつかりました。ガリー谷頭に近い上流部で破損率が高く、下流で低くなります。土錘破損率データが加曽利EⅡ式期水流営力強さの指標になるかもしれません。

1 有吉北貝塚北斜面貝層 グリッド別土錘破損率

有吉北貝塚北斜面貝層 グリッド別土錘破損率

土錘が10以上出土したグリッドのみ表示

棒の長さは土錘出土数を示す(10~48)

データ出典:発掘調査報告書

赤:破損率>52%

黄:52%≧破損率≧32%

青:32%>破損率

(破損率とは完形土錘(残存率80%以上)のうち、破損が認められる土錘の割合。破損率平均値は42%。)

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


3Dモデルの画像


3Dモデルの動画

2 メモ

北斜面貝層上流部(ガリー谷頭部)で破損率が高く、下流部で破損率が低い傾向が見られます。

直観的には、上流部では侵食作用が強いため水流運搬中の破損が多くなり、下流部では水流の影響が弱いため破損が少なくなると捉えることができます。別の情報とも重ねてこのような捉え方でよいか十分に確かめる必要があります。もしこの考えの的確性が高まれば、逆に土錘破損率の大小を侵食営力の強さの指標とすることができます。

この1枚の土錘破損率分布図だけからの特定的判断はできませんが、土錘破損率の空間分布に顕著な相違がみつかりましたので、今後の検討が楽しみです。


2024年7月14日日曜日

有吉北貝塚北斜面貝層 朱塗土器の分布

 Distribution of vermilion-painted pottery on the northern slope of the Ariyoshi Kita shell mound


The distribution of vermilion-painted pottery on the northern slope of the Ariyoshi Kita shell mound was grasped using a grid-based 3D bar graph. The distribution characteristics of vermilion-painted pottery and other pottery seem to be different. The disposal principles may be different.


有吉北貝塚北斜面貝層の朱塗土器の分布等についてグリッド別3D棒グラフで把握しました。朱塗土器とそれ以外の土器との分布特性が違うようです。廃棄原理が異なる可能性があります。

1 有吉北貝塚北斜面貝層 グリッド別朱塗土器出土件数

有吉北貝塚北斜面貝層 グリッド別朱塗土器出土件数

朱塗土器出土総件数574、グリッド最大出土件数24

出典:有吉北貝塚北斜面貝層遺物台帳(千葉県教育委員会所蔵)

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

3Dモデルの画像

2 有吉北貝塚北斜面貝層 グリッド別朱塗土器件数率

有吉北貝塚北斜面貝層 グリッド別朱塗土器件数率

グリッド別最大朱塗土器件数率8.2%、平均朱塗土器件数率2.9%

出典:有吉北貝塚北斜面貝層遺物台帳(千葉県教育委員会所蔵)

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


3Dモデルの画像


3Dモデルの画像

3 観察メモ

朱塗土器の出土分布をみるとガリー谷頭部よりガリー下流部の方が量が多いですが、均一に分布しているように観察できます。しかし、率(朱塗土器件数/全土器件数)でみると分布特性が浮かび上がります。土器密集域を避けて周縁部の朱塗土器件数立が高くなっています。土器一般の廃棄原理と朱塗土器の廃棄原理が異なっている可能性が浮かび上がります。今後詳しく検討することにします。

2024.07.15追記

現在は電子化した遺物台帳データを目的に従って整理し、グリッド別に集計して、そのデータを3D棒グラフで表現するまでの工程を確認して、効率化する方法を模索している活動を行っています。対象物(土器とか朱塗土器とか)そのものの検討はメインではありません。しかし、そうはいっていも、自分に朱塗土器の知識がほとんどないことに不安をおぼえます。朱塗土器がどのような土器(深鉢か、浅鉢か、それ以外か)であるのか、どのような利用であったのか(どのような祭祀につかわれたのか)などの情報をほとんど持ち合わせていません。今後朱塗土器に関する一般情報や有吉北貝塚における情報を把握して学習を深めることにします。そうした知識なしに、いくら分布を検討しても空回りしてしまうかもしれません。

4 有吉北貝塚北斜面貝層 グリッド別土器の口縁部率(%)

有吉北貝塚北斜面貝層 土器の口縁部率(%)

口縁部率=(口縁部+把手)/全土器×100

土器件数50以上のグリッドのみ表示

グリッド別最大口縁部率46.3%、グリッド別平均口縁部率19.5%

出典:有吉北貝塚北斜面貝層遺物台帳(千葉県教育委員会所蔵)

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


3Dモデルの画像

5 グリッド別土器の口縁部率(%)のメモ

有吉北貝塚北斜面貝層グリッド別土器の口縁部率(%)を見ると口縁部出土が0.0%のグリッドがあることから、一部のグリッドで部位別記載が行われていない可能性が浮かび上がります。従って、口縁部率の分布状況を把握することが適切であるか否か、今後検討することにします。

2024.07.15追記

土器部位別記載はグリッドの一部は行われていない、あるいは十分にとりくまれていない状況が考えられます。生データの分布をそのまま検討することは危険です。しかし、大半のグリッドは部位別記載が行われています。この不十分なデータを「ある程度」「参考情報として」使えるようにする補正方法を検討することにします。もし合理的な補正方法があみだされて補正できれば、貴重な有用情報になります。世の中には「欠測情報の使い方」みたいな方法論があるでしょうから、参考にして取り組むことにします。