- 締切済み
IllustratorでJavascriptを使ってフリーハンド描画をしたい
Illustratorで鉛筆ツールを使うとフリーハンドで絵が描けますよね、ある程度の補完がかかって。 あれをJavascriptで機械的に動作させることってできませんか? Illustrator用のJavascriptはどう書くのか分からないので適当に書きますが(すみません)、以下のようなスクリプトを実行したいのです。 for (i=0; i<100; i++) { var x = i; var y = Math.sin(i)*50; penTool(x, y); } ペンツールで次々に座標を設定していき、補完を利用して滑らかな曲線を描きたいのです。上のコードはサイン波の形状を想定しています。単純にその形を作るだけならスクリプトを使わなくてもできますが、スクリプトで自動処理させることで時に面白い形状が偶発的に生成されるのを試してみたいのです。Flashで似たようなことは出来ますが、それを素材として利用するのには問題があります(ベクターデータとして再利用はできませんから)。良い方法をご存知の方、どうか情報提供よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- shut0325
- ベストアンサー率40% (490/1207)
お使いのIllustratorのバージョンとOSは何でしょうか? CS2/CS3にはアプリケーションがあるフォルダの中に[Scripting]というフォルダがあり、その中の[マニュアル]フォルダに資料PDFが入っていますので、それを一読されると良いかと思います。アドビのHPからも入手可能ですのでそれを利用してもよいかと思います。ただし、CS3はすべて英文、CS2はなぜかダウンロード入手版はすべて英文です。 ただ気になるのですが、書かれているコードと、下に書かれているされたいこととは意味合いが異なるように感じます。 ペンツールでポイントを書いていき、補完したように滑らかにしたいのなら、わざわざスクリプトを書く必要はありませんし、コードの方はペンツールを使う必要性はありません。 後者の場合は下記の方法で実現可能かと思いますがいかかでしょう? 1.ペンツールで適当にプロットする。 2.[フィルタ]→[パスの変形]→[ジグザグ]を選択 3.ダイアログボックスで「大きさ:0」「折り返し:0」「ポイント:滑らかに」でOK 4.スムーズペンでさっと全体をなぞる。 どちらかというと3で「ポイント:直線的に」としてアンカーポイントのハンドルをなくす時に使っていましたが、、、、 前者の場合(サインカーブのようなもの)はJavaScriptやVBでやるのは造作ないことです。私はインターフェイス部(値の設定等を行う)をVB.Netで作っていますが、JavaScriptはCS3の方に詳細なマニュアル「JavaScripting Tools guide」があるのでそれを参考にすればよいかと思います。 ちなみに補完のアルゴリズムはご自身で考えることになりますので、そこら辺の数学(代数・幾何あたり??)を復習されると良いかと思います。