• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>
    當(dāng)前位置: 首頁(yè) > 專利查詢>南京大學(xué)專利>正文

    矩形窗口中的圓弧快速裁剪方法技術(shù)

    技術(shù)編號(hào):4354286 閱讀:972 留言:0更新日期:2012-04-11 18:40
    本發(fā)明專利技術(shù)公開了一種圓弧在矩形窗口下的快速裁剪方法,對(duì)任意給定的圓弧段,該方法按各類圓弧出現(xiàn)概率及所需操作,先后通過(guò)圓弧整體包圍盒、各分割后的象限圓弧段包圍盒、裁剪窗口頂點(diǎn)相對(duì)于象限圓弧段的內(nèi)外測(cè)試,以較少的操作盡可能多地排除與裁剪窗口不相交的圓??;對(duì)剩余需求交操作完成裁剪的圓弧,通過(guò)查表法快速獲取圓弧與裁剪窗口邊的交點(diǎn)。本發(fā)明專利技術(shù)的有益之處是,對(duì)任意待裁剪圓弧,僅需幾次移位、整數(shù)加減或少量乘除法運(yùn)算,即可快速獲取其裁剪結(jié)果,圓弧裁剪效率有很大提高。此外,由于圓弧裁剪是圖形學(xué)及CAD的基礎(chǔ)問(wèn)題,該方法可廣泛應(yīng)用于各類繪圖軟件、建模軟件、CAD軟件及復(fù)雜工程圖設(shè)計(jì)系統(tǒng)等。

    【技術(shù)實(shí)現(xiàn)步驟摘要】

    本專利技術(shù)涉及一種圓弧裁剪方法,且特別涉及一種。
    技術(shù)介紹
    作為計(jì)算機(jī)圖形學(xué)中的基礎(chǔ)算法之一,線裁剪算法直接關(guān)系到圖形系統(tǒng)的效率。在矩形窗口對(duì)直線段裁剪方面,已出現(xiàn)許多經(jīng)典算法,如基于編碼技術(shù)的Cohen-Sutherland算法、基于參數(shù)化方法的Liang-Barsky算法、基于幾何變換的Nicholl-Lee-Nicholl算法,及基于對(duì)Nicholl-Lee-Nicholl改進(jìn)的ELC算法和FLC算法等。相對(duì)而言,矩形窗口中圓弧裁剪的方法較少,現(xiàn)有圓弧裁剪方法實(shí)質(zhì)上都是通過(guò)求解一元二次方程來(lái)實(shí)現(xiàn);但由于圓弧代數(shù)方程求解的復(fù)雜性,其裁剪算法效率較低,較難滿足復(fù)雜工程應(yīng)用、大數(shù)據(jù)量實(shí)時(shí)繪制等需求。 研究發(fā)現(xiàn),相關(guān)性測(cè)試和圓弧-直線求交操作是圓弧裁剪處理的兩個(gè)重要方面。一般地,圓弧與窗口邊實(shí)際上不相交的概率較大。相關(guān)性測(cè)試用于快速排除完全在窗口外的圓弧或保留完全在窗口內(nèi)的圓弧,以避免不必要的圓弧-矩形裁剪窗口的求交計(jì)算。因此,快速圓弧裁剪方法的關(guān)鍵在于1)盡多、盡快地判定完全在窗口外的圓弧并加以排除;2)盡多、盡快地判定完全在窗口內(nèi)的圓弧并加以保留;3)對(duì)無(wú)法排除或保留的圓弧,應(yīng)明確需要與其求交的裁剪窗口的邊,快速求出交點(diǎn),并獲取最終裁剪結(jié)果。但是在實(shí)際的研究過(guò)程中仍發(fā)現(xiàn)圓弧包圍盒、端點(diǎn)可用于圓弧相關(guān)性測(cè)試,但具有如下困難1、圓弧的非線性特點(diǎn)帶來(lái)額外的包圍盒計(jì)算開銷,不利于盡快地排除和保留;2、圓弧包圍盒一般較大,較難盡可能多地排除或保留待裁剪圓??;3、即使圓弧兩端點(diǎn)均落在矩形裁剪窗口內(nèi),圓弧仍可能和窗口相交;4、即使圓弧兩端點(diǎn)均落在矩形裁剪窗口外,圓弧也可能和窗口相交。
    技術(shù)實(shí)現(xiàn)思路
    專利技術(shù)目的本專利技術(shù)針對(duì)現(xiàn)有技術(shù)中裁剪方法的不足,提供一種。 技術(shù)方案為了解決上述技術(shù)問(wèn)題,本專利技術(shù)提供一種,該方法包括以下步驟 步驟1,輸入矩形裁剪窗口坐標(biāo); 步驟2,輸入待裁剪圓弧坐標(biāo); 步驟3,以圓弧起點(diǎn)、終點(diǎn)坐標(biāo)為索引,直接查本專利技術(shù)表來(lái)獲取該圓弧的整體包圍盒; 步驟4,比較步驟3中的圓弧整體包圍盒與矩形裁剪窗口,判斷圓弧整體包圍盒是否位于裁剪窗口內(nèi),若結(jié)果為是,則輸出該圓弧,并返回步驟1,否則進(jìn)行下一步; 步驟5,比較該圓弧整體包圍盒與裁剪窗口,若圓弧整體包圍盒位于裁剪窗口外,若結(jié)果為是,則舍棄該圓弧,并返回步驟2,否則進(jìn)行下一步; 步驟6,將待裁剪圓弧分割為多個(gè)象限圓弧段; 步驟7,以待裁剪圓弧起點(diǎn)、終點(diǎn)坐標(biāo)為索引,通過(guò)查本專利技術(shù)表直接獲取其各分割后的象限圓弧段及其對(duì)應(yīng)的象限圓弧段包圍盒; 步驟8,比較各象限圓弧段包圍盒與裁剪窗口,若各象限圓弧段均在裁剪窗口外,則舍棄待裁剪圓弧,并返回步驟2,否則進(jìn)行下一步; 步驟9,在矩形裁剪窗口基礎(chǔ)上,根據(jù)其上邊界、下邊界、左邊界及右邊界將坐標(biāo)系分為九個(gè)分區(qū),由上至下、由左至右分別依次編碼為1區(qū)到9區(qū); 步驟10,遍歷各分割后的象限圓弧段,取其起點(diǎn)、終點(diǎn)坐標(biāo),與裁剪窗口四條邊界分別比較后,確定起點(diǎn)、終點(diǎn)所在分區(qū)的編碼; 步驟11,根據(jù)各象限圓弧段起點(diǎn)、終點(diǎn)所在分區(qū),及裁剪窗口右上或左下頂點(diǎn)與各象限圓弧段內(nèi)側(cè)或外側(cè)關(guān)系,判斷該圓弧是否在裁剪窗口外,若判斷結(jié)果為是,則舍棄該圓弧,并返回步驟(1);否則進(jìn)行下一步; 步驟12,對(duì)裁剪窗口右邊界的x坐標(biāo)作比例變換,比例因子為1024/R,其中乘以1024的操作通過(guò)將x坐標(biāo)左移10位實(shí)現(xiàn),R為圓弧半徑; 步驟13,利用變換后的右邊界x坐標(biāo)查預(yù)定義的規(guī)范化圓弧-直線交點(diǎn)的y坐標(biāo)表快速獲取規(guī)范化圓弧-直線交點(diǎn)坐標(biāo); 步驟14,對(duì)所查得的y坐標(biāo)實(shí)施比例變換,得到圓弧-直線實(shí)際交點(diǎn)坐標(biāo),比例因子為R/1024,其中除以1024的操作通過(guò)將y坐標(biāo)右移10位實(shí)現(xiàn); 步驟15,根據(jù)上步所得圓弧與裁剪窗口直線邊交點(diǎn)坐標(biāo),對(duì)所輸入圓弧進(jìn)行裁剪; 步驟16,輸出并顯示最終裁剪結(jié)果,并返回步驟1。 其中,步驟1所輸入的任意待裁剪圓弧為逆時(shí)針?lè)较?,圓弧表達(dá)式由其圓心、始點(diǎn)和終點(diǎn)描述(均為整數(shù)坐標(biāo))。不失一般性,本專利技術(shù)假設(shè)坐標(biāo)原點(diǎn)位于待裁剪圓弧的圓心;否則可首先將坐標(biāo)原點(diǎn)平移至待裁剪圓弧圓心后執(zhí)行本方法,裁剪結(jié)束后將裁剪結(jié)果平移回即可(僅需幾次整數(shù)坐標(biāo)的加減法運(yùn)算)。 步驟3、4、5利用圓弧整體包圍盒進(jìn)行待裁剪圓弧相關(guān)性測(cè)試。由于圓弧本身的非線性特點(diǎn),生成各類圓弧會(huì)增加一些計(jì)算開銷,因此可預(yù)定義圓弧整體包圍盒表,在步驟3獲取其整體包圍盒時(shí),只需根據(jù)該圓弧起點(diǎn)、終點(diǎn)坐標(biāo),即可快速獲取其整體包圍盒。所涉及的查表操作通過(guò)指令尋址中的變址來(lái)實(shí)現(xiàn),只需少數(shù)幾條機(jī)器指令,其計(jì)算時(shí)間可忽略不計(jì)。利用圓弧整體包圍盒作相關(guān)性測(cè)試時(shí),若該整體包圍盒位于裁剪窗口內(nèi),則直接輸出該圓弧、本次裁剪結(jié)束;若該整體包圍盒完全位于裁剪窗口外,則直接舍棄該圓弧、本次裁剪結(jié)束。 步驟6利用坐標(biāo)軸,將待裁剪圓弧分割為多個(gè)象限圓弧段。其中以圓心為原點(diǎn)建立坐標(biāo)系后,被坐標(biāo)軸切割的圓弧任一部分均稱為該圓弧的象限圓弧段。 步驟7、8利用切割后的象限圓弧段包圍盒進(jìn)行相關(guān)性測(cè)試。類似地,任意圓弧被坐標(biāo)軸切割生成的各象限圓弧段、各象限圓弧段的包圍盒,均可預(yù)定義在象限圓弧段包圍盒表中。因此,步驟7只需根據(jù)所給圓弧的起點(diǎn)、終點(diǎn),即可快速通過(guò)查表獲取各象限圓弧段及其包圍盒。步驟8判斷各象限圓弧段包圍盒是否均位于裁剪窗口外,若結(jié)果為是,則直接舍棄該圓弧、本次裁剪結(jié)束。 步驟9通過(guò)矩形裁剪窗口進(jìn)行分區(qū)編碼,根據(jù)其上邊界、下邊界、左邊界及右邊界將坐標(biāo)系分為九個(gè)分區(qū),由上至下、由左至右分別依次編碼為1區(qū)-9區(qū);(其中裁剪窗口設(shè)定為5區(qū))。 步驟10、11利用在對(duì)待裁剪圓弧各象限圓弧段分區(qū)編碼基礎(chǔ)上,通過(guò)裁剪窗口頂點(diǎn)相對(duì)于象限圓弧段的內(nèi)/外測(cè)試,進(jìn)一步完成待裁剪圓弧的相關(guān)性測(cè)試。根據(jù)該待裁剪圓弧起點(diǎn)、終點(diǎn)分區(qū)編碼不同,若裁剪窗口右上或左下頂點(diǎn)均位于該圓弧各象限圓弧段內(nèi)側(cè)或外側(cè),則直接舍棄該圓弧、本次裁剪結(jié)束。本專利技術(shù)中,步驟11中的象限圓弧段均為逆時(shí)針?lè)较颉?其中步驟11中的象限圓弧段在第I象限時(shí)(a)如果其起點(diǎn)或終點(diǎn)之一在5區(qū),該圓弧段不能排除、需保留以便后續(xù)求交才能完成裁剪;(b)如果其起點(diǎn)在6區(qū)、終點(diǎn)在1區(qū),或起點(diǎn)在6區(qū)、終點(diǎn)在2區(qū),或起點(diǎn)在9區(qū)、終點(diǎn)在2區(qū),且當(dāng)該象限圓弧段在窗口右上頂點(diǎn)外繞過(guò),即裁剪窗口右上頂點(diǎn)在圓弧段內(nèi)側(cè)時(shí),該圓弧段與窗口無(wú)交點(diǎn)、應(yīng)排除;(c)如果其起點(diǎn)在8區(qū)、終點(diǎn)在1區(qū),或起點(diǎn)在8區(qū)、終點(diǎn)在4區(qū),或起點(diǎn)在9區(qū)、終點(diǎn)在4區(qū),且當(dāng)該圓弧段在窗口左下頂點(diǎn)外繞過(guò),即裁剪窗口左下頂點(diǎn)在圓弧段外側(cè)時(shí),該圓弧段與窗口無(wú)交點(diǎn)、應(yīng)排除;(d)其它情況下該圓弧應(yīng)直接排除。 其中步驟(11)中的象限圓弧段在第II象限時(shí),將該象限圓弧段的圓心、起點(diǎn)、始點(diǎn)坐標(biāo)及裁剪窗口頂點(diǎn)坐標(biāo)作如下變換 x’=-x,y’=y(tǒng) 其中(x,y)為變換前的點(diǎn),(x’,y’)為變換后的點(diǎn),然后交換變換后位于第I象限的象限圓弧段的起點(diǎn)、終點(diǎn)次序,并按權(quán)利要求10所述方法快速排除。 其中步驟11中的象限圓弧段在第III象限時(shí),將該象限圓弧段的圓心、起點(diǎn)、始點(diǎn)坐標(biāo)及裁剪窗口頂點(diǎn)坐標(biāo)作如下變換 x’=-x,y’=-y 從而將該象限圓弧段變換至第I象限后,按權(quán)利要本文檔來(lái)自技高網(wǎng)
    ...

    【技術(shù)保護(hù)點(diǎn)】
    一種矩形窗口中的圓弧快速裁剪方法,其特征在于,該方法包括以下步驟:?。ǎ保┹斎刖匦尾眉舸翱谧鴺?biāo);?。ǎ玻┹斎氪眉魣A弧坐標(biāo); (3)以圓弧起點(diǎn)、終點(diǎn)坐標(biāo)為索引,直接查表來(lái)獲取該圓弧的整體包圍盒; (4)比較步驟(3) 中的圓弧整體包圍盒與矩形裁剪窗口,判斷圓弧整體包圍盒是否位于裁剪窗口內(nèi),若結(jié)果為是,則輸出該圓弧,并返回步驟(1),否則進(jìn)行下一步;?。ǎ担┍容^該圓弧整體包圍盒與裁剪窗口,若圓弧整體包圍盒位于裁剪窗口外,若結(jié)果為是,則舍棄該圓弧,并返 回步驟(2),否則進(jìn)行下一步; (6)將待裁剪圓弧分割為多個(gè)象限圓弧段;?。ǎ罚┮源眉魣A弧起點(diǎn)、終點(diǎn)坐標(biāo)為索引,通過(guò)查表直接獲取其各分割后的象限圓弧段及其對(duì)應(yīng)的象限圓弧段包圍盒;?。ǎ福┍容^各象限圓弧段包圍盒與裁剪窗口, 若各象限圓弧段均在裁剪窗口外,則舍棄待裁剪圓弧,并返回步驟(2),否則進(jìn)行下一步;?。ǎ梗┰诰匦尾眉舸翱诨A(chǔ)上,根據(jù)其上邊界、下邊界、左邊界及右邊界將坐標(biāo)系分為九個(gè)分區(qū),由上至下、由左至右分別依次編碼為1區(qū)到9區(qū);?。ǎ保埃┍闅v 各分割后的象限圓弧段,取其起點(diǎn)、終點(diǎn)坐標(biāo),與裁剪窗口四條邊界分別比較后,確定起點(diǎn)、終點(diǎn)所在分區(qū)的編碼;?。ǎ保保└鶕?jù)各象限圓弧段起點(diǎn)、終點(diǎn)所在分區(qū),及裁剪窗口右上或左下頂點(diǎn)與各象限圓弧段內(nèi)側(cè)或外側(cè)關(guān)系,判斷該圓弧是否在裁剪窗口外,若判 斷結(jié)果為是,則舍棄該圓弧,并返回步驟(1);否則進(jìn)行下一步;?。ǎ保玻?duì)裁剪窗口右邊界的x坐標(biāo)作比例變換,比例因子為1024/R,其中乘以1024的操作通過(guò)將x坐標(biāo)左移10位實(shí)現(xiàn),R為圓弧半徑; (13)利用變換后的右邊界x坐標(biāo) 查預(yù)定義的規(guī)范化圓?。本€交點(diǎn)的y坐標(biāo)表,快速獲取規(guī)范化圓?。本€交點(diǎn)坐標(biāo);?。ǎ保矗?duì)所查得的y坐標(biāo)實(shí)施比例變換,得到圓?。本€實(shí)際交點(diǎn)坐標(biāo),比例因子為R/1024,其中除以1024的操作通過(guò)將y坐標(biāo)右移10位實(shí)現(xiàn);?。ǎ保担? 根據(jù)上步所得圓弧與裁剪窗口直線邊交點(diǎn)坐標(biāo),對(duì)所輸入圓弧進(jìn)行裁剪;?。ǎ保叮┹敵霾@示最終裁剪結(jié)果,并返回步驟(1)。...

    【技術(shù)特征摘要】

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:路通楊若瑜,蘇豐,蔡士杰,
    申請(qǐng)(專利權(quán))人:南京大學(xué)
    類型:發(fā)明
    國(guó)別省市:84[中國(guó)|南京]

    網(wǎng)友詢問(wèn)留言 已有0條評(píng)論
    • 還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 久久精品无码专区免费 | 欲色aV无码一区二区人妻| 永久免费无码日韩视频| 人妻系列AV无码专区| 亚洲成av人片不卡无码| 免费无码又爽又刺激网站直播| 久久久久亚洲Av无码专| 日韩精品无码免费专区午夜不卡| 亚洲精品久久久久无码AV片软件| 国产精品无码专区| 亚洲精品国产日韩无码AV永久免费网 | 国精无码欧精品亚洲一区| 无码人妻啪啪一区二区| 国产午夜无码视频在线观看| 无码人妻精品一区二区三区99不卡| 无码国产伦一区二区三区视频| 精品人妻无码专区在中文字幕 | 中文无码热在线视频| 国产爆乳无码一区二区麻豆| 一本一道中文字幕无码东京热| 无码日韩人妻精品久久蜜桃| 无码VA在线观看| 孕妇特级毛片WW无码内射| 无码内射中文字幕岛国片| 亚洲欧洲美洲无码精品VA| 成人免费无码H在线观看不卡| 无码毛片一区二区三区中文字幕| 欲色aV无码一区二区人妻| 中文无码不卡的岛国片| 亚洲欧洲AV无码专区| 亚洲乱人伦中文字幕无码| 亚洲av成人无码网站…| 无码国产精品一区二区免费I6| 精品国产aⅴ无码一区二区| 久久亚洲AV无码精品色午夜| 青青草无码免费一二三区| 一本色道无码道DVD在线观看| 中文字幕人成无码免费视频| 丰满亚洲大尺度无码无码专线 | 国产亚洲大尺度无码无码专线| 亚洲av无码国产精品色在线看不卡|