先日は、
にてベベルについて書きました。形状を加工する際には、角を落とす必要がありますが、テーパーやRを使用します。テーパーやRは
のような距離を取った場所から
のように角を直線や曲線で落とす方法になりますが、二辺の長さが同じ場合だとこうなりますが、頂点からの距離が異なる場合には、
のように楕円で補完する事になります。これはWINDOWO 10の電卓アプリのグラフ機能で再現しているので全てが数式や不等式で形を作っていますが、楕円については、単位円の公式の変形なので、
■ 変数に付加している係数 : 寸法の変化
■ 変数から減算している値 : 座標の変化
を行っています。単位円の公式は、変数xと変数yを二次式の状態にして、この2つの変数を加算した物が1になるという仕組みになっていますが、この単位である1に対して係数を追加すると、円のサイズが変わります。単位円の公式は変数に指数がついている状態になっていますが、この変数の部分を一次関数の形に変更する事で単位円のX座標とY座標を変更する事が出来ます。これについては、
■ 変数を使って単位円を動かす
の中で行っていますが、Geogebraでは、変数の指定が出来るので、単位円の公式の中に変数を追加する事が出来るようになっています。そして、変数は再生をする事で変化をさせる事が出来ますから、単位円の座標の変化を与える定数項の部分に変数項を代入する事で変数の値の変化を適応する事が出来るので、動画内で行っているように単位円の座標のを変える事が出来ます。
こうした関数の制御は高校の普通科の数学のカリキュラムで関数を扱う際に使用しますが、最初に二次関数辺りでこれと同じことを行って、その後に不等式とかでもこれを使用する事になります。
単位円の場合、 【 X軸とY軸の値の比率が変わると楕円になる 】 ので、係数を使って変数Xと変数Yの値を変更すれば楕円になります。楕円の考え方は、サイズ変更をする際に片方の軸のみ 【 拡大・縮小 】 を適応した状態ですから、片方の変数をロックした状態で、もう片方の値を係数で変更すれば楕円になります。Rを撮る際には、矩形の状態が違っても形状の頂点が半径を超えない条件だと、
のように円に沿うように配置すれば二点を円周の中に収める事が出来ます。この時の頂点を円の中心を結ぶ線を描くと
のようにRを描く半径を出す事が出来るので、二点の座標を繋ぐ円弧を生成できる円の中心を割り出す事が出来れば、どんな矩形の頂点でもRの指定が出来る事になります。
Blenderでは、エディットモードで形状を加工しますが、こうした処理はブーリアンを使う事で適応できますが、セグメントの制御で
のような変化が追加できます。そして、
のように選択時に藩にの変化を加える事が出来るのですが、ベベルを頂点に対してのみ実行する事もできます。
ベベル形状のカスタマイズをカーブで行えるの絵、
のような形状を作ったり、これを頂点に適応する事もできます。
ベベルでは、
のようにテーパーやRを追加するだけでなく、多重化できるので、
のようにテーパーの両端に対してテーパーを追加する子tもできますが、
のようにカーブで指定した形状に範囲を削す事もできます。ブーリアン破片に適応するので
のように面の選択もできるのですが、
のように形状の変化をしている部分を指定してベベルをかけるとテーパーやRを追加する事が出来ます。
また、辺に対して、適応できるので高さ方向についても、
のように部分的に適応したり、高さ方向の全体に適応する事もできます。
辺がある場所だと適応できるので、
のようbに角を落としていく事もできます。
Blenderでは処理を行うと、画面の左下にプロパティが表示されるのですが、ベベルの場合、
のような項目があり、断面のタイプをカスタムにすると、その形状を指定できます。
面を選択した場合、 【 範囲した側面の辺 】 に対して高価を追加できるので、
のような形で指定すると、
のような変化を与える事が出来ます。ベベル自体が角の処理なので、 【 テーパーに対してどう言った処理をするのか? 】
という考え方になりますから、テーパーの範囲を曲線補間をすればRになりますし、カスタムで状態を指定すると凹凸の状態を作る事が出来ます。
ベベルは辺に対して指定しているだけなので、面に指定する場合には面を構成する辺を選択する事になりますが、辺の場合だと、最初に始点となる頂点か辺を選択した後に終点部分で、
CTRL + クリック
を使う事で範囲で選択できるようになっています。その為、
のように辺を選択して、セグメントを調整して
のように1にするとテーパーを追加でき、
セグメント数を増やして
のように100にすると、Rを追加できます。
ベベルの適応は辺の両端の頂点の見に指定する事もできるので、
のように頂点の適応すると、
のように角のみ落とす事が出来ます。この時に曲面的にするのか直線的にするのかをセグメント数でコントロールする事が出来ます。ちなみに、
SHIFT + クリック
を行うと連続していない別の頂点や辺を選択できるのですが、それを使って、反対側も選択してベベルをかけると
の王になります。セグメントを1にすると
のようになりますが、ベベルを適応後には、形状が選択されているので、
SHIFT + D
を使って複製すると、
の部分のパーツを複製する事が出来ます。
オブジェクトを選択した状態か、全てを選択して
P
を押すと
のように分離が出来るので、分離をさせてオブケクトモードに戻ると先程追加した形状を選択できるようになっています。
この乗遺体だと2つに合分かれているので、
CTRL + J
で統合すると1つのオブジェクトとして利用できるようになります。
この状態でこうすると独立してパーツの移動が出来るので、
S
で拡大して、
G ➡ Z
の順にキーを押すとZ軸方向のみに移動できるようになるので、その状態で位置の調整をします。
この状態だと板なので、厚みを付ける事になりますが、エディットモードで
E ➡ S
と言う流れで押し出しを実行後に距離の移動をキャンセルしてSで新規の面を拡大・縮小すると厚みを持たせて巨大になるので、不要な高さ方向の情報を再度
S ➡ Z
の順に押して調整してもいいのですが、ソリッドモディファイヤーを使うと厚みに持を付けれるので、作業としてはこっちの方が行いやすい気がします。先程の面を選択した状態で
のようにソリッドモディファイヤーを選択して厚みを指定すると、
のように板ポリゴンに対して厚みを付ける事が出来ます。厚みを決めた後に
で適応を指定すると状態が確定するので、3Dプリントのように成果宇な座標データが確定した状態で出すような場合だと、モディファイヤーで適応をする事になります。モディファイヤーを見てもらうと
のように横に ・ がありますが、これがタイムライン上のキーフレームになります。現在はジオメトリノードで制御できるので、ノードでコントロールする方法もありますが、タイムライン上のフレームを指定してキーフレームを討つことで数値の変化を動画内に反映させることができます。その為、厚みや丸みなどを時間軸で制御できる仕様になっています。
ソリッド尾を使う事で厚みが付いたのですが、この状態だとと角の処理がされていないので、角ばった状態になっていますから面を落とします。
TAB
キーでエディットモードに入り、べベルをかけると
のようになりますが、今回はポリゴン数の少ない状態で角を落とす事にしました。この状態で
のようになりますが、Blenderでは何もない場所でマウスをドラグすると範囲選択が出来るので、表示モードを切り替えてワイヤーフレームにして
のように選択して
P
で独立させて
この状態で加工をすると
のようになります。
この状態でソリッドを入れると厚みが付きますが、同じ形状を複製して加工して配置を行うと、
のような形状を作る事が出来ます。この形状だと突出している部分が難しいのですが、こうした形状もベベルを使って直管的に作る事が出来ますし、セグメントを増やしておくとベベルだけで曲線的な変形が出来るので、
のような形状の操作もベベルだけで行う事が出来ます。円柱の場合、面の部分は他角形ポリゴンのF-GONになっていますが、ベベルは辺(ポリライン)に対して適応するので、
のような変化を与える事が出来ますが、
のようにカスタムで曲線的な変化を追加できるのですが、
の部分でエッジの状態を調整できます。追加する際には画像のように左端になって要るので曲線的になっていますが、その隣のアイコンをクリックするとその頂点を直線的に角を立てる事が出来ます。これは、サブディビジョン適応時のクリースのような役割になりますが、カスタムで形を作っても
のように角張った状態を作る事が出来ます。また、
のように面を選択をして
E
で押し出して辺を作った後に
のように境界を選択してベベルをかけるとカスタムで指定した角を撮る事が出来ます。
こうした加工が出来るので、CUBEを新規作成して、
I
で面を差し込んで枠を作った後にエッジの装飾を入れる際にもベベルで形を作ると額縁や窓枠の形状のベース部分を作る事が出来ます。
ベベルについては、
■ ベベルのテスト
で実際に行っていますが、カスタムで断面形状を変えると複雑な形状の断面を追加する事が出来ます。
状 態の変化
今回は、Blenderの 【 ベベル 】 の機能の一部に触れたのですが、この機能は、加工 【 面取り 】 の処理と同じなので、通所の使い方だと、
■ テーパー
■ R
の適応になりますが、カスタムを使う事で、形状をテーパーを追加した面に指定する事が出来ます。このトーンカーブのような物を使って形状の状態を調整する機能については、3Dテキストでも指定できるので平面的な物ではなく凹凸を加えた状態での加工が出来るようになっていますが、ポリゴンではなくパスで構成されたテキストについてもそう言った加工が出来るようになっています。今回は、
のような形でこれを使っていますが、グラフィックツールだとこうした仕様の物は 【 トーンカーブ 】 が同じような形の物になります。トーンカーブは色をコントロールする事になりますが、
■ クロマ(明暗なのでRGBが同値で動く)
■ R(赤色の成分)
■ G(緑色の成分)
■ B(青色の成分)
で指定する事になります。デジタルの場合、光の三原色なので、
■ 赤色
■ 緑色
■ 青色
になりますが、これを全て加算すると白色になるので、RGBの要素が全てない状態が黒ですべて合成すると赤になります。物体の色は 【 波長の反射 】 で発生しているのですが、それ以外の色が吸収されているので特定の色が見えています。絵の具の場合も同様の挙動なので、光のような発光体の波長の変化ではありませんから、反射している成分の色と言う事になります。その為、絵の具の三原色は、
■ 赤色
■ 青色
■ 黄色
になっており、作れない色や作りにくい色である、クロマの成分を加えた
■ 赤色
■ 青色
■ 黄色
■ 黒色
■ 白色
の5色を混色する事で色を作る事がⅮ系るようになっています。基本的に、明るさと暗さについては白い発光体の色の変化として考える事が出来るので、グレースケールで判断する事が出来るのですが、発光体の場合だとこれが
三原色の発光の度合い
で調整を入れる事になります。その為、絵の具のように反射をする波長の特性の違う物を混ぜるのとは異なり、発光していく度合いを変更する事で状態をコントロールしています。これが出来るので、ブレッドボードにRGBのLEDを繋いで、マイコンで階調変化を与えて発酵させた場合、暗所で遠い場所から見ると色が違って見えます。ディスプレイもマクロ撮影で拡大して見るとRGBがそれぞれ並んだ構造になっていますから、基本的な原理はな字になります。
ちなみに、電気工作で使用できるRGB LED(フルカラーLED)は、色用に足が3本用意されていますから、3種類のLEDの入力が個別に存在している構造になっています。その為、この仕組みを穴エログで制御しようと思うと、並列回路を作って、LEDが壊れないように抵抗を挟んで最適な電流にした 【 フル発光 】 の状態を作って同時に発色できる状態にしておいて、この回路に対して、可変抵抗を入れる事で電流をコントロールできるようになりますから明るさを変える事が出来ます。とは言っても、暗くしているのに明るい時の電流を流すのは電力効率が悪しぎるので、こうした制御をする際にはPWM制御を行ってデューティー比を変えて明るさをコントロールするk十になります。マイコンを使うとこうした処理をコードで制御できるので、操作を含めた場合、どう言ったインターフェースを作って操作する仕様にするのかを考える事になりますが、1ピクセルの色の変化もこの色のモジュールと同じような処理が行われています。流石に、LED3つを並列回路で繋いでPWM制御をするような装置を作ると結構巨大なサイズになりますし、処理自体はLチカと変わらないのに物々しい構造物になりますから、これを並列化してドットマトリックスの1つの発光体のように扱うとかなりすさまじい事になりますし、それをGPIOで個別に制御しようと思うと、凄まじい数の端子が必要になります。多分、表示機材でどこかのデータセンターですら発生しないような本数のケーブルまみれな物を見たk十がある人は少ないともいますが、そうした危険地帯のような状態になっていないのは電送の方式を全てパラレルの並列回路ではなくシリアルで送っている為です。
この時に使用するのが、シフトレジスタ回路になりますが、マイクラの場合だと、セレクターとしても使えるこの回路は、
■ 右シフト : 桁の繰り上がり
■ 左シフト : 桁の繰り下がり
を扱う装置になっています。電気の状態は階調を考えない状態で判断すると二値になりますから、有無で考える事が出来るので二値になりますから、二進数を用いる事で制御する事が出来ます。
この時の値の推移を二進数で行うと数値が作れるわけですが、桁の変化で移動させると、座標の変化を与える事が出来ます。
この辺りは単色LEDでも出来るのですが、シフトレジスタに対して数値の移動を高速に行うように指定をすると、信号が右か左に流れる訳ですが、この時の点滅速度を早くすると点滅が見えなくなります。この構造をLEDのアレイに対して適応すると、直列回路のように並んだLEDが順番に点灯しているだけなんですが、これが同時に点灯しているように見えるわけです。この時に指定するタイミングを周期で管理する事になりますが、この周期がディスプレイで使用されている 【 リフレッシレート 】 になります。RGBのマトリックスLEDでも同じような事が出来ますが、micro:bitで実装されているマトリックスLEDで行っているような制御をブレッドボードで作る場合には少し複雑な制御を行う必要が出てきます。これが表示になりますが、この時の発光の度合いをRGBに指定した物がフルカラーの状態になりますが、この各ピクセルの情報法を記録することで画像が出来ています。このデータは発光パターンですから、定数で制御っされていますが、この定数の状態に値を加える事で変化させるのがカラーの制御になります。
グラフィックツールでは表示はOSで行っているので、OS上で動く状態をソフトウェアで作成し、色の制御をしている訳ですが、この時の明るい色~暗い色のグループの値の状態をコントロールする事で状態を変える事になります。トーンカーブの高さは明るさなので、左側が暗い色のグループで、右側が明るい色のグループですから、256階調で考えると、左が0のグループで、右が255のグループと考える事もできます。この間に256階調のデータが存在しているのですが、この時の推移は一次関数と同じになりますから、
のようなリニアな状態になっています。この時に255を125に下げるとそれに該当する場所は暗くなりますし、0の部分を125にするとかなり明るくなります。色が見えている場所は中間部分が多いので、ここを曲線的に変化させると、全体的に明るくなり、下げて行くと暗くなるのもそう言った理由になります。その為、トーンカーブだけで
■ レベル補正
■ コントラストの調整
ができるのですが、これが明暗だけでなく、各チャンネルにも適応できるようになっているので、細かな設定はトーンカーブだけでも行えるようになっています。このようにラスターグラフィックで使用するトーンカーブはrgbの発光を制御する数値の変化を直感的に調整する物になっていますが、
の場合は、座標の数値の制御をグラフでコントロールしているので、テーパーの部分にモールドを追加出来るようになっています。
■ 形をコントロールする
グラフィックの場合、図画工作や美術で行っている事をデジタルで生成したバーチャル空間内で行っている訳ですが、現実世界の出来事が、より数学的になった構造物になっています。現実世界で生活をしている時に、位置などの状態を座標として考える事は少ないと思いますし、物体の特徴として形を理解することはあっても、それが複数の不等式で構築された変域と認識することはないと思います。また、長さについても距離と感じる事はあっても、それが一次元の変域だったり、集合と感じる事は少ないと思いますが、グラフィックでは、使用する数値の範囲と言う変域が存在していますが、その範囲内で形を作る作業を行う事になります。
基本的にデジタルも画材の類なので、特性をぼ得て使えば、美術で行う絵画や造形の技法をそのまま使用できますし、設計で行う知識もそのまま持ってくることができます。
その為、基本となるアナログの知識を使う際に、ソフトウェア上でどうすればそれが可能なのか?を考える事になります。
そして、 【 無い物は作ってしまえばいい 】 と言うのがコンピューターの世界なので、その作業を行う際にプログラミング言語を使用する事になります。
グラフィックは図形ですから、基本的に人が目視できる二次元及び三次元の形状を作る作業をする事になりますが、この時の処理の基本的な考え方は数学の図形や解析学によるグラフ上の座標制御になります。
その為、面積や体積で使用する形の作り方や図画工作や美術で学習した技法も使えますし、技術授業で行った内容も使用することが出来ます。
基本となる技法などはアナログと全く同じなので、学校で学習した内容をそのまま使う事はできますし、義務教育は高校の知識を得る為の基礎学習ですし、それがないと解らない物が多いので、知己S気の拡張として必要になりますが、デジタルデの作業も知らない画材を使うのと同じなので、基本的に特製の理解と練習と技法などの学習が必要になります。
その為、基本となる形状の変化を行う際には学校で学んだことがそのまま使えるわけですが、高校以降のカリキュラムだと、現実世界の物は座標制御でコントロールできるので幾何として扱えるものは多次元すれば対応可能で、目視できる物についてはユークリッド空間上の座標制御で対応できることが解ります。この時に数列の総和や微分・積分などを用いると制御が行いやすくなるので、結果的に高校の数学を用いる事になりますが、数値の推移が存在する場合、最低でも二軸以上で構成された空間を使う事になりますから、グラフで再現できるので、物理の分野でも法則性を示すものを見てみると微分や積分の要素が組み込まれている事があります。その為、高校以降の数学はかなり汎用性の高い物になっています。
これを踏まえて、【 図形や造形物は変域であり、座標と言うデータのの集合である 】 と考えると、グラフィックも数学で制御が可能と言う事がイメージできるのではないかなと思います。
■ 形状の変化
図形を考える場合、形状の組み合わせで考えるとイメージがしやすいのですが、処理については、 【 項 】 のように加算をしていく事で対応する事が出来ます。と言うのも、形状とはデータの集合なので、集合演算で対応できるので、図形の面積の加減算と同じ状態で処理ができます。小学校だと加減算と考えますが、中学校だと符号が出て来るので、加算の処理をする項の状態で加減算が変わってきます。この処理の状態を変更するのが符号になります。
小学校でもグラフは登場しますが、現実世界で使用できる値のみを扱いますから、グラフの状態が正の数のみになっています。その為、
のように負の数の部分が存在しません。中学校1年生の数学では、この赤い部分の空間も使った数値の変化を扱う事になります。その為、正比例の場合だと小学校では、画像のようになっていますが、中学校ではこれを一次関数として使用するので、
のように負の数も含めた状態で学習します。その為、
【 常に減っていく比例 】
と言う条件が存在する事も中学校1年生の数学で学習する事になります。一次関数の場合、
■ 初期値が違えば同じ数位でも結果が違う
■ 減少をし続ければ0以下になる
■ スタートが違っても推移が異なると結果が違う
■ 増減は傾きで再現できる
■ 始まりは杖に0と言う訳ではない
と言う条件が存在している訳ですが、そう言ったごく当たり前な内容をグラフと数式で示す事が出来るのが解析学になります。
中学校では、解析学の基礎として、
■ 関数 : データの値
■ 変域 : データの範囲
を学びますが、高校の数学だと、関数を変数項のように使うので、色々と面白い事が出来るようになります。
今回は、Blenderでテーパーを扱いましたが、ここに変化を追加する事でテーパーの面の形状に変化を与える事を紹介しました。この内容も数学だと 【 加算処理 】 なので、グラフ上でも全く同じことが発生します。
まず、
のような f(x)=x のグラフを用意して、 f(x)=sin(x) のグラフを加算すると、
のように一次関数にサインカーブの要素が追加されます。これは、
のような絶対値のグラフや
のような平方根のグラフでも同じです。分数関数も同様に
のように元の関数の状態に対して三角関数の要素を足した変化を追加する事が出来ます。ただし、二次式だと
のように違う傾向が出ます。その為、最初の状態に対して変化を関数で加えると推移をコントロールできるようになっています。
関数の内容を変更すると
のようになりますが、不等式で範囲指定をするとグラフ上では面が生成されるので
のように 【 形状 】 を取得する事が出来ます。
式を加算ではなく乗算に数と、元の数値は値の係数として働くので
のようなグラフが生成されます。一次関数だと y=ax+b と言う形の式で登場しますが、この時のaは数値なので、式として登場する際には定数項ですが、これを g(x)=f(x)x+b のような形にする事もできます。
関数は作り方で面白い挙動になるので、
のように不思議な形を生成する事が出来ます。これは状態変化なので、【 状態 】 + 【 変化 】 と言う処理の結果が値として反映されているので、ベースとなる関数を用意して底に挙動の傾向を支援す関数を追加すれば、その形で推移する事になります。
ただし、【 床関数 】 のように整数処理を行いフィルターのような関数については、関数その物を包含しないと床関数にならないので、
のように数式自体を床関数の中に包含する必要があります。そうすると、画像のように床関数の特性を持っグラフを生成する事が出来ます。
今回のベベルも一次関数に対して座標制御で指定したパターンを加算しているので、か投げ方は全く同じですが、形状の加工についても座標制御なので、同じような考え方が出来ます。その為、 【 菜に居に対して何を追加するのか? 】 と言う加算を基準とした考え方で形を考えて行くと絵のアタリを取る時や造形物の形を作る上でも作業の工程をイメージしやすくなります。