質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

1回答

3809閲覧

Processingで以下のアニメーションを実現させたい

退会済みユーザー

退会済みユーザー

総合スコア0

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2015/09/04 12:31

Processing初心者なのですがCurvesクラスをつかって、以下のようなアニメーションをさせたいのですが、どのようにすればよいか、ヒントだけでもいいので教えて頂きたいです。(具体的なコードを示して頂けるとなお嬉しいです)

実現したいこと

・Bezierでひいた線の上を沿うように点が移動する
・Bezierで引く線(ポイント)はランダム
・線の切れ目、もしくはウィンドウの端までいったら、START地点にもどって再スタート

どうかよろしくお願いします。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ベジェ曲線で補間する場合は bezierPoint という関数を使います。

ただ、こちらの説明を見ても判るように4点以上の制御点で滑らかに繋ぐのに手間が掛かります。
面倒を避けるなら、catmull-romスプラインの方をお勧めします。

curvePoint がそうです。
※curve関数の説明のほうで、補間方法について言及しています。

点を順にスライドしていく方法については、ここのExample にも書かれているのですが、若干わかりにくいかもしれないですね…

実際に紙の上に自分で大雑把にプロットしてみると分かりやすいのですが、点0〜3がある時に curvePoint で実際に得られる軌道は点1〜2の間になります。
なので、点0-3, 点1-4, 点2-5 点3-6のように、入力する点を1つずつシフトして軌道を得てみると「点1〜5」の軌道が得られます。

端っこが気になる時は、最初と最後を2重にしたデータを作って与えれば、端から端までの軌道を得られます。

投稿2015/09/04 13:40

編集2015/09/04 13:41
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/09/15 19:27

ありがとうございました!大変参考になりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問