簡體   English   中英

確定某事物的x和y以便遵循2個關鍵幀之間的曲線的算法是什么?

[英]what is the algorithm to determine x and y for something so that it follows a curve between 2 keyframes?

回到uni,我記得有一種算法可以用來計算2個關鍵幀的x和y值之間的點的x和y位置,我知道那是一條直線

x =((KeyFrame2.x-KeyFrame1.x)/持續時間)*時間

我的理解是,兩個關鍵幀之間的差除以持續時間,可以得出每個時間單位(通常為一幀)有多少個度量單位(主要是像素),因此您只需將該值乘以多遠雖然時間表是

即。 x =((KeyFrame2.x-KeyFrame1.x)/持續時間)*時間
x =((10-0)/ 10)* 3
x =(10/10)* 3
x = 1 * 3
x = 3(在3個時間單位后,對象的位置沿KeyFrame1的x軸為+3像素)

我知道這是一個,但我也被告知其中一個用於曲線路徑,比如說一個球彈起向前,關鍵幀是當它撞到地面並且當它處於彈跳的時候,這就是我所要做的忘記了,我不知道我的筆記在哪里

我要問的是用於計算具有這樣路徑的對象的x和y位置的算法,我要的是與代碼相互依賴的數學算法,我想做的是使多個球體動畫將在屏幕的中心圈出一個徽標,我已經將代碼中的對象移動了,但是我需要調整關鍵幀之間的計算

注意:即使我不要求代碼,算法也用於動畫編程,因此我的問題通常與編程有關

注意2:KeyFrame2.x和KeyFrame1.x不是代碼,我將關鍵幀視為一個類的實例,該類保存諸如x,y,z,前一幀的持續時間等值

您不是在尋求算法 ,而是在尋求方程式 您可以根據要模擬的運動來使用各種方程式。 例如, 拋物線描述了重力作用下的彈丸運動-曲線形式

x = a * y^2 + b

對於由某些智能力控制的運動,基於高階多項式或貝塞爾曲線的曲線擬合更為合適。 Google是您的朋友。

如果知道圓運動,則可以圓方程式預測下一個位置或在其間進行插值。 由於圓可以由3個點唯一定義,因此您需要3個點在它們之間進行插值。 這很有意義,只有2點,您甚至無法知道它是凸圓還是凹圓。

根據您的點的運動,選擇至少與您的運動相似的方程。 正如您所指出的,在大多數情況下,線性方程式就足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM