[仮想の庭と塔・3次元表示 のための、断面画像を生成する], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり
Python(パイソン) プログラム作ってみた インデックス へ
-----
2024.10.20 presented in [note] ( //note.com/runningWater/ )
----------
1 はじめに
これ以降に記述されている内容は、このようなコンピューター・プログラムを制作した、というような事を、ただ、述べているに過ぎない。
以下の記述を読んだ人が、それを単に参考にする、というのであれば、問題は無いと、思われる。
しかし、記述されている内容に沿って、その人が、そこに記されているのと同様の制作や作業を行った際に、その制作、作業、コンピューターの作動の結果、使用されたコンピューター等、様々な方面において、何らかの問題が発生しない、という保証は、全くない。
その制作、作業、コンピューターの作動の結果、その人や、その人が所属している組織、その人が使用した様々な機器、インフラストラクチャー等の、身の上にどのような事が起ころうとも、私は一切、責任を負わない。
このプログラムは、Python(パイソン) 言語を使って、記述されている。
----------
2 どのようなものを作ったのか
[断面画像を重ね合わせて、物体を3次元表示], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり
のモジュール群に対して、与える、断面画像を生成する、というようなものを、作ってみた。
このモジュール群により、生成された断面画像のデータを、
[断面画像を重ね合わせて、物体を3次元表示], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり] モジュール群
に対して、与え、そのモジュールを動かすと、下図のように、表示された。
----------
3 庭と塔は、部分オブジェクトにより、構成
このモジュール群は、下記を改造して、作成した。(改造の詳細は、後述)
[仮想の庭・3次元表示 のための、断面画像を生成する], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり
[仮想の庭・3次元表示 のための、断面画像を生成する], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり
においては、下記の、3個の[部分オブジェクト]を作成し、それらによって、各部分の描画を行ったのであった。
[部分オブジェクト]
[地面]
[山] (円錐形のように見える部分)
[石] (褐色の塊のように見える部分)
このモジュール群においては、上記に対して、更に、2個の[部分オブジェクト] を追加し、それらによって、追加された各部分のの描画を行うようにした。
追加された[部分オブジェクト]
[塔 (Tower)] (複数個の支柱を持つ物体のように見える部分)
[柱 (Pillar)] (紫色の花瓶のように見える部分)
これらの[部分オブジェクト] は、それぞれ、下記3種類の画像から、構成されている。
(1)部分の断面の画像
(2)部分の径の推移(上下方向での)を示す曲線(を格納する画像)
(3)部分の表面の絵柄を表す画像
下記に、その画像を、記す。左から順に、上記(1)、(2)、(3)の順になっている。
[塔 (Tower)・部分オブジェクト]用
[柱 (Pillar)・部分オブジェクト]用
----------
3 このモジュール群の構成
このモジュール群は、下記を構成しているものに対して、改造を施して、作成した。
[仮想の庭・3次元表示 のための、断面画像を生成する], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり
それらのうち、下記に対してだけ、プログラム修正を加えた。
[ MakeImageDatas ]
以降に、このモジュールに対して行った改造の内容を、記す。
----------
4 [ MakeImageDatas モジュール]
ファイル名 [ MakeImageDatas.py ]
最初の部分だけを、下記のように、変えた。(部分オブジェクトの定義を追加した)。
----------
#import sys
import time
import Prepare
import OneObjectTypeDrawingByCrossSectionalImages
import OneObjectTypeDrawingV
import OneObjectTypeDrawingH
import ImageDataTwoDimensionHandlingV3
MODULE_NAME = "MakeImageDatas"
global_number_of_Object = 0
global_list_Object_information = [ ]
global_from_Z = 1
global_to_Z = 90
#=================================
def make_list_Object_information ( ) :
function_name = "make_list_Object_information"
print ( "==================================" )
print ( "Enter into , Module = " + MODULE_NAME
+ " , function = " + function_name )
print ( "==================================" )
global global_number_of_Object
global global_list_Object_information
#******************************************
global_list_Object_information = [ ]
#******************************************
# [ id , name , type , Center_of_Object_location_x , y , mode of radiation V ]
#======== Ground ========
global_list_Object_information \
.append ( [ "1" , "Ground" , "H" , 350 , 350 , "B" ] )
#======== Mount ========
global_list_Object_information \
.append ( [ "2" , "Mount" , "V" , 150 , 350 , "B" ] )
#======== Stone ========
global_list_Object_information \
.append ( [ "3" , "Stone" , "C" , 550 , 300 , " " ] )
#======== Pillar ========
global_list_Object_information \
.append ( [ "4" , "Pillar" , "V" , 200 , 100 , "B" ] )
#======== Tower ========
global_list_Object_information \
.append ( [ "5" , "Tower" , "V" , 350 , 400 , "B" ] )
#******************************************
global_number_of_Object = len ( global_list_Object_information )
#******************************************
#=================================
def make_ImageDatas ( ) :
function_name = "make_ImageDatas"
print ( "==================================" )
print ( "Enter into , Module = " + MODULE_NAME
+ " , function = " + function_name )
print ( "==================================" )
----------
Python(パイソン) プログラム作ってみた インデックス へ