アニメーション化されたアスペクトを持つ画像をプログラムで作成する方法

StackOverflow https://stackoverflow.com/questions/267660

質問

背景

クライアントから、世界のある部分から別の部分に移動するアニメーション化された矢印/光線を含む世界の写真を作成するように依頼されました。

レイはランダム化され、トランザクションを表し、発生後にフェードアウトし、時間が経過するにつれて周波数が増加します。光線は、ある国の境界で始まり、別の国で終わります。アニメーション化されたトランザクションが発生するたびに、すべてのトランザクションの金額の継続的に更新される合計が画像の下部に表示されます。個々のトランザクションの量はランダム化されます。また、画像に年が表示され、n秒ごとに増加します。

ランダム化、加算、増分は私にとって問題ではありませんが、矢印/光線のアニメーションにアプローチする方法については迷っています。

私の質問は、これを行う最良の方法は何ですか?どのフレームワーク/ライブラリがこの仕事に最適ですか?

私はpythonに最も精通しているので、pythonの提案は私にとって最も簡単ですが、私はこれを行うためのエレガントな方法を受け入れています。 クライアントはこれをWindowsマシンのプレゼンテーションのスライドとして提示します。

役に立ちましたか?

解決

冒険好きならOpenGLを使用してください:)

ベジェ曲線は、テクスチャプレーン(地球地図)の上部の3D空間に描画でき、それらの厚さを指定でき、最後に点(小さな円錐)を描画できます。簡単で見栄えがよく、問題はOpenGLを使用したことがない場合にOpenGLの基礎を学習することですが、グラフィックスのプログラミングに興味があれば、楽しくて役立つでしょう。

pyopengl または pyglet

この方法でアニメーションを作成すると、aviファイルにキャプチャできます( camtasia または同様のもの)をプレゼンテーションスライドに配置できます。

他のヒント

  

クライアントはこれをWindowsマシンのプレゼンテーションのスライドとして提示します

これがあなたの答えの鍵だと思います。 3D実装に進み、この機能を作成するために世界中のすべてのコードを書く前に、プレゼンテーションソフトウェアを確認する必要があります。可能性として、選択肢は次の2つに要約されます。

  1. アニメーションGif
  2. カスタムプレゼンテーションスクリプト

明らかに、アニメーションgifは、レンダリングが完了すると繰り返すため、理想的ではありません。また、長持ちさせると大きなgifが作成されます。

カスタムプレゼンテーションスクリプトは、サイドプログラムを実行したり、奇妙なことをしたりせずに、プレゼンテーションでそれを表示できるようにするもう1つの方法です。どのプレゼンテーションアプリケーションがターゲットかはわかりませんが、これは貴重な情報になる可能性があります。

彼は、彼はもっと技術的ではなく、彼が気付いていない何かを要求することは難しいと思われます。いくつかのオプションを考え出し、それらを実装することの難しさを説明し、「バックフォーバン」の範囲に入る別のソリューションを提案する必要があると思います。

これはあなたがこれに費やしたい努力に大きく依存しますが、簡単な方法の基本的なアウトラインに依存します。矢印の画像をロードし、描画ライブラリを使用して、ポイントしたい方向に色を付けて回転させます(または形状/曲線を使用して描画します)。

最後に、実際にアニメーション化するには、時間に基づいて座標間を補間します。

ただし、プレゼンテーション専用の場合は、Macromedia Flashまたは類似のアニメーションプログラムを使用します(上記と同じように動作しますが、何もプログラムする必要はありません)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top