第3章 Mathematicaでマルチメディア
1 画像処理
Mathematicaのデータの基本的構造の一つであるリストをもちいて、画像を数学的にいろいろ処理する方法を紹介する.
3次元グラフィックスの3つのコマンド(再録)
それぞれのオプション(再録)
3次元リストを作成する(再録)
写真の取り込み
上の画像がセルメニュー→形式変換→メタファイルであること確認し、この画像を別のセルへコピーする.そこで、セルメニュー→形式変換→ビットマップに変換.そして、InputFormを実行する。そして,次のように,2次元データのリストのみコピーし,okumaとする.
okuma={
{0.709804, 0.709804, 0.709804, 0.709804, 0.709804, 0.709804, 0.709804, 0.709804,
0.709804, 0.709804, 0.709804, 0.709804, 0.709804, 0.709804, 0.709804, 0.709804,
0.709804, 0.678431, 0.709804, 0.709804, 0.709804, 0.709804, 0.709804, 0.709804,
09804, 0.709804, 0.709804, 0.709804, 0.709804, 0.709804,
中略
0.611765, 0.611765, 0.611765, 0.611765, 0.611765, 0.611765, 0.611765, 0.611765,
0.611765, 0.611765, 0.611765, 0.611765, 0.611765, 0.611765, 0.611765, 0.611765,
0.611765, 0.611765, 0.611765, 0.611765, 0.611765, 0.611765, 0.611765}};
画像データの配列数を求めると、
In[3]:=
画像の再構成と加工
世の中には,画像処理ソフトウエアがあるが,ここではもとのデ-タをもとに数学的に処理する.使う関数はみなお馴染みのものである.
In[4]:=
Out[4]=
In[5]:=
Out[5]=
In[6]:=
Out[6]=
小数部分を切り捨てる.
In[10]:=
In[8]:=
Out[8]=
小数部分を切り上げる.
In[9]:=
Out[9]=
データの補間(連続関数を作る)
今度は,画像デ-タから連続関数を作る.そうすることで,数学的に非常に扱いやすくなる.
In[11]:=
Out[11]=
In[12]:=
ポイント数を落とす.
In[13]:=
Out[13]=
回転させることもできる.
In[14]:=
In[16]:=
In[21]:=
Out[21]=
In[19]:=
Out[19]=
3次元化することも可能である.
In[22]:=
Out[22]=
2 サウンド機能
Mathematicaではサウンドを生成できる.基本的な操作はグラフィックスの扱いに似ている.
関数からサウンドを生成
まず正弦波の音.
In[23]:=
Out[23]=
1オクターブ高くする.
In[24]:=
Out[24]=
In[25]:=
Out[25]=
In[26]:=
Out[26]=
和音はリスト形式で生成させる.
In[27]:=
Out[27]=
関数を変化させることで、複雑なサウンドが生成できる.
In[28]:=
Out[28]=
ベッセル関数でのサウンドを聞いてみよう.
In[29]:=
Out[29]=
In[30]:=
Out[30]=
Table文で逐次的にサウンドを生成させる.
In[31]:=
In[32]:=
リストからサウンドを生成
円周率のサウンド
円周率をデ-タリストにしてサウンドにする.
In[33]:=
In[34]:=
Out[34]=
練習:自然対数の底のサウンドを作成しよう.
循環小数のサウンド
小数もデ-タリストにして,サウンドにする.
In[35]:=
In[36]:=
Out[36]=
In[37]:=
In[38]:=
Out[38]=
In[39]:=
Out[39]=