@ -16,16 +16,18 @@
このコードがミヤギさんの壁です。よく観察して理解しておくことが大切です。この0.0から1.0の空間には何度も立ち帰ることになるでしょう。そしてあなたはいずれ、色と形を操る技をマスターするのです。
このサンプルのx座標とy座標( または明るさ) の1対1の対応は線形補間と呼ばれています( 訳注: ここではx=0.0からx=1.0の間のグラフが一次方程式で書ける、つまりグラフが直線になることを指して線形補完という言葉を使っています。参考:[Wikipedia: 線形補間](https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%BD%A2%E8%A3%9C%E9%96%93)) 。
このサンプルのx座標とy座標( または明るさ) の1対1の対応は線形補間と呼ばれています。
ここから私たちは数学的な関数を使って線を形作っていくことになります。例えばxを5乗すれば曲線を作ることができます。
( 訳注: ここではx=0.0からx=1.0の間のグラフが一次方程式で書ける、つまりグラフが直線になることを指して線形補完 * Liniear Interpolatio n* という言葉が使われています。参考:[Wikipedia: 線形補間](https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%BD%A2%E8%A3%9C%E9%96%93)。このの章の原文ではInterpolateという単語が複数回登場しますが、厳密な使い方ではない箇所もあるため以下では「補完」という訳語はあてませんでした。興味がある方はコンピュータグラフィックスやアニメーションの世界で補完関数 *Interpolator* がどのように使われているか調べてみましょう。)
< div class = "codeAndCanvas" data = "expo.frag" > < / div >
面白いでしょう? 19行目の指数( ```5.0```)を他の数に変えてみましょう。例えば値を```20.0```, ```2.0```, ```1.0```, ```0.0```, ```0.2```, ```0.02```に変えてみます。この値と指数の関係を理解しておくととても役立ちます。この例のように数学的な関数を様々な場面で用いると、コードを表現豊かに操ることができます。鍼で気の流れを操るようにデータの流れを操るのです。
GLSLには多くのネイティブ関数が用意されており、[```pow()```](../glossary/?search=pow)はその中の1つです。ほとんどのネイティブ関数はハードウェアのレベルで高速に処理されるので、適切に使えばより速いコードを書くことができます。
19行目の指数関数を[```exp()```](../glossary/?search=exp), [```log( )```](../glossary/?search=log ), [```sqrt( )```](../glossary/?search=sqrt )など他の関数で置き換えてみましょう。このうちの幾つかはPI( パイ、円周率) を使うとより面白い結果が得られます。5行目には全ての```PI```の呼び出しを```3.14159265359```に置き換えるマクロを定義しておきました。
19行目の指数関数を[```exp(st.x ) - 1.0 ```](../glossary/?search=exp), [```log( st.x - 1.0 )```](../glossary/?search=log ), [```sqrt( st.x )```](../glossary/?search=sqrt )など他の関数で置き換えてみましょう。
### StepとSmoothstep
@ -129,7 +131,7 @@ GLSLには他にも、値を変化させるのに使うことができるネイ
#### 演習
[Kynd ](http://www.kynd.info/log/ )が作った数式の表を見てください。数値と関数をどのように組み合わせて、0.0から1.0の間で値をコントロールしているかを読み取りましょう。実際に関数を置き換えて練習してください。鍛える程にあなたのカラテは強くなります。
[Kynd ](http://www.kynd.info/log/ )が作った[ 数式の表](www.flickr.com/photos/kynd/9546075099/) を見てください。数値と関数をどのように組み合わせて、0.0から1.0の間で値をコントロールしているかを読み取りましょう。実際に関数を置き換えて練習してください。鍛える程にあなたのカラテは強くなります。
![Kynd - www.flickr.com/photos/kynd/9546075099/ (2013) ](kynd.png )