高校「情報Ⅰ」単語帳 - 東京書籍「情報Ⅰ Step Forward!」 - モデル化とシミュレーション
モデリング 【モデル化】 ⭐⭐⭐
ある物体や事象について、着目している特徴や同種の複数の対象に共通する重要な性質を抽出し、些末な細部は省略あるいは簡略化した抽象的な模型を作成すること。
科学や工学、ビジネス、IT関連では特にシステム設計やシミュレーションなどの分野において、取り扱う対象から目的に照らして不要な側面を捨象して、その構造や構成要素、対象間の関係や互いに及ぼす作用などを模式的に表した模型(モデル)を作り、図表や数式、データ集合、データ構造、人工言語(モデリング言語)などを用いて定義することをモデリングという。
モデルを作成することで、対象をデータや情報の集合としてコンピュータシステム内で取り扱ったり、シミュレーションなどを通じてその振る舞いや状態を解析し、現実に起きている現象を説明したり、特定の条件下での振る舞いを予測することができるようになる。様々な分野で一般的に行われる営みであり、具体的な手法や手順なども分野ごとに異なる。
3DCGにおけるモデリング
3次元コンピュータグラフィックス(3DCG)の制作・編集過程の一つで、点や線、平面や曲面、単純な形の立体(の全体や一部分)などを組み合わせ、望みの立体物の外形(3Dモデル)を形作る工程をモデリングという。
立体物の表現方式として最も一般的な「サーフェスモデル」では、空間上に定義した点と点を結ぶ線分を組み合わせて多角形(ポリゴン)を構成し、これを貼り合わせて立体を構成する。外から見える表面だけを整える「ハリボテ」のような構成法で、ゲームなどでは内部の質量などの情報が不要であるため多用される。
一方、3次元CADなどでは、このような直線的な図形に加えて、球や楕円体、円柱、円錐、特定の方程式で表される曲面などを組み合わせ、表面の一部が滑らかな曲面の立体を定義できるものもある。工業製品の設計やシミュレーションなどに用いるシステムでは、立体を中身の詰まった物体のように扱う「ソリッドモデル」が用いられることもある。
シミュレーション 【シミュレート】 ⭐⭐⭐
現実の対象や現象から特徴的な要素を抽出してモデル化し、模擬的に実践・再現すること。科学技術の分野では現象の理解や予測、人工物の開発や改良などによく応用される。
「顧客の反応をシミュレーションする」といったように日常の場面でも模擬的な予測や再現をシミュレーションということがあるが、一般的にはコンピュータによる数値計算や情報処理を用いて複雑な物理現象や人工物の振る舞いなどを再現する「コンピュータシミュレーション」(computer simulation)を指すことが多い。綴りから分かるように「シュミレーション」は誤記である。
シミュレーションは実物による実験が様々な理由により不可能・困難な場合、あるいは長い期間や多くの費用を要する場合などに、これを簡易に代替する手法として実施される。対象の振る舞いや生じる現象への理解を深めたり、対象を扱う技能の教育・訓練を行なったり、対象が人工物の場合は結果を元に修正や改良を行ったりする。
対象にまつわるありとあらゆる要素を正確に模倣することは不可能で、多くの場合は無意味でもあるため、対象の性質や挙動を代表する要素を絞り込んで単純化したモデルを用いて計算などを行なう。モデルがよく対象を表していれば正確なシミュレーションができるが、誤りや粗さがあれば精度の低いシミュレーションにしかならない。
ある対象のシミュレーションを行うことに特化した機器やソフトウェア、システムなどを「シミュレータ」(simulator)という。特に乗り物や機械の挙動を再現するシミュレータがよく知られ、自動車を模倣する「ドライブシミュレータ」や航空機を模倣する「フライトシミュレータ」は運転・操縦の訓練にも用いられる。
乱数 【ランダム値】 ⭐⭐
サイコロの出目のように規則性がなく予測不能な数値のこと。何度も生成した時に、すでに分かっている値の列から次に現れる値を予測できないような数値の列を乱数列と呼び、その中の個々の値を乱数という。
多くのプログラミング言語には乱数を生成する組み込みの関数やメソッドなどが用意されており、呼び出すたびに規則性のないランダムな数値を返す。多くの言語では0以上1未満の浮動小数点数が得られるようになっており、用途に応じて必要な形式に計算・加工して利用する。
コンピュータはその性質上、ソフトウェアによって完全な乱数を生成することはできないため、統計的に乱数と同じ性質を持つような「擬似乱数」(pseudorandom numbers)を計算によって生成している。
これは計算方法と初期値が分かれば全く同一の数値列を再現できるため、暗号化などの用途では不都合となる場合がある。このため、センサーを内蔵して外界の物理現象を測定して数値として反映させるなどの手法により、擬似的でない真の乱数を生成する半導体チップが利用される場合もある。
3Dプリンタ 【3次元プリンタ】 ⭐
微細な材料を一層ずつ積み重ねて立体物を造形する装置。紙に印刷するプリンタのように、断面の形状に合わせて上から材料を吹き付けたり光線を照射したりすることからこのように呼ばれる。
材料には石膏や樹脂、金属の粉末や液体が使われ、熱やレーザー、紫外線、接着剤などの作用により固化させて層を形成する。積層面に均等に配置した材料に、断面形状に合わせて上部から光線などを当てて固化させる方式と、材料そのものを断面形状に合わせて上部から噴射する方式がある。
工業的な大量生産手法に比べると装置や原料が高額で製造に時間がかかるため、一般消費者向け製品の大量生産などには向かず、試作のような一品物、あるいは、多品種・少量をオンデマンドで素早く提供するような用途に適している。
精度を高めるほど装置が高額になり造形に時間がかかるが、3D設計データと原材料があれば即座に製作することができ、工具や工作機械、職人的な技能の熟達が不要という利点がある。従来の製造法が苦手とする様々な部材や材料の一体成型、複雑な内部構造の造形などは得意である。
データを伝送・配布すれば同じ物体をどこでも誰でも同じように作り出せる点も今までにない特徴で、模型などの分野では立体物のデータ販売(購入者が自らの3Dプリンタで造形する)など新たな試みも行われている。
1980年代初頭に発明され、当初は高額な製品がほとんどだったため一部の特殊な業務用途で用いられていたが、2010年頃から個人向けの低価格製品の登場などを受け様々な用途で使われるようになった。
製造業を中心に、製品や部品の試作、デザインモデルの製作、可動部の機構検討、治具・工具・交換部品の製造などに用いられている。建築分野で建築模型の製作に用いられたり、医療分野でCTスキャンやMRIの画像を元に患部を再現した医療用モデルの製作に用いられることもある。