[仮想の庭と塔・3次元表示 のための、断面画像を生成する], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり

Python(パイソン) プログラム作ってみた インデックス へ

-----

2024.10.20 presented in [note] ( //note.com/runningWater/ )

----------
1 はじめに

これ以降に記述されている内容は、このようなコンピューター・プログラムを制作した、というような事を、ただ、述べているに過ぎない。

以下の記述を読んだ人が、それを単に参考にする、というのであれば、問題は無いと、思われる。

しかし、記述されている内容に沿って、その人が、そこに記されているのと同様の制作や作業を行った際に、その制作、作業、コンピューターの作動の結果、使用されたコンピューター等、様々な方面において、何らかの問題が発生しない、という保証は、全くない。

その制作、作業、コンピューターの作動の結果、その人や、その人が所属している組織、その人が使用した様々な機器、インフラストラクチャー等の、身の上にどのような事が起ころうとも、私は一切、責任を負わない。

このプログラムは、Python(パイソン) 言語を使って、記述されている。

----------
2 どのようなものを作ったのか

[断面画像を重ね合わせて、物体を3次元表示], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり

のモジュール群に対して、与える、断面画像を生成する、というようなものを、作ってみた。

このモジュール群により、生成された断面画像のデータを、

[断面画像を重ね合わせて、物体を3次元表示], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり] モジュール群

に対して、与え、そのモジュールを動かすと、下図のように、表示された。

Fig 1_1


Fig 1_2


Fig 2_1


Fig 2_2

----------
3 庭と塔は、部分オブジェクトにより、構成

このモジュール群は、下記を改造して、作成した。(改造の詳細は、後述)

[仮想の庭・3次元表示 のための、断面画像を生成する], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり

[仮想の庭・3次元表示 のための、断面画像を生成する], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり

においては、下記の、3個の[部分オブジェクト]を作成し、それらによって、各部分の描画を行ったのであった。

[部分オブジェクト]
 [地面]
 [山] (円錐形のように見える部分)
 [石] (褐色の塊のように見える部分)
 
このモジュール群においては、上記に対して、更に、2個の[部分オブジェクト] を追加し、それらによって、追加された各部分のの描画を行うようにした。

追加された[部分オブジェクト]
 [塔 (Tower)] (複数個の支柱を持つ物体のように見える部分)
 [柱 (Pillar)] (紫色の花瓶のように見える部分)

これらの[部分オブジェクト] は、それぞれ、下記3種類の画像から、構成されている。

(1)部分の断面の画像
(2)部分の径の推移(上下方向での)を示す曲線(を格納する画像)
(3)部分の表面の絵柄を表す画像

下記に、その画像を、記す。左から順に、上記(1)、(2)、(3)の順になっている。

[塔 (Tower)・部分オブジェクト]用

Fig 3

[柱 (Pillar)・部分オブジェクト]用

Fig 4

----------
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(パイソン) プログラム作ってみた インデックス へ


いいなと思ったら応援しよう!