專利名稱::在計算機(jī)圖形系統(tǒng)中三次Bezier控制點的產(chǎn)生的制作方法
技術(shù)領(lǐng)域:
:簡要且概括地說,本公開涉及用于計算機(jī)圖形的計算機(jī)實現(xiàn)的方法和裝置,尤其是涉及在計算機(jī)圖形系統(tǒng)中從一系列點產(chǎn)生三次Bezier控制點。
背景技術(shù):
:Bezier曲線是在計算機(jī)圖形系統(tǒng)中使用來模擬曲線的參數(shù)曲線。從點Ptl到點P3的三次Bezier曲線由那些點以及兩個控制點P1和點P2定義。在點P。處的曲線的切線在控制點P1的方向上,而在點P3處的曲線的切線在控制點P2的方向上。曲線由下列參數(shù)方程定義B(t)=(1-t)3P0+3(1-t)2tP!+3(1-t)t2P2+t3P3,對于t,使得0≤t≤1。一些交互式計算機(jī)圖形應(yīng)用使用戶能夠通過使用鼠標(biāo)來定義Bezier曲線。用戶可點擊并按住鼠標(biāo)按鈕以識別點Po,并接著在仍然按住按鈕的同時拖動鼠標(biāo)以指向控制點P1的期望位置。當(dāng)用戶放開鼠標(biāo)按鈕時,當(dāng)前指針位置變成控制點Pi。該過程繼續(xù)以定義點&(通過指向期望位置、點擊并按住)和P2(通過將鼠標(biāo)拖到期望位置并放開鼠標(biāo)按鈕)。以這種方式,用戶可定義Bezier曲線。此外,一些交互式計算機(jī)圖形應(yīng)用使用戶能夠通過點擊和拖動點Ptl和P3以及控制點P1和點P2來操縱所定義的Bezier曲線。以這種方式,用戶可改進(jìn)曲線以獲得期望的形狀。然而,對點和控制點識別的點擊和拖動方法與徒手畫圖非常不同,且可能對于一些圖不方便,抑制創(chuàng)造性。
發(fā)明內(nèi)容總的來說,公開了一種能夠從一系列點產(chǎn)生Bezier曲線的用于交互式計算機(jī)圖形的系統(tǒng)。該系統(tǒng)包括用于數(shù)據(jù)邏輯處理的裝置、用于接收用戶輸入的輸入裝置和計算機(jī)可讀介質(zhì)。一系列點由輸入裝置接收并傳送到計算機(jī)可讀介質(zhì)以由用于數(shù)據(jù)邏輯處理的裝置處理。用于數(shù)據(jù)邏輯處理的裝置從計算機(jī)可讀介質(zhì)取回該系列點的點,并根據(jù)該系列的連續(xù)點之間的相對距離計算相應(yīng)于一個或多個點的控制點。用于數(shù)據(jù)處理的裝置使用所計算的控制點和該系列點產(chǎn)生Bezier曲線,并將所產(chǎn)生的Bezier曲線儲存在計算機(jī)可讀介質(zhì)中。在一些實現(xiàn)中,從該系列中的連續(xù)點-點A、點B和點C以如下方式計算控制點⑴相應(yīng)于點B并與段AB相關(guān)的控制點由方程B+RA*(RA*(B-C)+RC*(A-B))確定;以及(ii)相應(yīng)于點B并與段BC相關(guān)的控制點由方程PBBC=B+RC*(RA*(C-B)+RC*(B-A))確定。為了該計算的目的,RA=|AB|/(|AB|+|BC|),且RC=|BC|/(|AB|+1BC|)。該技術(shù)提供了用于在計算機(jī)圖形應(yīng)用中定義Bezier曲線的改進(jìn)的方法。例如,輸入裝置可被實現(xiàn)為計算機(jī)鍵盤、計算機(jī)指點設(shè)備(例如,鼠標(biāo))等。在一些實現(xiàn)中,用戶使用鼠標(biāo)指點并點擊以定義該系列中的連續(xù)點,且因而產(chǎn)生的系列點根據(jù)該系列中的連續(xù)點的相對位置轉(zhuǎn)換成Bezier曲線。所產(chǎn)生的Bezier曲線可例如儲存在計算機(jī)可讀介質(zhì)中用于進(jìn)一步處理和/或顯示。此外,通常公開的是用于在交互式計算機(jī)圖形系統(tǒng)的圖形用戶界面中定義Bezier曲線的方法,所述方法包括接收第一個點A、第二個點B和第三個點C,每個點由用戶通過交互式計算機(jī)圖形系統(tǒng)的圖形用戶界面識別。該系統(tǒng)配置成使用方程B+RA*(RA*(B-C)+Rc*(A-B))計算相應(yīng)于點B并與段AB相關(guān)的控制點,其中Ra=|AB|/(|AB|+|BC|)且Rc=舊(|/(一|+_|),并使用方程8+1^*饑*(+1^*出-八))計算相應(yīng)于點B并與段BC相關(guān)的控制點。該系統(tǒng)進(jìn)一步配置成產(chǎn)生儲存點A、點B和點C并儲存與點B相關(guān)的第一控制點和與點B相關(guān)的第二控制點的Bezier曲線數(shù)據(jù)結(jié)構(gòu)。Bezier曲線數(shù)據(jù)結(jié)構(gòu)定義可被再現(xiàn)(rendered)用于由計算機(jī)圖形系統(tǒng)顯示并由用戶操縱的曲線。此外,通常公開的是一種系統(tǒng),其包括用于數(shù)據(jù)邏輯處理的裝置、計算機(jī)可讀介質(zhì)以及接收路徑數(shù)據(jù)并將路徑數(shù)據(jù)儲存在計算機(jī)可讀介質(zhì)上的輸入設(shè)備。一系列點從路徑數(shù)據(jù)被識別并儲存在計算機(jī)可讀介質(zhì)上以由用于數(shù)據(jù)邏輯處理的裝置處理。用于數(shù)據(jù)邏輯處理的裝置從計算機(jī)可讀介質(zhì)取回所識別的系列點中的點,并根據(jù)所識別的系列點中的連續(xù)點之間的相對距離來計算相應(yīng)于一個或多個點的控制點。用于數(shù)據(jù)處理的裝置使用所計算的控制點和所識別的系列點產(chǎn)生Bezier曲線,且所產(chǎn)生的Bezier曲線儲存在計算機(jī)可讀介質(zhì)中。該系列點可例如根據(jù)預(yù)定的間隔從路徑數(shù)據(jù)被識別出,該間隔可為基于距離的、基于時間的、基于特征的等。輸入設(shè)備可用任何方式接收路徑數(shù)據(jù),包括例如通過用戶輸入設(shè)備如鼠標(biāo)、觸摸屏等,或通過計算機(jī)可讀介質(zhì)如存儲器、儲存設(shè)備、網(wǎng)絡(luò)接口等。下面在附圖和說明書中闡述了一個或多個實現(xiàn)的細(xì)節(jié)。從說明書、附圖和權(quán)利要求來看,其它特征和優(yōu)點將是明顯的。圖IA是示出用于產(chǎn)生Bezier曲線的一序列點的圖。圖IB是示出根據(jù)段AB和BC的相對長度計算相對值Ra和Rc的圖。圖IC是示出計算相應(yīng)于點B的控制點的圖。圖ID是示出控制點和端點的位置的Bezier曲線的圖。圖IE是具有如圖ID所示的端點和控制點的Bezier曲線的圖。圖2是根據(jù)本發(fā)明的實施方式產(chǎn)生的控制點的圖。圖3是可用于從一序列點產(chǎn)生Bezier曲線的計算機(jī)系統(tǒng)的結(jié)構(gòu)圖。圖4是用于從一序列點產(chǎn)生Bezier曲線的過程的流程圖。圖5是用于從一序列點產(chǎn)生Bezier曲線的系統(tǒng)的結(jié)構(gòu)圖。圖6是用于將Bezier曲線儲存在計算機(jī)可讀介質(zhì)上的數(shù)據(jù)結(jié)構(gòu)的圖。圖7A是示出用于轉(zhuǎn)變成Bezier曲線的示例性路徑的圖。圖7B是示出沿著圖7A所示的路徑的控制點的位置的圖。具體實施例方式參考圖IA到1E,本說明書闡述了用于從一系列點產(chǎn)生Bezier曲線的各種技術(shù)。這些技術(shù)可例如用在交互式計算機(jī)圖形應(yīng)用(例如,基于矢量的計算機(jī)繪圖工具、計算機(jī)輔助設(shè)計工具、可視化工具、計算機(jī)動畫工具、圖形設(shè)計工具等)中。用戶可使用改進(jìn)的圖形用戶界面通過簡單地指點和點擊以定義在期望Bezier曲線上的一系列點中的連續(xù)點,來將Bezier曲線插入交互式計算機(jī)圖形應(yīng)用的文檔中。該系列點轉(zhuǎn)換成Bezier曲線,例如,(i)當(dāng)每個連續(xù)的點被輸入時,或者(ii)在整個序列的點被輸入之后。以這種方式,Bezier曲線可由用戶定義,而不要求用戶指定控制點??刂泣c根據(jù)某些點之間的相對距離被自動定義。這里所述的技術(shù)允許從兩個相鄰點的相對位置外推控制點,并提供穩(wěn)定的控制點,而不考慮其位置。這些技術(shù)在簡單性和數(shù)學(xué)完整性之間取得平衡。如這里使用的,短語“Bezier曲線”不應(yīng)被只限制為在本說明書的背景部分中闡述的公式所定義的那些曲線。更確切地,申請人更廣泛地使用短語“Bezier曲線”,以便包括例如單個Bezier曲線段以及端到端連接的一系列Bezier曲線段(有時稱為Bezier樣條)。作為例子,可從圖IA所示的三個點點A12、點B14和點C16,通過根據(jù)相鄰點的相對位置產(chǎn)生控制點以便創(chuàng)建被合理平滑地連接的一系列三次Bezier段而創(chuàng)建Bezier曲線。作為例子,我們?nèi)缦旅枋鱿鄳?yīng)于點B14的控制點的產(chǎn)生。與點B14相鄰的控制點可根據(jù)點A12和點C16的相對位置產(chǎn)生。三次Bezier曲線段由兩個端點和在每個端點處定義切線的兩個控制點定義。該技術(shù)在點B14處外推促成兩個三次Bezier段AB和BC的控制點,點B14通過段AB和BC被共享。我們將沿著段AB的兩個控制點稱為Paab和Pabb,并將沿著BC的兩個控制點稱為Pbtc和ΡΒ『從Α、Β和C的位置被外推的控制點是Pabb和PBBC??刂泣c的位置取決于AB和BC之間的距離的比率。IAB|和|BC|是線段AB和BC的長度。該比率可被定義為Ra=IABI/(IAB|+1BC|)Rc=IBCI/(IAB|+1BC|)A、B和C作為位置矢量被處理,且控制點Pabb和PBBe被如下定義Pabb=B+Ra*(Ra*(B-C)+Rc*(A-B))Pbbc=B+Rc*(Ra*(C-B)+Rc*(B-A))參考圖1B,相應(yīng)于點B14的控制點取決于點B14與相鄰端點12和16之間的距離。圖IB顯示距離AB為2.24,而距離BC為2.82。距離AB|+|BC的和為5.06。計算Ra和‘我們得到Ra=IABI/(IAB|+1BC|)=2.24/5.06=0.44;以及Rc=BCI/(IAB|+1BC|)=2.82/5.06=0.56。參考圖1C,這些比率Ra和Re用于計算控制點Pabb20和Pbbc18??刂泣cPabb20由位置矢量PABB=B+RA*(RA*(B-C)+RC*(A-B))=0.44(0·44(B-C)+0.56(A-B))定義。圖IC示出矢量Rc(A-B)*RA(B-C)的相加,其結(jié)果按比例縮小Ra=0.44倍。類似地,控制APbbc18由位置矢量Pbbc=B+Rc*(Ra*(C-B)+Rc*(B-A))定義。圖IC示出矢量Rc(B-A)和Ra(C-B)的相加,其結(jié)果按比例縮小Re=0.56倍。以這種方式,矢量在點B14形成平滑的切線。相應(yīng)于控制點20和18以及點A12,B14和C16的因而產(chǎn)生的Bezier曲線22在圖ID中示出,而圖IE中示出的Bezier曲線22將是其在計算機(jī)圖形應(yīng)用中所再現(xiàn)出的。通過從一序列端點隱式地產(chǎn)生控制點以創(chuàng)建Bezier曲線,可給用戶提供直觀的界面,以作為例子來說,便于徒手創(chuàng)建計算機(jī)圖形。因而產(chǎn)生的端點和控制點可接著以傳統(tǒng)方式被操縱,以由用戶按需要改進(jìn)Bezier曲線。該技術(shù)可應(yīng)用于序列中的每個點。可更改上述技術(shù)以處理序列中的第一個和最后一個點。例如,與第一個點相關(guān)的控制點和與最后一個點相關(guān)的控制點可被設(shè)置為點本身。此外,上述技術(shù)可用在各種各樣的計算機(jī)實現(xiàn)的系統(tǒng)中,包括例如計算機(jī)輔助設(shè)計工具、圖形編輯器、字處理器、娛樂軟件寸。圖2示出關(guān)于點A和B的相對位置的控制點24和26的相對位置。例如,控制點24位于矢量(B-c)和(A-B)之間的線上。該線的方向由比率|ab||bc|確定,且控制點24沿著該線的位置由同一比率確定。類似地,控制點26的位置沿著此同一條線落在相對于點B相反的方向上。因點24和26沿著同一條線放置,點Β處的切線對于任何比率IABIIBCI是連續(xù)的。參考圖3,其示出用于根據(jù)這里描述的技術(shù)產(chǎn)生Bezier曲線的計算機(jī)系統(tǒng)30。計算機(jī)系統(tǒng)30包括連接處理器34、存儲器38、數(shù)據(jù)儲存器40、顯示器36和輸入設(shè)備38的總線32。通常,這涉及傳統(tǒng)馮諾依曼體系結(jié)構(gòu);然而,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識到,這里描述的技術(shù)同樣適用于其它計算機(jī)體系結(jié)構(gòu),例如具有分離的數(shù)據(jù)和指令總線的計算機(jī)系統(tǒng)。計算機(jī)系統(tǒng)30包括儲存在數(shù)據(jù)儲存器40上或任何其它計算機(jī)可讀介質(zhì)上的指令。當(dāng)被執(zhí)行時,這些指令將計算機(jī)系統(tǒng)30配置成使處理器34能夠?qū)Υ嬖诖鎯ζ?8中的一系列點轉(zhuǎn)換成Bezier曲線并將Bezier曲線儲存在存儲器38中。處理器34通過以傳統(tǒng)方式再現(xiàn)曲線來顯示儲存在存儲器38中的Bezier曲線。可使用顯示器36觀看這樣再現(xiàn)的曲線。在優(yōu)選實現(xiàn)中,點是一系列并使用鼠標(biāo)、鍵盤和/或其某種組合被輸入。然而,輸入設(shè)備38可體現(xiàn)為下列各項中的一個或多個鍵盤、鼠標(biāo)、跟蹤球、跟蹤板、回轉(zhuǎn)指點設(shè)備(gyroscopicpointingdevice)等。處理器34包括能夠執(zhí)行將一系列點轉(zhuǎn)變成Bezier曲線的指令的任何設(shè)備,例如,通常在個人計算機(jī)、膝上型計算機(jī)和/或移動設(shè)備中使用的那些處理器。此外,處理器34可包括用于同時和并行執(zhí)行的多個核心。參考圖4,示出了用于從在序列中的第一個點開始的一系列點產(chǎn)生Bezier曲線的方法。該技術(shù)使用位于所關(guān)注的當(dāng)前點之前的點和之后的點的相對位置;然而,對于第一個點,在序列中沒有前面的點。因此,相應(yīng)的控制點可保持未定義或控制點可被設(shè)置為與第一個點相同的位置。該過程通過移動到序列中的下一點而繼續(xù)(42)。在這種情況下,是序列的第二個點。假定序列中有多于兩個的點(即,第二個點不是序列中的最后一個點),則該過程通過系列中的中間點而重復(fù),對每個點計算相關(guān)的控制點。當(dāng)?shù)竭_(dá)序列中的最后一個點時,該過程結(jié)束(44)。只要點保留,該過程就通過對序列中的當(dāng)前點計算控制點而繼續(xù)(46)。在計算出控制點之后,該過程轉(zhuǎn)到序列中的下一個點(42),反復(fù)繼續(xù),直到到達(dá)序列中的最后一個點。與序列中的最后一個點相關(guān)的控制點可保持未定義,或它可被設(shè)置為與序列中的第一點相同的位置。—旦所有的點被輸入就可執(zhí)行該過程,或當(dāng)點被輸入時可順序地執(zhí)行它。例如,用戶可點擊第一個點和第二個點。當(dāng)用戶點擊序列中的第三個點時,可計算相應(yīng)于第二個點的控制點,且顯示器可被更新以顯示在第一個點開始的Bezier曲線,該曲線根據(jù)控制點行7進(jìn)而通過第二個點并在第三個點終止。如果添加第四個點,則第二個點和第四個點可用于設(shè)置相應(yīng)于第三個點的控制點,且顯示器可被相應(yīng)地更新。該過程可用于例如在計算機(jī)圖形系統(tǒng)中從一系列點產(chǎn)生Bezier曲線。在一個實現(xiàn)中,系統(tǒng)使用戶能夠通過將指針指向Bezier曲線上點的期望位置并點擊鼠標(biāo)按鈕以捕獲該位置來定義Bezier曲線。以這種方式連續(xù)輸入點,直到到達(dá)最后一個點。用戶例如通過再次點擊最后一個點、通過按鍵盤上的按鈕、通過點擊鼠標(biāo)按鈕等來指示已到達(dá)序列中的最后一個點。在另一實現(xiàn)中,用戶創(chuàng)建由以特定的順序或序列彼此連接的一系列點組成的路徑。一旦創(chuàng)建了路徑,用戶就可選擇菜單項來將路徑轉(zhuǎn)換成Bezier曲線。一旦產(chǎn)生Bezier曲線,用戶就可用傳統(tǒng)方式更改控制點和端點。參考圖5,用于將一系列點轉(zhuǎn)變成Bezier曲線的軟件包括操作系統(tǒng)52,其為處理模塊54提供與系統(tǒng)的各種部件和外圍設(shè)備進(jìn)行交互作用的環(huán)境。處理模塊54、輸入模塊56和顯示模塊58每個都與操作系統(tǒng)52進(jìn)行交互作用且彼此也進(jìn)行交互作用,以便將一系列點60轉(zhuǎn)變成Bezier曲線62。例如,處理模塊54實現(xiàn)圖形用戶界面。用戶輸入由操作系統(tǒng)52接收并由輸入模塊56處理,以識別序列中的點。例如,當(dāng)用戶移動鼠標(biāo)時,操作系統(tǒng)52處理該移動并在顯示器上顯示指針。當(dāng)用戶點擊鼠標(biāo)或其它輸入設(shè)備上的按鈕以便指示點將被添加到一系列時,輸入模塊56接收并處理輸入,且處理模塊54適當(dāng)?shù)馗聰?shù)據(jù)結(jié)構(gòu)。系列60中的點儲存在計算機(jī)可讀介質(zhì)例如隨機(jī)存取存儲器、硬盤驅(qū)動器、閃存等上。存儲器對于系統(tǒng)可位于本地或遠(yuǎn)程。處理模塊54取回該系列點60并以上述方式計算用于Bezier曲線的控制點。因而產(chǎn)生的控制點與定義Bezier曲線62的端點儲存在一起。Bezier曲線62可儲存為例如圖6闡述的數(shù)據(jù)結(jié)構(gòu)。Bezier曲線數(shù)據(jù)結(jié)構(gòu)64包括稱為ptSequence型Bezier點66的數(shù)據(jù)元素,其識別一序列點中的第一個點。數(shù)據(jù)型的Bezier點66包括如下數(shù)據(jù)元素(i)指示Bezier端點的坐標(biāo)的“l(fā)oc”型點;(ii)分別指示序列中的下一個Bezier點和序列中的上一個Bezier點的“下一個”或“上一個”型bezier點;以及(iii)識別控制點的坐標(biāo)的控制點“ptABB”和“ptBBC”型點。數(shù)據(jù)元素ptABB是在相應(yīng)于段AB的B處的控制點;而數(shù)據(jù)元素ptBBC是在相應(yīng)于段BC的B處的控制點。Bezier曲線數(shù)據(jù)結(jié)構(gòu)64可在以以上討論的方式計算控制點的過程中由處理邏輯產(chǎn)生。上面的例子描述了如何將一系列點轉(zhuǎn)變成Bezier曲線;然而,也可能將任何給定的路徑表示或近似為Bezier曲線。例如,圖7A示出了將轉(zhuǎn)變成Bezier曲線的示例性路徑70。可使用輸入設(shè)備例如觸摸屏、筆式平板(pentablet)、鼠標(biāo)、跟蹤球、運動傳感器、回轉(zhuǎn)控制器等來產(chǎn)生路徑70。如圖7B所示,路徑70在不同的點72處被采樣。這些點72接著用于以上面關(guān)于圖IA到IE討論的方式產(chǎn)生Bezier曲線。點72可使用至少三種不同的方法來選擇(1)基于時間的間隔;⑵基于距離的間隔;或(3)基于特征的間隔。使用基于時間的間隔,路徑70在其被接收(例如,從輸入設(shè)備)時被采樣。沿著路徑70的點72被周期性地(例如,每N秒)識別。因而產(chǎn)生的點72接著用于創(chuàng)建Bezier曲線。使用基于距離的間隔,點72沿著路徑70以有規(guī)律的距離間隔被選擇。例如,可沿著路徑70每隔N英寸(或任何其它距離的測量單位)識別點72。類似地,因而產(chǎn)生的點72接著用于創(chuàng)建Bezier曲線。8使用基于特征的方法,點72在路徑70的識別出的特征處或附近被更頻繁地識別。本領(lǐng)域技術(shù)人員應(yīng)理解用于識別路徑70的特征的各種技術(shù)。例如,比如通過使用預(yù)定的時間間隔或距離間隔可周期性地識別沿著路徑70的點。接著,確定從一個識別出的點到下一個點的矢量。連續(xù)的矢量可被比較并用于識別特征。連續(xù)的矢量越不同,額外的點72可能越有用。點72被識別,使得點72沿著路徑70的特征的頻率較大。相反,路徑70越規(guī)則,就需要越少的點來表示它。不管用于定義點72的方式如何,都可按上面關(guān)于圖1A-1E闡述的方法從那些點72創(chuàng)建Bezier曲線。因而產(chǎn)生的Bezier曲線提供了原始路徑70的緊湊表示。不是將路徑70表示為數(shù)百、數(shù)千或甚至更多的一系列點,路徑70可被表示為定義Bezier曲線的緊湊的一系列點72,導(dǎo)致相當(dāng)大的數(shù)據(jù)壓縮。此外,以這種方式,Bezier曲線可在需要時使用上面關(guān)于圖1A-1E描述的技術(shù)被表示為沒有相關(guān)的控制點的一系列點72,因為控制點可被產(chǎn)生。例如,在一個實現(xiàn)中,Bezier曲線被儲存為沒有相應(yīng)控制點的顯式表示的一系列點。當(dāng)這樣的曲線被再現(xiàn)用于顯示時(或當(dāng)以其它方式是所希望的時),控制點被確定。只要控制點未被更改,就沒有必要顯式地表示它們,導(dǎo)致壓縮的表示。描述了很多實現(xiàn)。然而,應(yīng)理解,可進(jìn)行各種更改而不偏離本發(fā)明的實質(zhì)和范圍。因此,其它實現(xiàn)在下列權(quán)利要求的范圍內(nèi)。權(quán)利要求一種能夠從一系列點產(chǎn)生Bezier曲線的用于交互式計算機(jī)圖形的系統(tǒng),所述系統(tǒng)包括用于數(shù)據(jù)邏輯處理的裝置;用于接收用戶輸入的輸入裝置;以及計算機(jī)可讀介質(zhì),其中一系列點由所述用于接收用戶輸入的輸入裝置接收并傳送到所述計算機(jī)可讀介質(zhì)以由所述用于數(shù)據(jù)邏輯處理的裝置處理,且所述用于數(shù)據(jù)邏輯處理的裝置從所述計算機(jī)可讀介質(zhì)取回該系列點的點,并根據(jù)該系列點的連續(xù)點之間的相對距離計算相應(yīng)于一個或多個點的控制點,且所述用于數(shù)據(jù)處理的裝置使用所計算的控制點和該系列點產(chǎn)生Bezier曲線,而所產(chǎn)生的Bezier曲線儲存在所述計算機(jī)可讀介質(zhì)中。2.如權(quán)利要求1所述的系統(tǒng),其中所述輸入裝置包括計算機(jī)指點設(shè)備。3.如權(quán)利要求1所述的系統(tǒng),其中所述計算機(jī)可讀介質(zhì)是計算機(jī)存儲器。4.如權(quán)利要求1所述的系統(tǒng),其中點A、點B和點C是該系列點中的連續(xù)點,且其中相應(yīng)于點B并與段AB相關(guān)的控制點由方程B+Ra*(Ra*(B-C)+Rc*(A-B))確定,以及相應(yīng)于點B并與段BC相關(guān)的控制點由方程B+Rc*(Ra*(C-B)+Rc*(B-A))確定,其中Ra=|AB|/(|八8|+舊(|),且&=|BC|/(IABI+|BC|)。5.如權(quán)利要求1所述的系統(tǒng),還包括計算機(jī)輸出設(shè)備,其中所述用于數(shù)據(jù)邏輯處理的裝置從所述計算機(jī)可讀介質(zhì)取回所產(chǎn)生的Bezier曲線,并在所述輸出設(shè)備上再現(xiàn)所產(chǎn)生的Bezier曲線。6.如權(quán)利要求5所述的系統(tǒng),其中所述用于數(shù)據(jù)邏輯處理的裝置使用所述計算機(jī)輸出設(shè)備和所述輸入裝置提供圖形用戶界面,所述圖形用戶界面使用戶能夠更改所述Bezier曲線的控制點。7.一種非暫時性計算機(jī)可讀介質(zhì),其具有存儲在其上的計算機(jī)指令,所述計算機(jī)指令可由計算機(jī)系統(tǒng)執(zhí)行以實現(xiàn)用于從一系列點產(chǎn)生Bezier曲線的方法,所述方法包括從計算機(jī)可讀介質(zhì)取回點A、B和C,所述點A、B和C是所述計算機(jī)系統(tǒng)的用戶使用計算機(jī)輸入設(shè)備識別的一系列點中的連續(xù)點;在所述計算機(jī)系統(tǒng)的處理器中,從所取回的點A、B和C計算控制點,所述控制點由所取回的點A、B和C的相對位置確定;產(chǎn)生包括所述點A、B和C以及所計算的控制點的Bezier曲線數(shù)據(jù)結(jié)構(gòu);將所產(chǎn)生的Bezier曲線數(shù)據(jù)結(jié)構(gòu)儲存在計算機(jī)可讀介質(zhì)上;以及使用戶能夠使用圖形用戶界面操縱所產(chǎn)生的Bezier曲線。8.如權(quán)利要求7所述的計算機(jī)可讀介質(zhì),其中相應(yīng)于點B并與段AB相關(guān)的控制點由方程B+RA*(RA*(B-C)+Rc*(A-B))確定,以及相應(yīng)于點B并與段BC相關(guān)的控制點由方程B+Rc*(Ra*(C-B)+Rc*(B-A))確定,其中Ra=IABI/(|AB|+1BC|),且Rc=|BC|/(|AB|+1BC|)。9.在交互式計算機(jī)圖形系統(tǒng)的圖形用戶界面中,一種用于定義Bezier曲線的方法,所述方法包括通過所述交互式計算機(jī)圖形系統(tǒng)的所述圖形用戶界面接收用戶所識別的第一個點A;通過所述交互式計算機(jī)圖形系統(tǒng)的所述圖形用戶界面接收用戶所識別的第二個點B;通過所述交互式計算機(jī)圖形系統(tǒng)的所述圖形用戶界面接收用戶所識別的第三個點C;計算由方程B+Ra*(Ra*(B-C)+Rc*(A-B))確定的相應(yīng)于點B并與段AB相關(guān)的控制點,其中Ra=|AB|/(|AB|+|BC|),且Rc=BC|/(|AB|+|BC|);計算由方程B+Rc*(RA*(C-B)+Rc*(B-A))確定的相應(yīng)于點B并與段BC相關(guān)的控制點;產(chǎn)生儲存點A、點B和點C并儲存與點B相關(guān)的第一控制點和與點B相關(guān)的第二控制點的Bezier曲線數(shù)據(jù)結(jié)構(gòu),所述Bezier曲線數(shù)據(jù)結(jié)構(gòu)用于再現(xiàn)Bezier曲線以顯示在所述計算機(jī)圖形系統(tǒng)的顯示器上并由用戶操縱。10.一種系統(tǒng),包括用于數(shù)據(jù)邏輯處理的裝置;計算機(jī)可讀介質(zhì);以及接收路徑數(shù)據(jù)并將所述路徑數(shù)據(jù)儲存在所述計算機(jī)可讀介質(zhì)上的輸入設(shè)備,其中一系列點從所述路徑數(shù)據(jù)被識別并儲存在所述計算機(jī)可讀介質(zhì)上以由所述用于數(shù)據(jù)邏輯處理的裝置處理,所述用于數(shù)據(jù)邏輯處理的裝置從所述計算機(jī)可讀介質(zhì)取回所識別的系列點中的點,并根據(jù)所識別的系列點中的連續(xù)點之間的相對距離來計算相應(yīng)于一個或多個點的控制點,所述用于數(shù)據(jù)處理的裝置使用所計算的控制點和所識別的系列點產(chǎn)生Bezier曲線,且所產(chǎn)生的Bezier曲線儲存在所述計算機(jī)可讀介質(zhì)中。11.如權(quán)利要求10所述的系統(tǒng),其中所述系列點根據(jù)預(yù)定的間隔從所述路徑數(shù)據(jù)被識別出。12.如權(quán)利要求11所述的系統(tǒng),其中所述預(yù)定的間隔是基于距離的。13.如權(quán)利要求11所述的系統(tǒng),其中所述預(yù)定的間隔是基于時間的。14.如權(quán)利要求11所述的系統(tǒng),其中所述預(yù)定的間隔是基于特征的。15.如權(quán)利要求10所述的系統(tǒng),其中所述輸入設(shè)備從用戶輸入設(shè)備接收路徑數(shù)據(jù)。16.如權(quán)利要求10所述的系統(tǒng),其中所述輸入設(shè)備從計算機(jī)可讀介質(zhì)接收路徑數(shù)據(jù)。全文摘要一種用于交互式計算機(jī)圖形的系統(tǒng),能夠根據(jù)一系列點中的連續(xù)點的相對位置從該系列點產(chǎn)生Bezier曲線。例如,對于系列中的連續(xù)點,點A、點B和點C是該系列點中的連續(xù)點,且其中相應(yīng)于點B并與段AB相關(guān)的控制點由方程B+RA*(RA*(B-C)+RC*(A-B))確定;以及相應(yīng)于點B并與段BC相關(guān)的控制點由方程PBBC=B+RC*(RA*(C-B)+RC*(B-A))確定,其中RA=|AB|/(|AB|+|BC|),且RC=|BC|/(|AB|+|BC|)。文檔編號G06T11/80GK101923725SQ20101017051公開日2010年12月22日申請日期2010年4月21日優(yōu)先權(quán)日2009年4月21日發(fā)明者巖本達(dá)也申請人:索尼電腦娛樂公司