ラベル 視認性向上 の投稿を表示しています。 すべての投稿を表示
ラベル 視認性向上 の投稿を表示しています。 すべての投稿を表示

2026年1月27日火曜日

技術メモ Blenderに配置した平面画像の視認性向上

 Technical Note: Improving the Visibility of Planar Images Placed in Blender


I investigated ways to improve the visibility of planar images placed in the Blender 3D viewport and found that color inversion made them easier to see. I decided to display planar images for analysis and consideration in Blender using color inversion.


Blender3Dビューポートに配置した平面画像の視認性向上について検討し、カラー反転により見やすくなることに気が付きました。分析検討素材としての平面画像は、Blenderでカラー反転表示することにします。

1 Blender3Dビューポートに配置した平面画像の視認性向上策検討

1-1 Blender3Dビューポートに配置した平面画像(有吉北貝塚セクション図)

40年前に作成された有吉北貝塚セクション図は方眼紙に鉛筆書きした資料ですが、著しく劣化が進んでいました。スキャナーで得た画像を活用できる状態にするためにPhotoshopで調整して、解読できる状態にまで持ち込みました。その結果本来水色の方眼が黄色くなり、通常資料と比べ視認性が劣っています。

この平面画像をBlender3Dビューポートに配置して観察するととても見ずらい資料となっています。


平面画像を配置したBlender画面1


平面画像を配置したBlender画面2

1-2 平面画像の視認性向上策

Blender3Dビューポートに配置された平面画像の視認性向上策として次のマテリアルノードでの試みをしてみました。

いずれもシェーダーエディターで「Image Texture」ノードと「Principled BSDF」ノードの間に別のノードを挿入する試みです。

【画像を濃くする】

・「RGBカーブ」ノード挿入(カーブをS字にする)

・「HSV(色相/彩度/明度)ノード挿入(明度、彩度の調整)

・「輝度-コントラスト」ノード挿入(輝度、コントラストの調整)

【画像カラーを反転させる】

・「カラー反転」ノード挿入

このうち、「カラー反転」ノード挿入が視認性向上策として最も効果的であることに気が付きました。


平面画像を配置したBlender画面1(画像はカラー反転)


平面画像を配置したBlender画面2(画像はカラー反転)

Blenderに置ける分析作業では必要に応じて平面画像をカラー反転表紙することにします。

2 Blender3Dビューポートに配置された「a–c–b 連続断面を1枚の横長画像にする方法」開発(非採用)


Blender3Dビューポートに配置されたa/c/b断面

a:13断面(横断面)

b:20断面(縦断面)

c:14断面(横断面)

a/c/b断面で囲まれる空間の内部に視点を移動して、その視点から見ることができる「a–c–b 連続断面を1枚の横長画像にする方法」の開発に取組みました。

具体的には空間内部にオルソ投影カメラを設置して3枚の写真を撮影してつなげる方法です。作業のなかで次の点で手間が必要であり、現状の方法(原図をPhotoshopで切り抜き、Illustratorで貼り付け)と比べてメリットがないので、非採用としました。失敗したということです。

1 カメラ撮影画像(レンダリング画像)が暗く、調整に手間取ります。。この記事のBlender画像はすべてスクリーンショット画像です。光源を配置しても、レンダリングするとスクリーンショット画像より暗くなります。

2 カメラの調整作業が必要であり、さらに撮影画像の貼り付け操作が必要で、かかる手間が現状方法とくらべ効率化が図れません。

ただ、上図のような「a/c/b断面で囲まれる空間」のわかるスクリーンショット画像を作成すると、現状作業をする際に、どの部分を切り抜いたら良いかを確認する参考資料となることに気が付きました。これは検討副産物として採用します。

3 貝層断面原図(集成セクション図)の視認性向上策としてのカラー反転図活用(非採用)


貝層断面原図(集成セクション図)


貝層断面原図(集成セクション図)(カラー反転図)

Blender操作ではなく、Illustratorを使う一般作業でも、貝層断面原図(集成セクション図)は視認性が良くありません。そこで視認性向上策案としてのカラー反転図を作成してその有効性を検討しました。

分層線などの視認性はよくなりますが、それ以外が黒くなり、文字をはじめとする書き込みがしにくく、全体としてみずらい図面になることがわかりました。従って、一般図におけるカラー反転図利用は非採用としました。

2023年9月29日金曜日

Sketchfabにおける棒グラフの結像不全改善と視認性向上

 Improving image formation and improving visibility of bar graphs in Sketchfab


I am posting a bar graph on Sketchfab, but I was having trouble with poor imaging and poor visibility. But I finally found a way to improve it.


Sketchfabに棒グラフを投稿していますが、結像が不全となり、また視認性が不良で困っていました。しかしやっとその改善策にたどり着きました。

1 Sketchfabにおける棒グラフの結像不全改善と視認性向上

棒グラフをSketchfabに投稿すると、オブジェクト(棒)が接する面の結像が崩れてしまいます。また赤一色では立体的視認性がありません。しかし、このような不都合は元作業ソフトであるBlenderと3DF Zephyr Liteではありません。Sketchfab特有の現象です。

Sketchfabサイト(英語)で解決策を探ったのですが、英語力が追いつかないためか、解決に至りませんでした。そこで試行錯誤的に解決を探り、次のような結果に至りました。


Sketchfabにおける棒グラフの結像不全改善と視認性向上

棒グラフの底辺の大きさをメッシュと同じ2m×2mではなく、1.8m×1.8mに変更しました。これによりオブジェクト(棒)の接触面が無くなりました。その結果Sketchfabにおける結像不全が無くなりました。Blenderとか3DF Zephyr Liteでは起こらない障害がなぜSketchfabにあるのか、理解できていませんが、とにかく実務的には問題解決です。

オブジェクトの色を赤一色にしていてもBlenderとか3DF Zephyr Liteでは立体的視認性が得られます。しかし、Sketchfabでは得られません。そこで赤に文様を混ぜてみました。文様を濃くするとSketchfabでも立体的視認性が得られました。

2 メモ

棒グラフはBlenderでBlenderPythonスクリプトを使って作成しています。BlenderPythonスクリプトの軽微な変更で棒の底辺の大きさを変えることができました。

赤色に文様を混ぜる作業はPhotoshopで行いました。文様の形状を工夫すれば、より立体的視認性が強まる可能性があります。

3 参考 有吉北貝塚北斜面貝層 土器破片数メッシュ別分布棒グラフ

有吉北貝塚北斜面貝層 土器破片数メッシュ別分布棒グラフ

土器破片の総数は660

発掘調査報告書掲載グラフから作成

DF Zephyr v7.021でアップロード

有吉北貝塚北斜面貝層 土器破片数メッシュ別分布棒グラフ動画


2023年5月8日月曜日

Blender3D分析空間の視認性向上

 Improved visibility of Blender3D analysis space


I'm doing a spatial analysis of a shell mound in Blender3D space. I introduced a 3D mesh made by arranging empty (CUBE) to improve the visibility. Spatial positions of shell layers and relics become easier to understand. No 3D mesh gets in the way.


Blender3D空間を有吉北貝塚北斜面貝層の分析空間として活用していますが、その視認性向上のために2m×2m×2mの3Dメッシュを一部空間に導入してその効果を確かめました。貝層や土器破片の空間関係に関する視認性が向上します。

1 3Dメッシュ


3Dメッシュの有無


3Dメッシュの有無


3Dメッシュの有無


3Dメッシュの有無

2 メモ

3DメッシュはBlenderオブジェクトのエンプティ(CUBE)を並べて作成しました。

エンプティの線が太さや面積をもたないという虚特性によりその存在の主張が弱く、対象物観察の邪魔になりません。しかし、3D位置関係を指示しますので、3D空間の視認性がとても向上します。

線の太さや面積のあるオブジェクト(MESH)で同じ3Dメッシュを作成しましたが、それ自身の主張が強すぎてかえって3D空間視認性の邪魔になります。

このエンプティはBlenderの外に書き出すことはできないようです。

3 3Dメッシュ作成スクリプト

この3Dメッシュは見よう見まねで次のBlenderPythonスクリプトを書き、作成しました。(このスクリプトをパソコンで走らせると、20メッシュ×20メッシュ×20メッシュの作成に10分ほどかかりました。)

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

import bpy


NUM_X = 20

NUM_Y = 20

NUM_Z = 20


def make_empty(x,y,z):

  loc = (x,y,z)

  empty = bpy.ops.object.empty_add(type='CUBE',location=loc)


def make_empties(num_x,num_y,num_z):

  for x in range(num_x):

    for y in range(num_y):

        for z in range(num_z):

            make_empty(x*2-(num_x-1),y*2-(num_y-1),z*2-(num_z-1))


if __name__ == "__main__":

  delete_all()    

  make_empties(NUM_X,NUM_Y,NUM_Z)


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