図形効果 [花子]
今回もブール処理(Illustratorでいうところのパスファインダ)は搭載されないようだったこともあり、当初、花子2008はスルーしようと考えていた。他の新機能が気になって結局注文したのだが、これらの新機能/改良点が、思いのほか良くできていたのが思わぬ誤算だったわけで。
一見すると地味な機能に見える「コンテンツの呼出元を表示」なんかも、コンテンツ周りをよく使う人にとってはかゆいところに手の届く非常に便利な機能である(結局注文した理由の1つがこれ)。
そしておそらく今回の目玉であろう「図形効果」も思いのほかきれいで良い感じである。
たとえば「反射」は、上図のように、図形の下端を基準に垂直方向に反射される。選択した図形の領域の、下の辺が反射面になっている、ということである。
で、通常は水平に反射するのに対して、こんなふうに斜めに反射が付けられたらまた面白いんじゃないかなぁ、と、試しにやってみた。
なんてことはない、
1.元の図形↓に対して、
2.せん断や拡大縮小で適宜変形させた上で反射を付け↓、
3.変形させた図形そのものは余分なので、上に白い(背景と同じ色の)塗りの長方形を重ねて隠し(点線のイメージ)、
4.その上に元の図をぴったりくっつけて重ねる。
という、ただそれだけのことである。
やっていることは単純なのだが、2の「適宜変形させ」るところを、ちょうどうまくフィットするようによい具合に調整するのがやや手間である。
だもんで、この部分を(ごく簡易的に)自動化するマクロを、軽いお遊びで作ってみた。
あらかじめ同じ図形を2つ用意しておいて(これは手作業)、
片方を指定しマクロを実行、反射面(この例でいうところの赤い線)を線で指定すると、
ちょうどぴったりフィットするように、適当な量だけせん断される。
あとは前述の通り(ここからは手作業)、これに反射を付け、不要な部分を塗りつぶしで隠し、その上に元図をぴったり重ねる、ということをするだけ。
なお、あくまで簡易的に変形させているだけなので、正確な反射にはならないので注意。雰囲気です、雰囲気。傾きの角度が強くなっても不自然になるので注意。
!!************** !!斜めに反射の素 !!************** Ver.1.0 !! (C)臼田 隆行 !! 2008-02-10 !!************** !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!======================================================== !!macroname(斜めに反射の素) !!title(斜めに傾いた反射のための種を作る) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ErrorBreakMode(0, 0, 0) !!図形の指定 %pn = GetPage() %fnp = GetSelectFig() do if %fnp = nil SelectFig?() %err = ErrorCode() if %err then stop end if %fnp = GetSelectFig() else exit do end if loop !!角度の指定 Message("反射面を線で指定して下さい", 1) Line?() %ln = CountFigsPage(%pn) %ld = GetFigDocument(%pn, %ln) %lc = GetLineData(%ld) %angle = -Angle(GetX(%lc("座標2")) - GetX(%lc("座標1")), \\ GetY(%lc("座標2")) - GetY(%lc("座標1"))) Cut() !!せん断 %shear = tan(%angle) * 200 PutSelectFig(%pn, %fnp) Shear(2, , %shear, , , , )
以下、個人的な備忘。
- せん断率が 200・tanθ という、あっけないくらい単純な計算で求められるのもポイント。
- Share() の縦せん断率に注意。基準はX軸方向の長さ。
非常に繊細で、きれいな効果だと思います。
また、折り紙の図形も立体感があり、すてきな感じです。
by jchap (2008-02-11 00:46)
図形効果をはじめとした今回の改良点は、ブール処理が搭載されなかったことの失望感を忘れてしまうくらい(笑)なかなか良い出来という気がします。
ご指摘の「Web画像の切り出し」の問題(http://jchap.justblog.jp/exploring_hanako/2008/02/2008-cb06.html)には気づきませんでしたが、ぜひ修正してほしいですね。せっかくの便利な機能ですから。
by t-usuda (2008-02-12 00:13)