楕円でクマの顔をつくる
クマの顔を構成するパーツは大まかに耳、鼻口部、鼻先、口、目、顔の輪郭に分けられます。これらのパーツにはそれぞれクマを感じさせる力の差があると思います。 まずは、シンプルなクマの顔を使い、顔を構成するパーツの耳、鼻口部、鼻先、口、目のどれかひとつを消したものを比べることで、その差の印象を見てみます。
顔の一部パーツを消した様子
上の図を見ると、耳や鼻の存在がクマらしさに大きく寄与していると感じます。 それでは、更に踏み込んで顔を構成する各パーツに対して、その位置や大きさが変わるとクマを感じる印象がどう変わるのでしょうか。 それはベースとなるクマの顔のデザインによってどう変わっていくのでしょうか。 これらを効率よく確認するために、クマの顔をプログラムで作り、パラメータでその形を制御できるようにした上で検証しました。
クマの顔生成プログラム
このプログラムはPython+Tkinter+OpenCVで作っています。卒業制作の本や映像はこのプログラムを利用して作りました。 特徴としてはパーツを動かしたり、別の顔へ線形に変形させるために、各顔パーツの表現には離散的なパラメータは使わず、 楕円の数値の連続的なパラメータの組み合わせのみ顔を作っていることです。 本を効率的に作るために、下図のようにパーツを動かしたり顔を補間した結果を一度に出力する機能なども用意しました。
作ったクマの顔の例
{"base_x": 450, "base_y": 450, "line_size": 10, "ear_offset": [45, 0.6], "ear_center_offset": 0.0, "ear_scale": [1.0, 1.0], "ear_inner_scale": [1.0, 1.0], "ear_under": 1.0, "ear_rotate": 0, "ear_rotate_offset": [0, 0], "face_scale": [0.85, 0.85], "face_under": 1.0, "face_arc": 360, "face_rotate": 0, "nose_contour_offset": [0.0, -0.72], "nose_contour_scale": [0.5, 0.5], "nose_contour_arc": 180, "nose_contour_under": 1.0, "nose_contour_rotate": 0, "eye_offset": [0.5, 0.48], "eye_inner_offset": [0.0, 0, 0], "eye_scale": [1.0, 1.0], "eye_scale2": [0.5, 0.5], "eye_arc": 360, "eye_rotate": 0, "eye_center": 0.0, "nose_offset": [0.5, 0.2], "nose_scale": [0.2, 0.2], "nose_under": 1.0, "nose_rotate": 0, "nose_line": 0.0, "mouse_offset": [0.5, 0.36], "mouse_scale": [0.2, 0.2], "mouse_under": 0.95, "mouse_top": 1.0, "mouse_arc": 180, "mouse_rotate": 0, "lip_scale": [0.5, 0.5], "lip_arc": 0, "lip_offset": 0.0, "cheek_scale": [0.0, 0.0], "cheek_offset": [0.88, 0.0]}
前図のクマの顔のパラメータ(json)
パーツを動かした結果を並べて出力する機能
四隅の顔を補間して出力する機能
本内容は武蔵野美術大学 通信教育課程 デザイン情報学科 卒業制作の試作で作成したものです

Prev Next