專利名稱:曲線描繪裝置、曲線描繪方法、曲線描繪程序及集成電路的制作方法
技術領域:
本發(fā)明涉及將 文字或圖形等的輪廓線的曲線部分以多個線段近似描繪的曲線描繪技術。
背景技術:
近年來,在字體等文字、或圖形等中的曲線部分的描繪中使用向量制圖技術,該向量制圖技術包括如下的處理等將其輪廓線的曲線部分以多個線段來近似,并將以線段表示的輪廓的內側涂滿。通過該技術近似的文字或圖形的品質受到近似所使用的線段彼此的結合部分(以下稱為邊緣)的平滑程度的影響。因此,在粗略地進行近似處理而導致邊緣的平滑程度不足的情況下,為了對該邊緣施加膨潤,再使用線段進行進一步的近似。這樣,對每個邊緣判斷是否需要對邊緣進行進一步的近似,可以說是執(zhí)行頻度很高的處理。關于是否需要該近似的判斷,在專利文獻I中公開有如下的技術根據構成邊緣的2線段所成的角度是否滿足由經驗導出的規(guī)定條件,來判斷是否需要進一步的近似。在先技術文獻專利文獻專利文獻I :特開平4-174494號公報發(fā)明的概要發(fā)明所要解決的技術課題在此,在運算能力比較受到限制的信息處理終端等中,隨著近年來顯示器顯示能力的提高,逐漸利用向量制圖技術來描繪文字或圖形。這樣的制圖處理不但計算負荷較高,在產生處理延遲時,可以說是容易給用戶帶來視覺上的不適感的處理。因此,關于上述的是否需要近似的判斷,要求通過計算負荷較低的簡單的方法來進行,以便即使運算能力比較受到限制,也不產生處理延遲。但是,在上述技術中存在如下問題雖然能夠判斷是否需要近似,但是需要計算構成各邊緣的2線段的角度,為了計算角度而需要進行反三角函數等復雜的運算。
發(fā)明內容
鑒于上述課題,本發(fā)明的目的在于,提供一種曲線描繪裝置,通過計算負荷比以往更低的簡單的方法,來判斷是否需要進一步的近似。 解決課題所采用的技術手段為了解決上述課題,本發(fā)明的曲線描繪裝置對由中心線及線寬規(guī)定的、具有寬度的曲線的輪廓線進行直線近似,該曲線描繪裝置具備分割點計算單元,計算將所述中心線分割的、所述中心線上的多個分割點;隔離點計算單元,對于各個所述分割點,計算沿著通過該分割點的所述中心線的法線而與該分割點相隔等距離的2個隔離點;距離計算單元,對于對相鄰的2個分割點計算出的所述4個隔離點,分別計算將相對于通過該2個分割點的直線而位于同側的隔離點彼此作為組的情況下的、各組的隔離點間的距離;判定單元,計算以所述計算出的2個距離中的較短一方為基準的該2個距離之比,并判定該比是否大于規(guī)定值;以及曲線形成單元,在判定為所述比大于規(guī)定值的情況下,將所述輪廓線中的被分別通過所述2個分割點的法線所夾的部分、即部分輪廓線中的較長一方,以比較短一方更多的線段來進行近似。發(fā)明的效果本發(fā)明的曲線描繪裝置通過具備上述構成,能夠通過比較隔離點的2個距離,來判斷是否將部分輪廓線中的較長一方以比較短一方更多的線段來進行近似,也就是說,能夠通過計算負荷比以往更低的簡單的方法來進行判斷。
圖I是示意地表示本發(fā)明的一實施方式的應描繪的曲線的一部分的圖。
圖2是表示本發(fā)明的一實施方式的曲線描繪裝置的構成的框圖。圖3是將本發(fā)明的一實施方式的圖I的曲線的一部分進一步擴大的圖。圖4是表示本發(fā)明的一實施方式的由曲線形成部生成的近似曲線的圖。圖5是表示本發(fā)明的一實施方式的近似處理的流程圖。圖6是表示本發(fā)明的一實施方式的第2直線近似方法的近似處理的流程圖。圖7是用于說明本發(fā)明的一實施方式的、η = O的情況下的基本近似運算結束后的近似曲線的圖。圖8是用于說明本發(fā)明的一實施方式的、η = I的情況下的基本近似運算結束后的近似曲線的圖。圖9是用于說明本發(fā)明的一實施方式的、η = 2的情況下的基本近似運算結束后的近似曲線的圖。
具體實施例方式以下,參照
本發(fā)明的一實施方式。< I.實施方式I >< 1-1.概要 >本發(fā)明的一實施方式的曲線描繪裝置,是對于具有寬度的曲線,將該曲線的輪廓線以多個線段近似描繪的裝置。關于應描繪的曲線,對曲線描繪裝置賦予的信息為,(a)表示應描繪的曲線的中心線、即軌跡(path)的軌跡信息;及(10表示應描繪的曲線的線寬的線寬信息。圖I是示意地表示應描繪的曲線的一部分的圖。在圖中,輪廓線102及103表示應描繪的曲線的輪廓線,軌跡101表示應描繪的曲線的中心線、即軌跡。輪廓線102和軌跡相隔應描繪的曲線的線寬的一半(以下稱為半寬),輪廓線103和軌跡相隔半寬。曲線描繪裝置進行近似處理時,首先將軌跡劃分為規(guī)定長度,從而生成分割軌跡(圖中Dl D7)。曲線描繪裝置以該分割軌跡為單位進行近似處理。接著,曲線描繪裝置計算分割軌跡的各端點(分割點Pl P8)處的軌跡的法線(法線NI NS)。這些法線如圖示那樣將輪廓線劃分。以下,在輪廓線中,將被法線劃分的各個部分稱為“部分輪廓線”(圖中的011 017、021 027)。在此,部分輪廓線中的、被通過某分割軌跡的兩端點的法線劃分的部分輪廓線(以下稱為“與分割軌跡對應的部分輪廓線”)隔著分割軌跡而存在2個。例如,與分割軌跡D5對應的部分輪廓線是015和025這2個。在此,對于2個部分輪廓線的每一個,在將部分輪廓線的端點彼此連結的線段中,將較長一方稱為“長邊”,將較短一方稱為“短邊”。曲線描繪裝置按照每個分割軌跡,對于與分割軌跡對應的部分輪廓線中的較長一方(以下稱為“長部分輪廓線”),判斷是使用多個線段來進行曲線近似、還是利用將部分輪廓線的端點連結的I條線段來進行近似(以下也稱為“近似判斷”)。曲線描繪裝置通過與分割軌跡對應的長邊和短邊的長度之比(α )是否大于規(guī)定值(例如2)這樣的簡單的計算,來進行該近似判斷。另外,在本實施方式中,曲線描繪裝置對于與分割軌跡對應的部分輪廓線中的較短一方(以下稱為“短部分輪廓線”),始終利用I條線段來進行近似,降低近似處理的運算負荷。為此,將各分割軌跡劃分為如下程度的長度對于與分割軌跡對應的短部分輪廓線,將以I條線段近似的近似曲線顯示在顯示器件上等時,能夠由用戶識別為平滑的曲線。在此,使用圖I進行與上述的近似判斷有關的補充說明。圖I中的α表示各個分·割軌跡的長邊和短邊的長度之比。例如,與分割軌跡Dl對應的長邊(Lll)和短邊(L21)之比0為1.2。因此,曲線描繪裝置判斷為α為2以下,對于與分割軌跡Dl對應的部分輪廓線011、021中的較長一方、即部分輪廓線011,利用I條線段、即Lll來進行近似。對于分割軌跡D2 D3、D6 D7,也同樣地判斷為α為2以下,所以曲線描繪裝置對于與各分割軌跡對應的長部分輪廓線,利用I條線段來進行近似。另一方面,對于分割軌跡D4,曲線描繪裝置判斷為長邊(L14)和短邊(L24)的長度之比α為3,大于2。因此,曲線描繪裝置對于與分割軌跡D4對應的部分輪廓線014、024中的較長一方、即014,利用多個線段連結而成的近似線Α14來進行近似。此外,對于分割軌跡D5,曲線描繪裝置也判斷為長邊(L15)和短邊(L25)的長度之比α為3. 2,大于規(guī)定值
2。因此,曲線描繪裝置對于與分割軌跡D5對應的部分輪廓線015、025中的較長一方,利用多個線段連結而成的近似線Α15來進行近似。通過以上處理,曲線描繪裝置作為對輪廓線102進行近似的近似曲線而生成L11、L12、L13、A14、A15、L16、及L17連結而成的近似曲線。此外,作為對輪廓線103進行近似的近似曲線,生成L21、L22、L23、L24、L25、L26、及L27連結而成的近似曲線。以下,詳細說明曲線描繪裝置。< 1-2.構成 >圖2是表示本發(fā)明的一實施方式的曲線描繪裝置I的構成的框圖。曲線描繪裝置I具備軌跡分割部10、切線矢量計算部11、輪廓點計算部12、判斷部13、輪廓近似線生成部14、分割系數決定部15、曲線形成部16、及描繪部17。軌跡分割部10作為輸入而取得表示應描繪的曲線的中心線、即軌跡的軌跡信息,以及表示應描繪的曲線的線寬的線寬信息。軌跡信息作為一例而以3次貝濟埃曲線的端點和控制點的坐標列等來表現。軌跡分割部10取得軌跡信息后,將軌跡劃分為規(guī)定長度,從而生成分割軌跡。這時,軌跡分割部10保持將軌跡劃分為規(guī)定長度的分割點。另外,在本實施方式中,在曲線描繪裝置I中,以(X坐標,y坐標)這樣的坐標形式來表現分割點、直線及曲線上的點、其他點,但也可以通過其他形式來表現。此外,以下將“計算坐標軸上的點的坐標”簡稱為“計算點”。
切線矢量計算部11對于由軌跡分割部10計算出的各分割點處的軌跡,計算切線(以切線矢量表示)及法線(以法線矢量表示)。輪廓點計算部12計算與各分割點對應的輪廓點。在此,輪廓點是沿著分割點處的軌跡的法線矢量而與分割點分別相隔半寬的點。即,與I個分割點對應的輪廓點存在2個。在此,使用圖3具體說明應描繪的曲線、軌跡、分割點、切線矢量、法線矢量等。圖3是示意地表示應描繪的曲線的一部分(以下稱為部分曲線)的圖,是將圖I的一部分擴大的圖。另外,在圖3和圖I中指不同一部分的情況下,賦予相同符號。部分曲線的輪廓是輪廓線102及輪廓線103。軌跡101表示部分曲線的軌跡。分割點P4 P7表示將軌跡101分割的各分割點。分割軌跡D4表示軌跡101被分割點P4及P5劃分的分割軌跡。分割軌跡D5及分割軌跡D6分別表示軌跡101被分割點P5及P6劃分的分割軌跡、軌跡101被分割點P6及P7劃分的分割軌跡。節(jié)段(segment)131 133分別是將相鄰的分割點P4和分割點P5連結的線段、將分割點P5和分割點P6連 結的線段、將分割點P6和分割點P7連結的線段。以下,將連結2個分割點的線段稱為“節(jié)段”。切線矢量141表示軌跡101的分割點P5處的切線矢量。此外,切線矢量142表示軌跡101的分割點P6處的切線矢量。在此,各分割點處的切線矢量的朝向作為一例,而規(guī)定為與從軌跡的起點朝向終點的朝向一致。對于軌跡101,設起點為分割點P4,終點為分割點P7。此外,各分割點處的切線矢量是大小為I的單位矢量。法線矢量151及152表示軌跡101的分割點P5處的法線矢量。此外,法線矢量153及154表示軌跡101的分割點P6處的法線矢量。在此,各分割點處的法線矢量是大小為I的單位矢量。輪廓點162及輪廓點172是沿著法線、即法線矢量151及法線矢量152的2個方向分別與分割點P5相隔半寬的輪廓點。這樣,以下將“沿著法線與分割點相隔半寬的輪廓點”稱為“與分割點對應的輪廓點”。與分割點P5的情況同樣,與分割點P4對應的輪廓點是輪廓點161及輪廓點171,與分割點P6對應的輪廓點是輪廓點163及輪廓點173,與分割點P7對應的輪廓點是輪廓點164及輪廓點174。另外,各輪廓點是輪廓線102及輪廓線103的某一方的線上的點。在此,回到圖2的說明。判斷部13對于在輪廓點計算部12中計算出的輪廓點,判斷將相鄰的2個輪廓點間通過第I直線近似方法及第2直線近似方法的哪一個來進行近似。該判斷對每個分割軌跡進行。具體地說,判斷部13首先選出作為分割軌跡的端點的2個分割點(例如圖3的分害I]點P5及P6)。接著,判斷部13對于與選出的2個分割點分別對應的4個輪廓點(例如輪廓點162、172、163及173),在將相對于通過2個分割點的直線而位于同側的分割點彼此作為組(例如輪廓點162和163的組及輪廓點172和173的組)的情況下,分別計算各組的輪廓點間的距離(相當于L15及L25的長度)。在此,將計算出的2個距離中的較長一方的輪廓點間連結的線段是前述的長邊(例如L15),將較短一方的輪廓點間連結的線段是前述的短邊(例如L25)。然后,判斷部13判定計算出的2個距離之比、即長邊和短邊的長度之比是否大于規(guī)定值。規(guī)定值作為一例而取2。在此,所計算的比是長邊與短邊之比,總是I以上。由判斷部13判定為計算出的比大于規(guī)定值的情況下,認為還需要進一步的直線近似,而決定為使用第2直線近似方法,判定為規(guī)定值以下的情況下,認為不需要進一步的直線近似,而決定為使用第I直線近似方法。在本實施方式中,第I直線近似方法是將相鄰的2個輪廓點間以I條線段連結的方法。另外,如上所述,對于長部分輪廓線,通過第I直線近似方法及第2直線近似方法的某一方法來進行近似,而對于短部分輪廓線,始終通過第I直線近似方法來進行近似。在判斷部13中判斷為長邊和短邊的長度之比為規(guī)定值以下的情況下,輪廓近似線生成部14通過第I直線近似法對長部分輪廓線進行近似。例如,通過第I直線近似法對圖3的輪廓點162和輪廓點163之間進行近似的情況下,利用將輪廓點162和輪廓點163連結的輪廓近似線L15對輪廓點162和輪廓點163之間進行近似。另外,在判斷部13中判斷為長邊和短邊的長度之比大于規(guī)定值的情況下,由曲線形成部16對長部分輪廓線進行近似運算。輪廓近似線生成部14使用曲線形成部16的運算結果,以多個線段對長部分輪廓線進行近似。在判斷部13中判斷為長邊和短邊的長度之比大于規(guī)定值的情況下,分割系數決定部15決定分割系數d,該分割系數d是決定將長部分輪廓線以幾條線段來近似的系數?!らL部分輪廓線以2 (d + I)條線段來近似。在此,分割系數d作為一例而通過下式計算。d = floor CgX長邊的長度/短邊的長度一 f)(式I)在此,floor (X)表示實數X以下的最大整數。此外,g、f作為一例,g = O. 809、f =- O. 5。在判斷部13中判斷為長邊和短邊的長度之比大于規(guī)定值的情況下,曲線形成部16通過第2直線近似方法對長部分輪廓線進行近似。曲線形成部16如圖2所示,包括副輪廓點計算部20、切線矢量計算部21、交點計算部22、及交點矢量計算部23而構成。為便于說明,補充性地使用圖4,一邊說明第2直線近似方法,一邊說明曲線形成部16的各構成。圖4是表示由曲線形成部生成的近似曲線的圖。圖4的點Bpbtl表示作為近似處理的對象的長部分輪廓線的端點。例如,點apbd相當于圖3的輪廓點162及163,將點a。和Idci連結的線段相當于作為近似處理的對象的長邊、即L15。曲線形成部16作為第2直線近似方法的近似處理,按照從η = O到n = d的各個η的值,分別進行下述(A) (D)的運算(以下將“(A) (D)的運算”統(tǒng)稱為“基本近似運算”),由此計算an、bn、cn,結果得到近似曲線· · · ad_cd_bd · · · -H(A)副輪廓點an、bn的計算副輪廓點計算部20使用下述的式2及式3來計算副輪廓點an、bn。副輪廓點an、比是以多個線段對輪廓點Bpbtl間進行近似的情況下的、成為線段的端點的點。an = a^+2111 d (Clri — an_j)(式 2 )bn = Vpn-H (Clri — V1)(式 3)但是,η = O的情況下,如上述那樣,將輪廓點%、b0作為初始值給出,不進行使用式2及式3的運算。在后面說明交點Cn (或Clri)。(B)切線矢量8 、、的計算切線矢量計算部21使用下述的式4及式5,計算副輪廓點an處的切線矢量Sn及副輪廓點bn處的切線矢量tn。切線矢量sn、tn用于計算后述的交點cn。sn = 2 d {(2d (n 0 — I) Ulri + S^1)}(式 4)
tn = 2 d {(2d (n O — I) (-Ulri ) + tn_!) }(式 5 )在此,式5的矢量(-Ulri)表示將后述的交點矢量Ulri反轉后的矢量。此外,η = O的情況下,作為Btl處的切線矢量S0,使用與Btl對應的分割點處的切線矢量。而且,作為k處的切線矢量、,使用將與Idci對應的分割點處的切線矢量的朝向反轉后的矢量。因此,η = O的情況下,不進行使用式4及式5的運算。
另外,對于切線矢量sn、tn,雖然使用了 “切線矢量”的名稱,但是不具有作為副輪廓點an、bn處的切線的意義。但是,由于根據以切線矢量Sptci為初始值的遞歸式來進行計算,所以為方便起見而使用“切線矢量”的名稱。(C)交點Cn的計算交點計算部22計算以an為基點向切線矢量Sn方向延伸的直線和以bn為基點向切線矢量、方向延伸的直線的交點cn。(D)交點矢量Un的計算交點矢量計算部23使用下述的式6來計算交點Cn處的矢量Un (以下稱為“交點
矢量”)。Un = Sn + ( — tn)(式 6)在式6中,矢量(一 tn)是將切線矢量、的方向反轉后的矢量。描繪部17將由輪廓近似線生成部14生成的對輪廓線102進行近似的近似曲線及對輪廓線103進行近似的近似曲線所夾的區(qū)域涂滿,并顯示在顯示器等上。< 1-3.動作>以下,說明上述那樣構成的曲線描繪裝置I的近似處理。圖5是表示近似處理的順序的流程圖。首先,軌跡分割部10作為輸入而取得軌跡信息及線寬信息(S10)。軌跡分割部10計算將由輸入的軌跡信息表示的軌跡分割為規(guī)定長度的分割點(S11)。接下來,切線矢量計算部11對于由軌跡分割部10計算出的各分割點處的軌跡,計算切線矢量及法線矢量(S12)。然后,輪廓點計算部12對于在軌跡分割部10中計算出的各分割點,計算與該分割點分別相隔半寬的輪廓點(S13)。然后,判斷部13在由軌跡分割部10計算的全分割點中,選出相鄰的2個分割點(S14),對于與選出的2個分割點對應的4個輪廓點,計算相對于被2個分割點劃分的分割軌跡而位于同側的輪廓點間的距離(等于將輪廓點彼此連結的輪廓近似線的長度)(S15)。然后,判斷部13計算所計算出的輪廓點間的距離之比,判定所計算出的比是否大于規(guī)定值(S16)。計算出的比大于規(guī)定值的情況下(S16 :是),通過第2直線近似方法對長部分輪廓線進行近似處理(S17),在該比為規(guī)定值以下的情況下(S16 :否),通過第I直線近似方法對長部分輪廓線進行近似(S18)。S17的詳細情況在后面使用圖6來說明。然后,判斷部13對于相鄰的分割點的全部組,判定是否進行基本近似運算(S19),不進行的情況下(S19 :否),進入S14。另一方面,對于相鄰的分割點的全部組,已完成基本近似運算的情況下(S19 :是),描繪部17通過將近似的輪廓線所夾的區(qū)域涂滿,生成并描繪近似曲線(S20)。圖6是表示相當于圖5的S17的第2直線近似方法的近似處理的圖。首先,曲線形成部16的控制部將變量η以初始值O來初始化(S51)。接著,交點計算部22使用由輪廓點計算部12計算的輪廓點Bpbtl和由切線矢量計算部11計算的輪廓點a。、k處的切線矢量S(l、h,計算交點Ctl (S52)。然后,交點矢量計算部23計算交點矢量U。(S53)。曲線形成部16的控制部判定(η + I)是否大于d (S54),不大于d的情況下(S54 否),對η加上I (S55)。接著,副輪廓點計算部20使用式2及式3來計算副輪廓點an、bn
(556)。然后,切線矢量計算部21使用式4及式5,計算副輪廓點an、bn處的切線矢量sn、tn
(557)。接著,交點計算部22計算以an為基點向切線矢量Sn方向延伸的直線和以bn為基點向切線矢量、方向延伸的直線,計算兩直線的交點Cn (S58)。然后,交點矢量計算部23使用式6來計算交點Cn處的交點矢量un (S59)。此外,在上述S54中,判定為(η + I)大于d的情況下(S54 :是),對于η = O d分別計算副輪廓點an、bn、切線矢量sn、tn、交點cn、交點矢量un,得到最終的近似曲線a0-a1-a2-a3-C3-b3-b2-b1-b00 保持這時的近似曲線 ao-arafafCs-bft^-brb。中的各輪廓點及田l]輪點 、3-2、、。3、λ Λ bi、b。C S60 ) ο 在此,作為圖6的補充說明,使用圖7 9及圖4,直觀地說明隨著η從O增加到d(為便于說明而將d設為3)而由近似處理計算的點、矢量。圖7表示在η = O的情況下,基本近似運算結束后的近似曲線。輪廓點如也、切線矢量Sptci在進入近似處理之前是已知的。在S52中,由交點計算部22計算Ctl,在S53中,由交點矢量計算部23計算交點矢量U。。在S54中,由控制部判定為η + I (= I)不大于d(S54 :否),在S55中,由控制部對η加上1,并進入S56。圖8表示在η = I的情況下,基本近似運算結束后的近似曲線。在圖6的η = I的情況下的S56中,副輪廓點計算部20計算副輪廓點a” Iv接著,在S57中,切線矢量計算部21計算切線矢量Sl、h。然后,在S58中,交點計算部22計算交點Cl。然后,在S59中,交點矢量計算部23計算交點矢量U1。然后,在S54中,由控制部判定為η + I (= 2)不大于d (S54 :否),所以在S55中,由控制部對η加上1,并進入S56。圖9表示在η = 2的情況下,基本近似運算結束后的近似曲線。在圖6的η = 2的情況下的S56中,副輪廓點計算部20計算副輪廓點a2、b2。接著,在S57中,切線矢量計算部21計算切線矢量s2、t2。然后,在S58中,交點計算部22計算交點c2。然后,在S59中,交點矢量計算部23計算交點矢量u2。然后,在S54中,由控制部判定為η + I (= 3)不大于d (S54 :否),所以在S55中,由控制部對η加上1,并進入S56。在前面已做了少許說明,圖4表示在η = 3的情況下,基本近似運算結束后的近似曲線。在圖6的η = 3的情況下的S56中,副輪廓點計算部20計算副輪廓點a3、b3。接著,在S57中,切線矢量計算部21計算切線矢量s3、t3。然后,在S58中,交點計算部22計算交點c3。然后,在S59中,交點矢量計算部23計算交點矢量u3。然后,在S54中,由控制部判定為η + I (=4)大于d (S54 :是),并進入S60。通過以上處理,計算出最終的近似曲線ad-a^a^afc^-mbd,并保持形成近似曲線的各點 a。、£ii、3-2、、C3、bgλ bg、bi、b。。<2.其他變形例>以上說明了本發(fā)明的曲線描繪裝置的實施方式,但是可以將例示的曲線描繪裝置如下變形,本發(fā)明當然不限于上述實施方式所示的曲線描繪裝置。(I)在上述實施方式中,軌跡分割部10將軌跡分割為規(guī)定長度,但是不限于規(guī)定長度,將軌跡分割為適于進行近似處理的單位即可。例如,可以考慮近似處理所需的運算負荷的降低和近似處理結果帶來的應描繪的曲線的再現性的平衡而決定分割長。具體地說,可以將軌跡的變曲點附近比其他部位更細地分割,也可以是軌跡越接近直線則越加長分割軌跡的長度等、將分割軌跡的長度設為不均勻,還可以對軌跡為直線的部分不進行分割等。(2)在上述實施方式中,判斷部1 3根據長邊和短邊的長度之比是否大于規(guī)定值,來判定是否以更多的線段來對長部分輪廓線進行近似,但是只要能夠判定長邊和短邊的長度的偏離度是否為一定以上即可。例如,也可以是,計算沿著通過相鄰的2個分割點的軌跡的各法線與各分割點相隔規(guī)定距離的4個隔離點,該規(guī)定距離不是上述實施方式那樣的線寬的一半,并計算將相對于分割軌跡(或節(jié)段)而位于同側的隔離點彼此作為組的情況的、各組的隔離點間的距離之比,判定該比是否大于規(guī)定值。此外,也可以代替長邊和短邊之t匕,而使用與長邊和短邊之比相當的比,例如長邊的長度和節(jié)段的長度之比、或短邊的長度和節(jié)段的長度之比等。(3)在上述實施方式中,判斷部13判定長邊和短邊的長度之比是否大于規(guī)定值,但是也可以不計算至長邊和短邊之比,而檢測明顯不需要進行近似處理的情況,在明顯不需要進行近似處理的情況下,省略長邊和短邊之比的計算。例如,也可以是,在判定長邊和短邊之比是否大于規(guī)定值之前,判斷長邊的長度是否比規(guī)定長度短,在比規(guī)定長度短的情況下,無論是否進行近似,都無法在視覺上區(qū)分開,從而判斷為不進行進一步的近似。(4)在上述實施方式中,分割系數d由式I決定,但不限于此,也可以設為固定值,還可以使用基于如下因素決定的式子,該因素包括裝置的運算能力、用于顯示近似曲線的顯示器的曲線顯示能力、近似結果帶來的應描繪的曲線的再現性等。這是因為,雖然分割系數d越增加,則近似曲線與應描繪的曲線越接近,但是需要的運算處理能力也變高。(5)在本實施方式中,在判斷部13中判定長邊和短邊的長度之比是否大于規(guī)定值的情況下,作為一例而將規(guī)定值設為2,但不限于此,也可以通過模擬來預先計算并使用與對近似要求的曲線的再現性、用于顯示近似曲線的顯示器的曲線顯示能力、曲線描繪裝置的運算能力等相應的合適的值。(6)在本實施方式中,在判斷部13中,在分別通過相鄰的2個分割點的法線在分割點和輪廓點之間交叉的情況下不進行判斷。這樣,在產生交叉這樣的特殊情況下,可以進行與不產生交叉的情況不同的處理。具體地說,將部分輪廓線中的、相對于通過2個分割點的節(jié)段而位于交叉的點的不同側的一方(相當于長邊)以多個曲線進行近似,對相對于通過2個分割點的節(jié)段而位于交叉的點的同側的一方(相當于短邊)不進行近似。此外,在計算與2個分割點分別相隔規(guī)定距離的4個輪廓點時,只要將該規(guī)定的距離決定為小于節(jié)段的1/2的長度,就會不產生上述的交叉。(7)在本實施方式中,作為第2直線近似方法的近似處理,說明了使用式I 式6等的近似處理,但這些只是近似處理的算法的一例,也可以使用能夠對長部分輪廓線進行曲線近似的其他算法。此外,在本實施方式中,在式2 5中進行2d等以2為基數的運算,但這是考慮了計算機的內部處理等運算的簡單化,通過將基數設為小于2,作為結果得到的近似曲線能夠變得更加平滑。因此,作為基數也可以采用小于2的數。此外,作為基數當然也可以采用大于2的數。(8)在本實施方式中,軌跡信息作為一例而使用3次貝濟埃曲線的各控制點的坐標列來表現軌跡,但不限于該表現,只要能夠表現曲線即可。( 9 )也可以將控制程序記錄在記錄介質中,或經由各種通信路等流通并公布,該控制程序由機械語言或高級語言的程序代碼構成,用于使曲線描繪裝置的處理器及與該處理器連接的各種電路執(zhí)行上述實施方式所示的直線近似處理等。在這樣的記錄介質中,有IC卡、硬盤、光盤、軟盤、ROM、閃存器等。流通并公布的控制程序容納在能夠由處理器讀出的存儲器等中以供利用,通過由該處理器執(zhí)行該控制程序,實現各實施方式所示的各功能。另外,處理器除了直接執(zhí)行控制程序之外,也可以編譯執(zhí)行或通過編譯機來執(zhí)行。(10)上述實施方式所示的各功能構成要素(軌跡分割部10、切線矢量計算部11、輪廓點計算部12、判斷部13、輪廓近似線生成部14、分割系數決定部15、曲線形成部16、及描繪部17等)也可以作為執(zhí)行其功能的電路來實現,或通過由I或多個處理器執(zhí)行程序來實現。另外,上述各功能構成要素典型地作為集成電路、即LSI來實現??梢詫⑺鼈儐为毜豂芯片化,也可以包含一部分或全部地I芯片化。在此采用了 LSI,但是根據集成度的不同,有時也稱為1C、系統(tǒng)LSI、超大LSI、極大LSI。此外,集成電路化的方法不限于LSI,也可以通過專用電路或通用處理器來實現。也可以利用在LSI制造后可編程的FPGA (Field·Programmable Gate Array)、或能夠將LSI內部的電路單元的電路設定重構的可重構處理器。進而,通過半導體技術的進步或派生的其他技術,如果出現了代替LSI的集成電路化的技術,當然可以使用該技術來進行功能模塊的集成化。生物技術的應用等也存在可能性。(11)也可以將上述實施方式及各變形例部分地組合。< 3.補充>以下,進一步說明作為本發(fā)明的一實施方式的曲線描繪裝置的構成及其變形例和效果。(I)本發(fā)明的一實施方式的曲線描繪裝置,對由中心線及線寬規(guī)定的、具有寬度的曲線的輪廓線進行直線近似,該曲線描繪裝置具備分割點計算單元,計算將所述中心線分割的、所述中心線上的多個分割點;隔離點計算單元,對于各個所述分割點,計算沿著通過該分割點的所述中心線的法線而與該分割點相隔等距離的2個隔離點;距離計算單元,對于對相鄰的2個分割點計算出的所述4個隔離點,分別計算將相對于通過該2個分割點的直線而位于同側的隔離點彼此作為組的情況下的、各組的隔離點間的距離;判定單元,計算以所述計算出的2個距離中的較短一方為基準的該2個距離之比,并判定該比是否大于規(guī)定值;以及曲線形成單元,在判定為所述比大于規(guī)定值的情況下,將所述輪廓線中的被分別通過所述2個分割點的法線所夾的部分、即部分輪廓線中的較長一方,以比較短一方更多的線段來進行近似。根據該構成,能夠通過比較隔離點間的2個距離這樣的、計算負荷比以往更低的方法,來判斷是否將部分輪廓線中的較長一方以比較短一方更多的線段來進行近似。(2)也可以是,所述隔離點計算單元作為與所述分割點相隔等距離的2個隔離點,計算與所述分割點分別相隔所述線寬的一半的點。根據該構成,隔離點是輪廓線上的點,即部分輪廓線的端點和隔離點一致,所以能夠省略另外計算部分輪廓線的端點的處理。(3)也可以是,所述曲線形成單元利用I條線段來對所述部分輪廓線中的較短一方進行近似,所述分割點計算單元在將所述中心線分割時,以使對所述部分輪廓線中的較短一方進行近似的一條線段為規(guī)定長度以下的方式來進行分割。根據該構成,成為將所有短部分輪廓線利用I條線段進行近似這樣的簡單的近似處理,所以能夠降低近似處理全體的處理負荷。(4)也可以是,所述曲線形成單元在對所述部分輪廓線中的較長一方進行近似時,根據由所述判定單元計算的所述比來決定用于所述近似的線段的數量。根據該構成,能夠利用與該比相應的適當的分割數的線段來對部分輪廓線進行近似。( 5)也可以是,所述曲線形成單元在對所述部分輪廓線中的較長一方進行近似時,將所述部分輪廓線的兩端點設為點%及點Iv將矢量Stl設為所述中心線的與點%對應的分割點處的切線矢量,將矢量h設為所述中心線的與點k對應的分割點處的切線矢量,將點Ctl設為以點%為基點向矢量Stl方向延伸的直線和以點Idci為基點向矢量h方向延伸的直線的交點,將分割系數設為山對于η為I以上d以下的各整數值,使用下式計算點an、點
bn、矢量Sn、矢量1:n、矢量Un,
an = an-! + 2n+d (Cn-I — an-i)、
bn = bn-! + 2n+d (Cn-I — bn-i)>
sn = 2 d{(2^1)—I) Ulri + sn_
t = 2_d{(2^1)I) ( — Ulri )+ tn-i)}、
Un = Sn. —tn)>
其中,點,cn是以an為基點向矢量:3n方向延伸的直線和以bn為基點向矢量
延伸的直線的交點,利用將計算出的(d + I)個的點am (m為O以上d以下的各整數)、點Cd、及(d + I)個的點bm連結而成的折線來對所述部分輪廓線中的較長一方進行近似。根據該構成,能夠根據簡單的遞歸式來計算利用多個線段對部分輪廓線進行近似的近似曲線。(6)也可以是,所述曲線形成單元在所述2條法線中的隔離點間的部分交叉的情況下,與所述判定單元的判定結果無關,利用多個曲線來對相對于通過所述2個分割點的直線而位于所述交叉的點的不同側的部分輪廓線進行近似。根據該構成,在產生所述交叉的特殊狀態(tài)下,也能夠判斷為利用多個曲線可靠地對2個部分輪廓線中的一方進行近似。(7)本發(fā)明的一實施方式的曲線描繪方法,是在曲線描繪裝置中使用的曲線描繪方法,該曲線描繪裝置具備分割點計算單元、隔離點計算單元、距離計算單元、判定單元、及曲線形成單元,對由中心線及線寬規(guī)定的、具有寬度的曲線的輪廓線進行直線近似,該曲線描繪方法包括以下步驟分割點計算步驟,計算將所述中心線分割的、所述中心線上的多個分割點;隔離點計算步驟,對于各個所述分割點,計算沿著通過該分割點的所述中心線的法線而與該分割點相隔等距離的2個隔離點;距離計算步驟,對于對相鄰的2個分割點計算出的所述4個隔離點,分別計算將相對于通過該2個分割點的直線而位于同側的隔離點彼此作為組的情況下的、各組的隔離點間的距離;判定步驟,計算以所述計算出的2個距離中的較短一方為基準的該2個距離之比,并判定該比是否大于規(guī)定值;以及曲線形成步驟,在判定為所述比大于規(guī)定值的情況下,將所述輪廓線中的被分別通過所述2個分割點的法線所夾的部分、即部分輪廓線中的較長一方,以比較短一方更多的線段來進行近似。
14
此外,本發(fā)明的一實施方式的曲線描繪程序,使計算機作為曲線描繪裝置發(fā)揮功能,該曲線描繪裝置對由中心線及線寬規(guī)定的、具有寬度的曲線的輪廓線進行直線近似,該曲線描繪程序使所述計算機作為如下各單元發(fā)揮功能分割點計算單元,計算將所述中心線分割的、所述中心線上的多個分割點;隔離點計算單元,對于各個所述分割點,計算沿著通過該分割點的所述中心線的法線而與該分割點相隔等距離的2個隔離點;距離計算單元,對于對相鄰的2個分割點計算出的所述4個隔離點,分別計算將相對于通過該2個分割點的直線而位于同側的隔離點彼此作為組的情況下的、各組的隔離點間的距離;判定單元,計算以所述計算出的2個距離中的較短一方為基準的該2個距離之比,并判定該比是否大于規(guī)定值;以及曲線形成單元,在判定為所述比大于規(guī)定值的情況下,將所述輪廓線中的被分別通過所述2個分割點的法線所夾的部分、即部分輪廓線中的較長一方,以比較短一方更多的線段來進行近似。
此外,本發(fā)明的一實施方式的集成電路,是在曲線描繪裝置中使用的集成電路,該曲線描繪裝置對由中心線及線寬規(guī)定的、具有寬度的曲線的輪廓線進行直線近似,該集成電路具備分割點計算單元,計算將所述中心線分割的、所述中心線上的多個分割點;隔離點計算單元,對于各個所述分割點,計算沿著通過該分割點的所述中心線的法線而與該分割點相隔等距離的2個隔離點;距離計算單元,對于對相鄰的2個分割點計算出的所述4個隔離點,分別計算將相對于通過該2個分割點的直線而位于同側的隔離點彼此作為組的情況下的、各組的隔離點間的距離;判定單元,計算以所述計算出的2個距離中的較短一方為基準的該2個距離之比,并判定該比是否大于規(guī)定值;以及曲線形成單元,在判定為所述比大于規(guī)定值的情況下,將所述輪廓線中的被分別通過所述2個分割點的法線所夾的部分、即部分輪廓線中的較長一方,以比較短一方更多的線段來進行近似。根據該構成,能夠通過比較隔離點間的2個距離這樣的、計算負荷比以往更低的方法,來判斷是否將部分輪廓線中的較長一方以比較短一方更多的線段來進行近似。工業(yè)實用性本發(fā)明的曲線描繪裝置使用計算負荷比以往低的簡單的方法,來計算文字字體或圖形等的輪廓線,適用于將這樣的文字字體或圖形等顯示在顯示器上的信息處理終端等裝
置。
符號的說明
I曲線描繪裝置
10軌跡分割部
11切線矢量計算部
12輪廓點計算部
13判斷部
14輪廓近似線生成部
15分割系數決定部
16曲線形成部
17描繪部
20副輪廓點計算部
21切線矢量計算部
22交點計算部
23交點矢量計算部
101軌跡
102,103輪廓線
P4 P7分割點
D4 D6分割軌跡
131 133節(jié)段
141、142切線矢量
161 164輪廓點
171 174輪廓點
L15、L25輪廓近似線
權利要求
1.一種曲線描繪裝置,對由中心線及線寬規(guī)定的、具有寬度的曲線的輪廓線進行直線近似,該曲線描繪裝置的特征在于,具備 分割點計算單元,計算將所述中心線分割的、所述中心線上的多個分割點; 隔離點計算單元,對于各個所述分割點,計算沿著通過該分割點的所述中心線的法線而與該分割點相隔等距離的2個隔離點; 距離計算單元,對于對相鄰的2個分割點計算出的4個所述隔離點,分別計算將相對于通過該2個分割點的直線而位于同側的隔離點彼此作為組的情況下的、各組的隔離點間的距離; 判定單元,計算以所述計算出的2個距離中的較短一方為基準的該2個距離之比,并判定該比是否大于規(guī)定值;以及 曲線形成單元,在判定為所述比大于規(guī)定值的情況下,將所述輪廓線中的被分別通過所述2個分割點的法線所夾的部分、即部分輪廓線中的較長一方,以比較短一方更多的線段來進行近似。
2.如權利要求I所述的曲線描繪裝置,其特征在于, 所述隔離點計算單元作為與所述分割點相隔等距離的2個隔離點,計算與所述分割點分別相隔所述線寬的一半的點。
3.如權利要求I所述的曲線描繪裝置,其特征在于, 所述曲線形成單元利用I條線段來對所述部分輪廓線中的較短一方進行近似, 所述分割點計算單元在將所述中心線分割時,以使對所述部分輪廓線中的較短一方進行近似的一條線段為規(guī)定長度以下的方式來進行分割。
4.如權利要求I所述的曲線描繪裝置,其特征在于, 所述曲線形成單元在對所述部分輪廓線中的較長一方進行近似時,根據由所述判定單元計算的所述比來決定用于所述近似的線段的數量。
5.如權利要求4所述的曲線描繪裝置,其特征在于, 所述曲線形成單元在對所述部分輪廓線中的較長一方進行近似時,將所述部分輪廓線的兩端點設為點B0及點Iv將矢量Stl設為所述中心線的與點%對應的分割點處的切線矢量,將矢量h設為所述中心線的與點k對應的分割點處的切線矢量,將點Ctl設為以點%為基點向矢量Stl方向延伸的直線和以點k為基點向矢量h方向延伸的直線的交點,將分割系數設為d,對于η為I以上d以下的各整數值,使用下式計算點an、點bn、矢量Sn、矢量tn、矢量un, an = an-l+2n I d (Cn-I — ^l)b = bn_1+2n+d ((V1 — V1)sn = 2 d {(2d (n :) — I) Ulri + Slri)}tn = 2 d {(2d (n O — I) ( — Ulri) + tn_!)}un = sn + ( — tn) 其中,點cn是以an為基點向矢量sn方向延伸的直線和以bn為基點向矢量、方向延伸的直線的交點, 利用將計算出的(d + I)個的點am、點cd、及(d + I)個的點1\連結而成的折線來對所述部分輪廓線中的較長一方進行近似,其中m為O以上d以下的各整數。
6.如權利要求I所述的曲線描繪裝置,其特征在于, 所述曲線形成單元在所述2條法線中的隔離點間的部分交叉的情況下,與所述判定單元的判定結果無關,利用多個曲線來對相對于通過所述2個分割點的直線而位于所述交叉的點的不同側的部分輪廓線進行近似。
7.一種曲線描繪方法,是在曲線描繪裝置中使用的曲線描繪方法,該曲線描繪裝置具備分割點計算單元、隔離點計算單元、距離計算單元、判定單元、及曲線形成單元,對由中心線及線寬規(guī)定的、具有寬度的曲線的輪廓線進行直線近似,該曲線描繪方法包括以下步驟 分割點計算步驟,由所述分割點計算單元計算將所述中心線分割的、所述中心線上的多個分割點; 隔離點計算步驟,由所述隔離點計算單元對于各個所述分割點,計算沿著通過該分割點的所述中心線的法線而與該分割點相隔等距離的2個隔離點; 距離計算步驟,上述距離計算單元對于對相鄰的2個分割點計算出的4個所述隔離點,分別計算將相對于通過該2個分割點的直線而位于同側的隔離點彼此作為組的情況下的、各組的隔離點間的距離; 判定步驟,由所述判定單元計算以所述計算出的2個距離中的較短一方為基準的該2個距離之比,并判定該比是否大于規(guī)定值;以及 曲線形成步驟,在判定為所述比大于規(guī)定值的情況下,由所述曲線形成單元將所述輪廓線中的被分別通過所述2個分割點的法線所夾的部分、即部分輪廓線中的較長一方,以比較短一方更多的線段來進行近似。
8.一種曲線描繪程序,使計算機作為曲線描繪裝置發(fā)揮功能,該曲線描繪裝置對由中心線及線寬規(guī)定的、具有寬度的曲線的輪廓線進行直線近似,該曲線描繪程序使所述計算機作為如下各單元發(fā)揮功能 分割點計算單元,計算將所述中心線分割的、所述中心線上的多個分割點; 隔離點計算單元,對于各個所述分割點,計算沿著通過該分割點的所述中心線的法線而與該分割點相隔等距離的2個隔離點; 距離計算單元,對于對相鄰的2個分割點計算出的4個所述隔離點,分別計算將相對于通過該2個分割點的直線而位于同側的隔離點彼此作為組的情況下的、各組的隔離點間的距離; 判定單元,計算以所述計算出的2個距離中的較短一方為基準的該2個距離之比,并判定該比是否大于規(guī)定值;以及 曲線形成單元,在判定為所述比大于規(guī)定值的情況下,將所述輪廓線中的被分別通過所述2個分割點的法線所夾的部分、即部分輪廓線中的較長一方,以比較短一方更多的線段來進行近似。
9.一種集成電路,是在曲線描繪裝置中使用的集成電路,該曲線描繪裝置對由中心線及線寬規(guī)定的、具有寬度的曲線的輪廓線進行直線近似,該集成電路具備 分割點計算單元,計算將所述中心線分割的、所述中心線上的多個分割點; 隔離點計算單元,對于各個所述分割點,計算沿著通過該分割點的所述中心線的法線而與該分割點相隔等距離的2個隔離點;距離計算單元,對于對相鄰的2個分割點計算出的4個所述隔離點,分別計算將相對于通過該2個分割點的直線而位于同側的隔離點彼此作為組的情況下的、各組的隔離點間的距離; 判定單元,計算以所述計算出的2個距離中的較短一方為基準的該2個距離之比,并判定該比是否大于規(guī)定值;以及 曲線形成單元,在判定為所述比大于規(guī)定值的情況下,將所述輪廓線中的被分別通過所述2個分割點的法線所夾的部分、即部分輪廓線中的較長一方,以比較短一方更多的線段來進行近似。
全文摘要
本發(fā)明提供一種曲線描繪裝置,能夠通過比以往簡單的方法來判斷杜宇曲線近似結果是否需要進一步的近似處理。曲線描繪裝置(1)對由中心線及線寬規(guī)定的曲線的輪廓線進行直線近似,具備軌跡分割部(10),計算將中心線分割的中心線上的多個分割點;輪廓點計算部(12),計算通過分割點并沿著中心線的法線而位于與分割點等距離的2個隔離點;判斷部(13),對于對相鄰的2個分割點計算的4個隔離點,分別計算相對于通過2個分割點的直線而位于同側的2個隔離點間的距離,判定以2個距離的較短一方為基準的情況下的比是否大于規(guī)定值;以及曲線形成部(16),在判定為該比大于規(guī)定值的情況下,在輪廓線中將被分別通過2個分割點的法線所夾持的部分、即部分輪廓線中的較長一方,以比較短一方更多的線段來進行近似。
文檔編號G09G5/24GK102918566SQ20128000151
公開日2013年2月6日 申請日期2012年4月13日 優(yōu)先權日2011年4月15日
發(fā)明者守山隆昭, 伊藤安弘 申請人:松下電器產業(yè)株式會社