两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種線段擦除方法和裝置與流程

文檔序號:12122706閱讀:491來源:國知局
一種線段擦除方法和裝置與流程

本發(fā)明涉及計算機軟件技術(shù)領(lǐng)域,尤其涉及一種線段擦除方法和裝置。



背景技術(shù):

在電子白板軟件中,當(dāng)使用橡皮擦擦除一條線段的一部分時,需要計算這段線段被擦除一部分之后留下的內(nèi)容。傳統(tǒng)的方法是計算這條線段與橡皮擦圖形所構(gòu)成的相交點,從而算出擦除后留下的內(nèi)容,這種的方法的優(yōu)點是計算精確,但是計算量大,特別是同時擦除多條線段時,容易出現(xiàn)軟件假死、無響應(yīng)的現(xiàn)象,影響用戶體驗。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例的目的在于提供一種線段擦除方法和裝置,減少線段擦除的計算量,在精確度誤差可接受的范圍內(nèi),提高線段擦除結(jié)果的運算效率。

為實現(xiàn)上述目的,本發(fā)明實施例提供了一種線段擦除方法,包括:

對構(gòu)成原線段的各個點進行遍歷,判斷各個點是否在橡皮擦區(qū)域內(nèi),對不在所述橡皮擦區(qū)域內(nèi)的點進行記錄;

獲取分別位于所述橡皮擦區(qū)域外和位于所述橡皮擦區(qū)域內(nèi)的相鄰兩點,通過在所述相鄰兩點之間插點的方式,從所述相鄰兩點之間獲取所述原線段和所述橡皮擦區(qū)域的近似交點;

對記錄的不在所述橡皮擦區(qū)域內(nèi)的點以及所述近似交點進行顯示,作為線段擦除的結(jié)果。

其中,獲取分別位于所述橡皮擦區(qū)域外和位于所述橡皮擦區(qū)域內(nèi)的相鄰兩點,通過在所述相鄰兩點插點的方式,從所述相鄰兩點之間獲取所述原線段和所述橡皮擦區(qū)域的近似交點,包括:

獲取所述原線段上的相鄰兩點;其中,所述相鄰兩點中的一個點位于所述橡皮擦區(qū)域外,另一個點位于所述橡皮擦區(qū)域內(nèi);

在所述相鄰兩點之間等間距地插入N個點;其中,N≥1;

從所述相鄰兩點以及所述N個點中查找與橡皮擦邊沿最接近的點,將該點作為所述原線段與所述橡皮擦區(qū)域的近似交點并對該點進行記錄。

優(yōu)選地,所述對構(gòu)成原線段的各個點進行遍歷,判斷各個點是否在橡皮擦區(qū)域內(nèi),對不在所述橡皮擦區(qū)域內(nèi)的點進行記錄,包括:

判斷所述原線段的第一個點是否在橡皮擦區(qū)域內(nèi),若不在,則將所述第一個點作為線段擦除結(jié)果中的第一線段的一個端點,并將所述第一個點之后連續(xù)的不在所述橡皮擦區(qū)域內(nèi)的點添加到所述第一線段中;

在所述獲取分別位于所述橡皮擦區(qū)域外和位于所述橡皮擦區(qū)域內(nèi)的相鄰兩點,通過在所述相鄰兩點之間插點的方式,從所述相鄰兩點之間獲取所述原線段和所述橡皮擦區(qū)域的近似交點之后,還包括:

將靠近所述第一個點的所述近似交點作為所述第一線段的另一個端點。

優(yōu)選地,所述對構(gòu)成原線段的各個點進行遍歷,判斷各個點是否在橡皮擦區(qū)域內(nèi),對不在所述橡皮擦區(qū)域內(nèi)的點進行記錄,包括:

判斷所述原線段的最后一個點是否在橡皮擦區(qū)域內(nèi),若不在,則將所述最后一個點作為線段擦除結(jié)果中的第二線段的一個端點,并將所述最后一個點之前連續(xù)的不在所述橡皮擦區(qū)域內(nèi)的點添加到所述第一線段中;

在所述獲取分別位于所述橡皮擦區(qū)域外和位于所述橡皮擦區(qū)域內(nèi)的相鄰兩點,通過在所述相鄰兩點之間插點的方式,從所述相鄰兩點之間獲取所述原線段和所述橡皮擦區(qū)域的近似交點之后,還包括:

將靠近所述最后一個點的所述近似交點作為所述第二線段的另一個端點。

進一步地,在所述對構(gòu)成原線段的各個點進行遍歷,判斷各個點是否在橡皮擦區(qū)域內(nèi),對不在所述橡皮擦區(qū)域內(nèi)的點進行記錄之前,還包括:

計算所述原線段上的相鄰點之間的距離;

若所述相鄰點之間的距離大于橡皮擦最窄處的寬度,則在所述原線段的各相鄰點之間等間距地插入Round(d/w)個點;其中,Round()為向上取整函數(shù),d為所述線段上相鄰兩點之間的距離,w為所述橡皮擦最窄處的寬度。

優(yōu)選地,所述原線段為貝塞爾曲線。

相應(yīng)地,本發(fā)明實施例還提供了一種線段擦除裝置,包括:

遍歷判斷模塊,用于對構(gòu)成原線段的各個點進行遍歷,判斷各個點是否在橡皮擦區(qū)域內(nèi),對不在所述橡皮擦區(qū)域內(nèi)的點進行記錄;

近似交點獲取模塊,用于獲取分別位于所述橡皮擦區(qū)域外和位于所述橡皮擦區(qū)域內(nèi)的相鄰兩點,通過在所述相鄰兩點之間插點的方式,從所述相鄰兩點之間獲取所述原線段和所述橡皮擦區(qū)域的近似交點;

結(jié)果顯示模塊,用于對記錄的不在所述橡皮擦區(qū)域內(nèi)的點以及所述近似交點進行顯示,作為線段擦除的結(jié)果。

優(yōu)選地,所述近似交點獲取模塊包括:

交點粗定位單元,用于獲取所述原線段上的相鄰兩點;其中,所述相鄰兩點中的一個點位于所述橡皮擦區(qū)域外,另一個點位于所述橡皮擦區(qū)域內(nèi);

點插入單元,用于在所述相鄰兩點之間等間距地插入N個點;其中,N≥1;

近似交點查找單元,用于從所述相鄰兩點以及所述N個點中查找與橡皮擦邊沿最接近的點,將該點作為所述原線段與所述橡皮擦區(qū)域的近似交點并對該點進行記錄。

進一步地,所述裝置還包括:

間距計算模塊,用于計算所述原線段上的相鄰點之間的距離;

點插入模塊,用于若所述相鄰點之間的距離大于橡皮擦最窄處的寬度,則在所述原線段的各相鄰點之間等間距地插入Round(d/w)個點;其中,Round()為向上取整函數(shù),d為所述線段上相鄰兩點之間的距離,w為所述橡皮擦最窄處的寬度。

優(yōu)選地,所述原線段為貝塞爾曲線。

本發(fā)明提供的線段擦除方法和裝置,通過對構(gòu)成原線段的點進行遍歷,判斷各個點是否在橡皮擦區(qū)域內(nèi),對不在所述橡皮擦區(qū)域內(nèi)的點進行記錄,并通過在分別位于所述橡皮擦區(qū)域外和位于所述橡皮擦區(qū)域內(nèi)的相鄰兩點之間插點的方式,獲取所述原線段和所述橡皮擦區(qū)域的近似交點,將記錄的不在所述橡皮擦區(qū)域內(nèi)的點以及所述近似交點作為線段擦除的結(jié)果。線段擦除結(jié)果通過點遍歷的方式進行計算,計算量較小,原線段與橡皮擦的近似交點通過插點的方式獲取,計算結(jié)果的精確度可通過插入點的個數(shù)進行控制,可在精確度誤差可接受的范圍內(nèi),顯著提高線段擦除結(jié)果的運算效率。

附圖說明

圖1是本發(fā)明提供的線段擦除方法的一個實施例的方法流程圖;

圖2是本發(fā)明提供的線段擦除裝置的一個實施例的裝置結(jié)構(gòu)圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

參見圖1,是本發(fā)明提供的線段擦除方法的一個實施例的結(jié)構(gòu)圖。

如圖1所示,所述線段擦除方法包括以下步驟:

S1,對構(gòu)成原線段的各個點進行遍歷,判斷各個點是否在橡皮擦區(qū)域內(nèi),對不在所述橡皮擦區(qū)域內(nèi)的點進行記錄;

本發(fā)明主要用于計算與橡皮擦部分相交的線段擦除后結(jié)果,系統(tǒng)中應(yīng)當(dāng)存在一條線段(即所述原線段)和與之相交的橡皮擦。因此在算法開始前,可通過將線段構(gòu)成的矩形與橡皮擦構(gòu)成的矩形進行運算,排除掉與橡皮擦區(qū)域完全不相交的線段,和完全在橡皮擦區(qū)域內(nèi)的線段。

計算機中的一條線段是由很多個點構(gòu)成的,線段與橡皮擦區(qū)域的關(guān)系可通過構(gòu)成線段的點與橡皮擦區(qū)域的關(guān)系來表征,通過遍歷原線段上的各個點,判斷其與橡皮擦區(qū)域的關(guān)系,可快速找到哪些點未被橡皮擦擦除。其中,本發(fā)明所述線段是指線上兩點間的有限部分,優(yōu)選為貝塞爾曲線。

S2,獲取分別位于所述橡皮擦區(qū)域外和位于所述橡皮擦區(qū)域內(nèi)的相鄰兩點,通過在所述相鄰兩點之間插點的方式,從所述相鄰兩點之間獲取所述原線段和所述橡皮擦區(qū)域的近似交點;

具體地,所述步驟S2包括:

S21,獲取所述原線段上的相鄰兩點;其中,所述相鄰兩點中的一個點位于所述橡皮擦區(qū)域外,另一個點位于所述橡皮擦區(qū)域內(nèi);

位于橡皮擦內(nèi)外并且相鄰的兩個點為原線段與橡皮擦的交點所在的粗略位置,因此步驟S2中所述相鄰兩點一般有一組或者兩組。在具體實施當(dāng)中,遍歷的順序一般按照原線段的軌跡方向進行,通過判斷各點與橡皮擦區(qū)域的關(guān)系,可輕易地獲取分別位于橡皮擦內(nèi)外且相鄰的兩個點。

S22,在所述相鄰兩點之間等間距地插入N個點;其中,N≥1;

S23,從所述相鄰兩點以及所述N個點中查找與橡皮擦邊沿最接近的點,將該點作為所述原線段與所述橡皮擦區(qū)域的近似交點并對該點進行記錄。

插入點的個數(shù)越多,近似交點的計算結(jié)果越接近精確結(jié)果,所述N優(yōu)選為19。在具體實施當(dāng)中,可通過簡單遍歷或者二分查找等算法從上述點中查找與橡皮擦邊沿最接近的點,如可沿由橡皮擦外指向橡皮擦內(nèi)的方向進行遍歷,將獲取的第一個在橡皮擦區(qū)域內(nèi)的點(或者最后一個在橡皮擦區(qū)域外的點)作為原線段與橡皮擦的近似交點。

S3,對記錄的不在所述橡皮擦區(qū)域內(nèi)的點以及所述近似交點進行顯示,作為線段擦除的結(jié)果。

本發(fā)明通過插點的方式,獲取原線段與橡皮擦的近似交點,計算結(jié)果的精確度可通過插入點的個數(shù)進行控制,計算量較小,可在精確度誤差可接受的范圍內(nèi),顯著提高線段擦除結(jié)果的運算效率。

其中,所述步驟S1包括:

判斷所述原線段的第一個點是否在橡皮擦區(qū)域內(nèi),若不在,則將所述第一個點作為線段擦除結(jié)果中的第一線段的一個端點,并將所述第一個點之后連續(xù)的不在所述橡皮擦區(qū)域內(nèi)的點添加到所述第一線段中;

若所述原線段的第一個點不在所述橡皮擦區(qū)域內(nèi),則所述步驟S2之后,還包括:

將靠近所述第一個點的所述近似交點作為所述第一線段的另一個端點。

靠近所述第一個點的所述近似交點,是指所述近似交點沿所述原線段的軌跡方向距離所述第一個點較近。而當(dāng)僅有一個近似交點時,可直接將其作為靠近所述第一個點的所述近似交點。

繼續(xù)按原線段的軌跡方向?qū)υ€段上的點進行遍歷,若所述原線段的最后一點仍在所述橡皮擦范圍內(nèi),則算法結(jié)束,將所述第一線段作為線段擦除結(jié)果。

所述步驟S1還包括:

判斷所述原線段的最后一個點是否在橡皮擦區(qū)域內(nèi),若不在,則將所述最后一個點作為線段擦除結(jié)果中的第二線段的一個端點,并將所述最后一個點之前連續(xù)的不在所述橡皮擦區(qū)域內(nèi)的點添加到所述第一線段中;

若所述原線段的最后一個點不在所述橡皮擦區(qū)域內(nèi),則所述步驟S2之后,還包括:

將靠近所述最后一個點的所述近似交點作為所述第二線段的另一個端點。

與前述類似的,靠近所述最后一個點的所述近似交點,是指所述近似交點沿所述原線段的軌跡方向距離所述最后一個點較近。而當(dāng)僅有一個近似交點時,可直接將其作為靠近所述最后一個點的所述近似交點。

在具體實施當(dāng)中,原線段與橡皮擦部分相交,若所述原線段上的第一個點和最后一個點均不在所述橡皮擦區(qū)域內(nèi),則擦除結(jié)果包括所述第一線段和所述第二線段。若所述第一個點不在所述橡皮擦區(qū)域內(nèi),而所述最后一個點在所述橡皮擦區(qū)域內(nèi),則擦除結(jié)果僅包括所述第一線段。若所述第一個點在所述橡皮擦區(qū)域內(nèi),而所述最后一個點不在所述橡皮擦區(qū)域內(nèi),則擦除結(jié)果僅包括所述第二線段。在一種優(yōu)選的實施方式當(dāng)中,可通過兩個線程分別從所述原線段的第一個點和最后一個點開始沿線段軌跡方向?qū)υ€段上的點進行順序遍歷,以分別獲取所述第一線段和所述第二線段作為線段擦除結(jié)果,提高遍歷的速度。

進一步地,為保證線段上總有一點落在橡皮擦的內(nèi)部,在所述步驟S1之前,還包括:

計算所述原線段上的相鄰點之間的距離;

若所述相鄰點之間的距離大于橡皮擦最窄處的寬度,則在所述原線段的各相鄰點之間等間距地插入Round(d/w)個點;其中,Round()為向上取整函數(shù),d為所述線段上相鄰兩點之間的距離,w為所述橡皮擦最窄處的寬度。

所述橡皮擦優(yōu)選為矩形,所述橡皮擦最窄處的寬度等于所述矩形的最窄邊的邊長,因此在具體實施當(dāng)中,應(yīng)使得相鄰兩點之間的距離不超過橡皮擦的最窄邊,即使得橡皮擦與原線段相交時,原線段上總有一點落在橡皮擦的內(nèi)部。

在具體實施當(dāng)中,可在一次遍歷中,得到橡皮擦與原線段的近似交點,過程如下:

步驟1:從原線段的第一個點(可以為原線段的任意一個端點)開始,對原線段上的點按線段軌跡方向進行順序遍歷,遍歷的當(dāng)前點記為點p;

步驟2:如果點p是原線段的第一個點,且不在矩形R(即橡皮擦,可將橡皮擦抽象為一個矩形R)內(nèi),則記錄下這一點,作為線段擦除結(jié)果中第一線段A的起點;

步驟3:接步驟2,繼續(xù)對原線段上的點進行遍歷,如果點p不在矩形R內(nèi),則將點p加入到第一線段A中;

步驟4:接步驟3,當(dāng)檢測到點p落在了矩形R內(nèi),將點p的前一點記為點f,在點p和點f之間插入N個點,使其均分為N+1等份(N≥1,插入點越多,結(jié)果越接近精確結(jié)果,優(yōu)選地N=19),遍歷點f到點p之間的點,取第一個在矩形R內(nèi)的點(或者取最后一個在矩形R外的點),作為原線段與矩形R的第一近似交點,同時也是第一線段A的終點,從而得到第一線段A;(注:這里的描述是用簡單遍歷的方式來查找近似交點,在具體實施當(dāng)中也可以使用二分查找之類的算法進行進一步的優(yōu)化)。

步驟5:接步驟4,繼續(xù)對原線段上的點進行遍歷,如果點p為原線段的最后一點,且點p仍落在矩形R內(nèi),則算法結(jié)束,線段擦除結(jié)果為第一線段A;

步驟6:接步驟4或者步驟8,繼續(xù)對原線段上的點進行遍歷,當(dāng)檢測到點p在矩形R外,將點p的前一點記為點k,在點p和點k之間插入N個點,使其均分為N+1等份,遍歷點k到點p之間的點,取最后一個在矩形R內(nèi)的點(或者取第一個在矩形R外的點),作為原線段與矩形R的第二近似交點,同時也是線段擦除結(jié)果中第二線段B的起點;

步驟7:接步驟6,繼續(xù)對原線段上的點進行遍歷,如果點p不在矩形R內(nèi),則將點p加入到第二線段B中,直到原線段的最后一點,將所述最后一點作為所述第二線段B的終點,從而得到第二線段B。

步驟8:接步驟1,如果點p是原線段的第一個點,且落在矩形R內(nèi),則算法從步驟6開始往下運行。

由此可見,本發(fā)明提供的線段擦除方法僅需對構(gòu)成原線段的點進行一次遍歷,即可獲取橡皮擦與原線段的的近似交點,得到原線段被擦除后的結(jié)果(第一線段和/或第二線段),計算量小,計算速度快,同時通過在原線段上插點的方法,近似得到的計算結(jié)果與精確結(jié)果非常相近,在精確度誤差可接受的范圍內(nèi),顯著提高了運算效率,有利于改善用戶體驗。

參見圖2,是本發(fā)明提供的線段擦除裝置的一個實施例的裝置結(jié)構(gòu)圖。本實施例的基本原理與前述方法實施一致,本實施例中未詳述之處可參見前述方法實施例中的相關(guān)描述。

如圖2所示,所述線段擦除裝置包括:

遍歷判斷模塊21,用于對構(gòu)成原線段的各個點進行遍歷,判斷各個點是否在橡皮擦區(qū)域內(nèi),對不在所述橡皮擦區(qū)域內(nèi)的點進行記錄;

近似交點獲取模塊22,用于獲取分別位于所述橡皮擦區(qū)域外和位于所述橡皮擦區(qū)域內(nèi)的相鄰兩點,通過在所述相鄰兩點之間插點的方式,從所述相鄰兩點之間獲取所述原線段和所述橡皮擦區(qū)域的近似交點;

結(jié)果顯示模塊23,用于對記錄的不在所述橡皮擦區(qū)域內(nèi)的點以及所述近似交點進行顯示,作為線段擦除的結(jié)果。

其中,所述近似交點獲取模塊22包括:

交點粗定位單元221,用于獲取所述原線段上的相鄰兩點;其中,所述相鄰兩點中的一個點位于所述橡皮擦區(qū)域外,另一個點位于所述橡皮擦區(qū)域內(nèi);

點插入單元222,用于在所述相鄰兩點之間等間距地插入N個點;其中,N≥1;

近似交點查找單元223,用于從所述相鄰兩點以及所述N個點中查找與橡皮擦邊沿最接近的點,將該點作為所述原線段與所述橡皮擦區(qū)域的近似交點并對該點進行記錄。

圖2中雖未畫出,但在具體實施當(dāng)中,所述裝置還可以進一步包括:

間距計算模塊,用于計算所述原線段上的相鄰點之間的距離;

點插入模塊,用于若所述相鄰點之間的距離大于橡皮擦最窄處的寬度,則在所述原線段的各相鄰點之間等間距地插入Round(d/w)個點;其中,Round()為向上取整函數(shù),d為所述線段上相鄰兩點之間的距離,w為所述橡皮擦最窄處的寬度。

優(yōu)選地,所述原線段為貝塞爾曲線。

綜上所述,本發(fā)明提供的線段擦除方法和裝置,通過對構(gòu)成原線段的點進行遍歷,判斷各個點是否在橡皮擦區(qū)域內(nèi),對不在所述橡皮擦區(qū)域內(nèi)的點進行記錄,并通過在分別位于所述橡皮擦區(qū)域外和位于所述橡皮擦區(qū)域內(nèi)的相鄰兩點之間插點的方式,獲取所述原線段和所述橡皮擦區(qū)域的近似交點,將記錄的不在所述橡皮擦區(qū)域內(nèi)的點以及所述近似交點作為線段擦除的結(jié)果。線段擦除結(jié)果通過點遍歷的方式進行,計算量較小,原線段與橡皮擦的近似交點通過插點的方式獲取,計算結(jié)果的精確度可通過插入點的個數(shù)進行控制,可在精確度誤差可接受的范圍內(nèi),顯著提高線段擦除結(jié)果的運算效率。

需說明的是,以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。另外,本發(fā)明提供的裝置實施例附圖中,模塊之間的連接關(guān)系表示它們之間具有通信連接,具體可以實現(xiàn)為一條或多條通信總線或信號線。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。

通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實現(xiàn),當(dāng)然也可以通過專用硬件包括專用集成電路、專用CPU、專用存儲器、專用元器件等來實現(xiàn)。一般情況下,凡由計算機程序完成的功能都可以很容易地用相應(yīng)的硬件來實現(xiàn),而且,用來實現(xiàn)同一功能的具體硬件結(jié)構(gòu)也可以是多種多樣的,例如模擬電路、數(shù)字電路或?qū)S秒娐返?。但是,對本發(fā)明而言更多情況下軟件程序?qū)崿F(xiàn)是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計算機的軟盤,U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。

以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
中阳县| 高要市| 新丰县| 雅安市| 安义县| 保靖县| 新蔡县| 吉安市| 西峡县| 石首市| 淮南市| 综艺| 铜川市| 左贡县| 平利县| 瓮安县| 新丰县| 宝鸡市| 伊吾县| 喀喇沁旗| 尼玛县| 杭锦后旗| 会理县| 隆化县| 南康市| 兰州市| 鄂尔多斯市| 五莲县| 鄂托克旗| 肇东市| 自治县| 铜山县| 同德县| 青海省| 封丘县| 盐源县| 彭山县| 昌黎县| 丰原市| 丰县| 潜山县|