2026年11月14日土曜日

技術メモ Blenderによる剥取断面の実寸表示

 Technical Note: Displaying Full-Scale Reconstructions of Stratigraphic Profiles in Blender


I recently developed a method to display observational images of a stratigraphic profile—specifically from the shell midden on the northern slope of the Ariyoshi Kita Shell Midden—at full scale on a computer monitor, providing a more immersive learning experience. This approach utilizes QGIS. Building upon this, I have now devised a method to display 3D models of such stratigraphic profiles at full scale using Blender. The system allows for two modes of observation: one using perspective projection to examine the 3D model with a sense of depth and realism, and another using orthographic projection, which enables the observation of features at their actual, full-scale dimensions, unaffected by distance.


最近、有吉北貝塚北斜面貝層剥取断面の観察画像をQGISを使ってディスプレイに実寸表示する方法を編み出し学習に臨場感をもたせました。この取組みを発展させ、剥取断面3DモデルをBlenderで実寸表示する方法を編み出しました。まず、剥取断面3Dモデルのオルソ投影をディスプレイに実寸表示します。そこから透視投影に移行して3Dモデルを臨場感をもって観察するケースとオルソ投影のまま距離に影響されないで地物を実寸で観察するケースを設定しました。

1 Blenderでオルソ投影3Dモデルをディスプレイに実寸表示する方法

オルソ投影された3Dモデルの中に既知の実寸情報が必要です。

今回は剥取断面に25㎝×25㎝グリッドをオブジェクトとして埋め込みました。

1-1 簡易な実寸表示方法

オルソ投影3Dモデルをマウスホイールを回すことによって縮尺を変更できます。画面上で実寸に近づいたら、ホイール押し+Ctrlの状態でマウスを移動すると無段階で縮尺が変更します。この操作で微調整して画面上で実寸に近づけます。画面に定規を当てて距離を計り、それに応じて少しづつ縮尺を変更して実寸に近づけるという原始的簡易的方法です。

1-2 Pythonを使う方法

地物の大きさが25㎝で、それをディスプレイでも25㎝(実寸)で表示したい。しかし、画面で測ると30㎝であった場合、次のPythonをBlenderのテキストエディターで走らせると、実寸表示になります。


import bpy

# 25cmのグリッドが画面上で30cmになっている場合
measured_cm = 30.0
target_cm = 25.0

for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        rv3d = area.spaces.active.region_3d

        if rv3d.view_perspective == 'ORTHO':
            old_distance = rv3d.view_distance
            rv3d.view_distance *= measured_cm / target_cm

            print("変更前:", old_distance)
            print("変更後:", rv3d.view_distance)
        else:
            print("正投影にしてから実行してください")



2 実寸表示した後の透視投影観察

ギズモと「ビューを移動します」アイコン(手のひらアイコン)を使うなどして通常の観察(移動、角度変更など、拡大縮小以外の操作)を行います。なおマウスのホイールを回すと縮尺が変更しますが、Pythonを使った実寸表示の後はこれが基準の段階になるので、ホイールを廻して元の実寸にピタリと戻すことが可能です。

3 実寸表示した後のオルソ投影観察

テンキー5あるいはビュー→透視投影/平行投影で平行投影(オルソ投影)に変更できます。この場合距離にかかわらず地物の大きさは同じですから、場面は現実的ではありませんが、物の大きさを較べる観察では有効です。

4 メモ

今回の方法の2実寸表示した後の透視投影観察では、実際の視野角やカメラと目の位置など正確な実物大見え方の幾何学的再現と一致しているわけではありません。しかし、遠くの貝殻が小さく見えるなど現実の観察に近い3D環境が生まれ、臨場感が生まれます。

グリッドオブジェクトなど定規に使えるオブジェクトを埋め込んでおけば、モデルの大きさが現実の身体的な尺度と結びつき、貝殻のような大きさを経験的に知っている物体の場合、観察者はモデルのスケールを直感的に判断することができます。

5 実寸表示画像


正面オルソ投影3Dモデルの実寸表示画面(25㎝×25㎝グリッドを緑細線で表示)


正面オルソ投影3Dモデルの実寸表示画面から角度を持たせた透視投影画面(グリッド非表示)


正面オルソ投影3Dモデルの実寸表示画面から角度を持たせたオルソ投影画面(グリッド非表示)

6 参考

2026年11月10日火曜日 技術メモ QGISによる剥取断面の臨場感溢れる実寸表示




……………………………………………………………………

【グッド&ニュー】(ブログ活動や生活・散歩中に思い浮かべた良い感情や考え、素晴らしいアイディアや注目すべき事柄)

スマホでQRコードから直ぐにURLに飛ぶのではなく、そのQRコードを写真に撮っておき、後でゆっくり、その写真からURLに飛ぶ操作をおぼえた。超小技であるが、便利である。


0 件のコメント:

コメントを投稿