2008-11-06 111 views
1

背景如何創建動畫方面編程

有人問我有一個客戶端創建已動畫箭/是來自世界的一部分到另一部分的光線世界的圖片的圖片。

的光線會被隨機分配,將是一個交易,將淡出它們發生後,隨着時間的推移在頻率將會增加。射線將在一個國家的邊界​​開始,並在另一個國家結束。隨着每個動畫交易的發生,所有交易金額的連續更新總額將顯示在圖像的底部。個別交易的金額將隨機分配。圖像上還會顯示一年,每n秒會增加一次。

隨機化,總結和增量是不是我的問題,但我在不知如何接近箭頭/射線的動畫。

我的問題是什麼是做到這一點的最好方法是什麼?什麼框架/庫最適合這項工作?

我最流利的python,所以python的建議對我來說是最容易的,但我打開任何優雅的方式來做到這一點。 客戶端將在Windows機器的演示文稿中以幻燈片形式呈現此內容。

回答

1

如果你是冒險利用OpenGL :)

您可以繪製貝塞爾在一個紋理面(地球地圖)的頂級三維空間曲線,你能爲他們指定的厚度,你能畫點(小錐)在最後。這很容易,它看起來不錯,問題是學習OpenGL的基礎知識,如果你以前沒有使用它,但如果你在編程圖形,這將是有趣和可能有用。

您可以使用python的OpenGL或者pyopenglpyglet

如果通過這種方式製作動畫,您可以將其捕獲到可放置到演示文稿幻燈片中的avi文件(使用camtasia或類似的東西)。

1

這在很大程度上取決於你想花費在這個努力,但一個簡單的方法的基本輪廓。將加載一個箭頭的圖像,並使用繪圖庫在想要指向的方向上進行着色和旋轉(或使用形狀/曲線繪製)。

最後,爲了實際製作動畫,它在基於時間的座標之間插值。

如果它只是一個演示,雖然,我會使用Macromedia Flash或類似的動畫節目。(會做上述相同,但你並不需要任何編程)

2

客戶端會目前這是一個在Windows機器演示幻燈片

我認爲這是你的答案的關鍵。在進行3d實現並編寫世界上的所有代碼以創建此功能之前,您需要查看演示文稿軟件。機會是,你的選擇會歸結爲兩點:

  1. Gif動畫
  2. 自定義演示腳本

顯然,GIF動畫是不理想的原因在於它重複時,這是事實完成渲染,並使其持續很長時間會形成一個大的gif。

自定義演示腳本可能會是另一種方式,讓他把它在演示文稿不運行任何副作用的方案,或做什麼奇怪的。我不確定哪個演示應用程序是目標,但這可能是有價值的信息。

他聽起來像他更非技術和要求的東西,他不知道將是困難的。我認爲你應該提出一些選擇,解釋實施它們的難度,並提出另一種解決方案,以落實'爲你的壓力'範圍。