999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種支持紙的折疊、剪切與展開(kāi)的計(jì)算模型

2010-07-07 06:52:38劉金義張笑伶
圖學(xué)學(xué)報(bào) 2010年4期
關(guān)鍵詞:兒童模型設(shè)計(jì)

劉金義, 張笑伶

(遼寧石油化工大學(xué)計(jì)算機(jī)與通信工程學(xué)院,遼寧 撫順 113001)

兒童剪紙是培養(yǎng)兒童動(dòng)手能力、開(kāi)發(fā)兒童空間想象力的極好手段,現(xiàn)已成為國(guó)內(nèi)許多中小學(xué)的手工活動(dòng)課程內(nèi)容。兒童剪紙的典型過(guò)程為[1]:從初始的一張正方形或長(zhǎng)方形的彩紙開(kāi)始,經(jīng)過(guò)若干次的折疊,再以一剪或多剪方式剪去紙的一部分,最后將剩余部分展開(kāi),得到各式各樣的平面形象。“剪五角星”相信是許多人都經(jīng)歷過(guò)的最經(jīng)典的兒童剪紙過(guò)程。本文所關(guān)心的問(wèn)題是,一張紙經(jīng)過(guò)多次折疊和剪切,展開(kāi)后所得的形狀是什么?這個(gè)問(wèn)題是開(kāi)發(fā)一個(gè)計(jì)算機(jī)輔助兒童剪紙方案設(shè)計(jì)系統(tǒng)必須解決的問(wèn)題。

與本文關(guān)心的問(wèn)題相近的一個(gè)領(lǐng)域是兒童折紙(origami)的設(shè)計(jì)。該領(lǐng)域?qū)埖牟僮髦挥姓郫B并且允許一些非簡(jiǎn)單的復(fù)雜折疊。關(guān)于計(jì)算機(jī)輔助折紙?jiān)O(shè)計(jì),已有許多相關(guān)的研究,例如,如何在數(shù)學(xué)和算法上描述折紙和定義折疊過(guò)程[2-3],給定一張紙的折痕如何判斷它是否對(duì)應(yīng)一個(gè)合法的折紙作品[4],特別是 Kishi等開(kāi)發(fā)了一個(gè)可以交互進(jìn)行折疊操作并進(jìn)行動(dòng)態(tài)演示的網(wǎng)站[5]。與本文關(guān)心的問(wèn)題相近的另一個(gè)領(lǐng)域是中國(guó)傳統(tǒng)民間剪紙的設(shè)計(jì)。該領(lǐng)域?qū)埖牟僮髦挥屑羟校▽?shí)際上叫“刻”操作更合適,因?yàn)樗试S生成孔洞),所以一般都把民間剪紙?jiān)O(shè)計(jì)看成是一個(gè)平面設(shè)計(jì)問(wèn)題,研究的重點(diǎn)放在如何生成典型的紋樣方面,而不關(guān)心它們是如何剪出的[6-7]。

為了開(kāi)發(fā)一個(gè)既能進(jìn)行兒童剪紙方案設(shè)計(jì)又能向兒童演示典型折剪過(guò)程的程序,作者設(shè)計(jì)了一個(gè)能夠支持折疊、剪切和展開(kāi)操作的計(jì)算模型,設(shè)計(jì)了模型的具體數(shù)據(jù)結(jié)構(gòu)以及相關(guān)功能的實(shí)現(xiàn)算法,并且按照該模型開(kāi)發(fā)了初步的原型軟件Virtual Paper。本文的第1節(jié)將給出相關(guān)的約定與術(shù)語(yǔ),第2節(jié)將介紹這個(gè)模型的具體數(shù)據(jù)結(jié)構(gòu),第3節(jié)將介紹在這個(gè)模型中相關(guān)功能的實(shí)現(xiàn)算法,第4節(jié)給出由Virtual Paper生成的一個(gè)折剪實(shí)例。

1 基本約定與術(shù)語(yǔ)

為了建模的需要,計(jì)算機(jī)對(duì)虛擬紙張的操作與人對(duì)真實(shí)紙張的操作應(yīng)該有所不同,為此需對(duì)虛擬紙張和其上的操作做出約定并且給出相關(guān)術(shù)語(yǔ)。這些約定與術(shù)語(yǔ)大部分與前人文獻(xiàn)相同[2-4]。

首先,參與折剪的虛擬紙是沒(méi)有厚度的平面多邊形,分為正面與反面,兩面的顏色可以不同。在折疊過(guò)程中,折出的頁(yè)片(facet)也看作平面多邊形,它們的面積總和與初始紙張的面積相等,即不考慮由于折痕造成的面積損失。

對(duì)于折疊操作,目前只考慮簡(jiǎn)單折疊(simple fold),即一次折疊只能沿著一條直線(xiàn)進(jìn)行。把這條直線(xiàn)叫做折疊線(xiàn)(folding line),它把相關(guān)頁(yè)片分成2個(gè)頁(yè)片,使得其中一個(gè)繞著折疊線(xiàn)向上或向下旋轉(zhuǎn)180°。如果是向上折疊,則相對(duì)于原頁(yè)片的上面產(chǎn)生一條溝谷折痕(valley crease);否則,產(chǎn)生一個(gè)山峰折痕(mountain crease)。約定折出的頁(yè)片相互貼合在一起,之間距離為0。

把初始紙張經(jīng)過(guò)折疊、剪切和展開(kāi)能夠達(dá)到的狀態(tài)叫做一個(gè)紙態(tài)(paper state)。值得注意的是簡(jiǎn)單折疊所能達(dá)到的紙態(tài)是受限制的,圖1給出的紙態(tài)就不能通過(guò)簡(jiǎn)單折疊獲得。但是大部分兒童剪紙都采用簡(jiǎn)單折疊。

對(duì)于剪切操作,約定它是剪刀的“剪”而不是“裁”或“刻”,剪切軌跡只能是一條開(kāi)曲線(xiàn)。剪切后,頁(yè)片之間可以是一體的也可以是分離的。約定折疊操作和剪切操作可以任意組合,但是對(duì)于展開(kāi)操作,一旦展開(kāi)后,就不再進(jìn)行折疊和剪切。

圖1 不能通過(guò)簡(jiǎn)單折疊獲得的紙態(tài)

2 數(shù)據(jù)結(jié)構(gòu)

2.1 設(shè)計(jì)目標(biāo)

數(shù)據(jù)結(jié)構(gòu)是一個(gè)人機(jī)交互系統(tǒng)的計(jì)算模型的核心。它的設(shè)計(jì)目標(biāo)就是要滿(mǎn)足兒童剪紙方案的交互設(shè)計(jì)以及經(jīng)典折剪方案演示的需要。具體地說(shuō),必須能夠支撐下面基本功能:

(1)每當(dāng)一個(gè)操作完成后,可以立即顯示出當(dāng)前紙態(tài)的真實(shí)效果圖。這個(gè)效果圖可以是二維的,但是應(yīng)該消除隱藏線(xiàn)。

(2)根據(jù)需要,可以以動(dòng)畫(huà)形式展示操作過(guò)程。

(3)在紙張展開(kāi)后,仍然保留折痕痕跡,且區(qū)分山峰折痕和溝谷折痕,以便用戶(hù)詳細(xì)考察折疊機(jī)理。

(4)整個(gè)折剪方案可以被記錄下來(lái),存儲(chǔ)成文件,以滿(mǎn)足批處理演示的需要。

2.2 問(wèn)題分析

這里需要進(jìn)一步澄清折疊、剪切和展開(kāi)3種操作,然后導(dǎo)出哪些信息是計(jì)算模型所必需的。

首先考察初始紙態(tài)經(jīng)過(guò)m次折疊、n次剪切的任意組合到達(dá)某紙態(tài)的過(guò)程,圖2給出了這個(gè)過(guò)程的一個(gè)例子。在圖中,對(duì)于任意0≤i≤m及0≤j≤n,Si,j表示初始紙態(tài)經(jīng)過(guò)i次折疊和j次剪切所獲得的紙態(tài),其中S0,0是初始紙態(tài)。紙態(tài)的變化是通過(guò)如下折疊變換與剪切變換完成的

觀(guān)察 1 給定當(dāng)前紙態(tài) Si,j的合理表示及折疊變換Fi+1的完整描述,則下一紙態(tài)Si+1,j是可計(jì)算的;給定當(dāng)前紙態(tài)Si,j的合理表示及剪切變換Ci+1的完整描述,則下一紙態(tài)Si,j+1是可計(jì)算的。

再考察展開(kāi)過(guò)程,仍然參見(jiàn)圖2的例子。展開(kāi)變換可以看成折疊的逆變換

其中 S'i,j為與Si,j對(duì)應(yīng)的紙態(tài),S'm,n=Sm,n,S'0,0是最終所要的平面紙態(tài)。

圖2 一個(gè)具有4次折疊和2次剪切的組合及其展開(kāi)

觀(guān)察2 如果從Si,j到Sm,n的過(guò)程中沒(méi)有剪切操作,即 j=n,那么除了保留一些折痕外,S'i,j與Si,j的形狀相同。

觀(guān)察3 對(duì)于任意k≥0,如果給定當(dāng)前紙態(tài)S'i+1,j+k的合理表示及折疊變換Fi+1的完整描述,那么S'i+1,j+k展開(kāi)后的下一紙態(tài)S'i,j是可計(jì)算的,而與Si,j到Si+1,j+k之間的k個(gè)剪切變換無(wú)關(guān)。

根據(jù)前面的分析,模型中保存一份當(dāng)前的紙態(tài)Si,j或S'i,j是必需的。為了實(shí)現(xiàn)展開(kāi)變換,還需要順序記錄全部的折疊變換F1~Fm。但是為了能夠把完整的折剪方案存儲(chǔ)成文件,剪切變換C1~Cn也需要被順序記錄。

總之,為了目標(biāo)要求,計(jì)算模型的數(shù)據(jù)結(jié)構(gòu)應(yīng)由2部分組成:一是當(dāng)前紙態(tài)的表示,二是全部折剪操作及其順序的保存。這2部分不是孤立的,只有互相聯(lián)系在一起才能實(shí)現(xiàn)展開(kāi)功能。

2.3 紙態(tài)的表示

紙態(tài)是一個(gè)特殊的幾何實(shí)體,是頁(yè)片以及它們之間拓?fù)溧徑雨P(guān)系的集合。一個(gè)頁(yè)片的幾何形態(tài)就是一個(gè)多邊形,如果單純從描述的角度,把它表示為頂點(diǎn)的列表即可,但是考慮到頁(yè)片在折疊和剪切的過(guò)程中是動(dòng)態(tài)的,所以參照實(shí)體幾何模型的半邊表示法[8],增加了半邊節(jié)點(diǎn)(即有向線(xiàn)段)。這樣一個(gè)頁(yè)片就表示為一系列首尾相接的半邊。這里與二維流形體的半邊數(shù)據(jù)結(jié)構(gòu)有所不同是沒(méi)有Edge節(jié)點(diǎn),但是增加了一個(gè)與其相近的Crease節(jié)點(diǎn)。一個(gè)Crease也由2條半邊構(gòu)成,但是只有折疊形成的半邊才有對(duì)應(yīng)的 Crease。Crease節(jié)點(diǎn)的加入可以方便折疊與展開(kāi)的實(shí)現(xiàn)以及折痕的顯示。

struct Vertex

{

int vertexID; //頂點(diǎn)標(biāo)號(hào)

float coord[3]; //z坐標(biāo)是為了三維夸張顯示的需要

};

struct HalfEdge

{

HalfEdge *prv, *nxt; // 前驅(qū)與后繼半邊

Facet *ownerf; //所屬的頁(yè)片

Vertex *startv; //起始頂點(diǎn)

Crease *crease; //所對(duì)應(yīng)的折痕,可以是NULL

};

struct Crease

{

HalfEdge *he1, *he2; //對(duì)應(yīng)的2條半邊

char mv; //折痕的屬性(相對(duì)于he1與he2所屬頁(yè)片的正面):

//山峰為1,溝谷為-1

};

struct Facet

{

int faceID; //頁(yè)片的標(biāo)號(hào)

int layer; //頁(yè)片的層次優(yōu)先級(jí)

char direct; //頁(yè)片的方向:正面朝上為1,否則為-1

HalfEdge *he; //頁(yè)片的任一半邊

};

list facets;

list creases;

一個(gè)幾何模型中最重要的內(nèi)容是拓?fù)潢P(guān)系的表示,但是嚴(yán)格地表示紙態(tài)中頁(yè)片之間的重疊與鄰接關(guān)系是非常困難的。幸運(yùn)的是,本文目前關(guān)心的紙態(tài)中的頁(yè)片都是通過(guò)簡(jiǎn)單折疊產(chǎn)生的,所以可以根據(jù)折疊順序?yàn)槊總€(gè)頁(yè)片賦予一個(gè)唯一的層次優(yōu)先級(jí)(展開(kāi)后可以存在優(yōu)先級(jí)相同的頁(yè)片),以整數(shù)形式存儲(chǔ)在Facet節(jié)點(diǎn)中。

例1 圖3中的紙態(tài)由3個(gè)頁(yè)片、12條半邊、8個(gè)頂點(diǎn)和2條折痕構(gòu)成。頁(yè)片f1的層次優(yōu)先級(jí)為0。頁(yè)片f2與f3盡管互不重疊,但它們的優(yōu)先級(jí)是不同的,取決于折疊順序。如果先疊出f2后疊出f3,則f2的優(yōu)先級(jí)為1,f3的優(yōu)先級(jí)為2。

圖3 一個(gè)紙態(tài)

2.4 折剪過(guò)程的記錄

全部折疊和剪切操作最適合被順序地記錄在一個(gè)棧中,棧的每一項(xiàng)對(duì)應(yīng)一次操作。為了將來(lái)能夠順利實(shí)現(xiàn)展開(kāi)功能,如果一個(gè)操作是折疊,那么在節(jié)點(diǎn)中需記錄哪些新產(chǎn)生的頁(yè)片被旋轉(zhuǎn)。下面代碼中的列表 rot_facets就是為了完成此目的。值得注意的是,一個(gè)折疊操作的rot_facets內(nèi)容是動(dòng)態(tài)的。如果以后的折疊操作將前面 rot_facets的某個(gè)頁(yè)片分割,就應(yīng)該用分割出的2個(gè)頁(yè)片替代該頁(yè)片。如若不然,在展開(kāi)時(shí)一定會(huì)少恢復(fù)一些頁(yè)片。

struct Operation

{

char op_type; //操作類(lèi)型:折疊為0,剪切為1

union {

list cut_path; //剪切軌跡

struct Fold{

float fold_line[3]; //折疊線(xiàn)的方程

char fold_mode; //向上還是向下折疊

list rot_facets; //折疊中被旋轉(zhuǎn)的頁(yè)片

} fold;

};

};

stack operations;

3 實(shí)現(xiàn)相關(guān)功能的算法

這里給出一般情況下相關(guān)功能的算法步驟,由于篇幅限制,不對(duì)退化情況進(jìn)行詳細(xì)討論。

3.1 折疊操作

給定折疊線(xiàn)的描述并且指定參加折疊的頁(yè)片,折疊操作可以通過(guò)如下4步實(shí)現(xiàn):

Step 1 對(duì)于每個(gè)將被折疊的頁(yè)片,計(jì)算它們與折疊線(xiàn)的交點(diǎn),通過(guò)增加頂點(diǎn)和半邊,把交點(diǎn)變成頁(yè)片的頂點(diǎn)。

Step 2 用折痕及其對(duì)應(yīng)的半邊連接交點(diǎn),把每個(gè)頁(yè)片分割為 2個(gè)或多個(gè)頁(yè)片。(如果被折疊的頁(yè)片是凹的,可能產(chǎn)生多個(gè)頁(yè)片。)

Step 3 按照事先約定的原則,將折疊線(xiàn)某側(cè)的頁(yè)片做旋轉(zhuǎn),計(jì)算旋轉(zhuǎn)后的頂點(diǎn)坐標(biāo),更改頁(yè)片的方向?qū)傩浴?/p>

Step 4 更新頁(yè)片的層次優(yōu)先級(jí)。更新的原則是:如果是向上折疊,則把參與旋轉(zhuǎn)的頁(yè)片的當(dāng)前優(yōu)先級(jí)顛倒,然后把它們放在最高層次;如果是向下折疊,則也把參與旋轉(zhuǎn)的頁(yè)片的當(dāng)前優(yōu)先級(jí)顛倒,然后把它們放在最低層次。

Step 5 遍歷前面已記錄的每個(gè)折疊操作,查找它所旋轉(zhuǎn)的頁(yè)片是否包含當(dāng)前被分割的頁(yè)片,如果包含,則將分割后的頁(yè)片替換分割前的頁(yè)片。

3.2 剪切操作

給定剪切路徑的描述,剪切操作可以由如下3步實(shí)現(xiàn):

Step 1 按照事先約定的原則,把用戶(hù)輸入的剪切軌跡的外側(cè)做成一個(gè)足夠大的多邊形PCUT。

Step 2 對(duì)于當(dāng)前紙態(tài)中的每個(gè)頁(yè)片,做該頁(yè)片與多邊形PCUT的布爾減運(yùn)算。

Step 3 對(duì)于當(dāng)前紙態(tài)中的每條折痕,把它作為一條線(xiàn)段減去多邊形PCUT,如果該折痕沒(méi)有被全部減掉,則合成剩余折痕的半邊。合成的方法是根據(jù)坐標(biāo)匹配原則,即如果某剩余折痕的2個(gè)端點(diǎn)與該折痕兩側(cè)頁(yè)片的某2個(gè)半邊的坐標(biāo)相同,則將該折痕與這2條半邊關(guān)聯(lián)在一起。

3.3 展開(kāi)操作

盡管通常僅需要最終的展開(kāi)紙態(tài),但它必須是逐步獲得的。在當(dāng)前紙態(tài)的基礎(chǔ)上進(jìn)行一次展開(kāi),可以通過(guò)下述步驟完成:

Step 1 從折剪操作棧中彈出一個(gè)操作,如果操作為空(到達(dá)棧底),則結(jié)束;否則如果該操作是折疊操作,則轉(zhuǎn)到Step 2;如果該操作是剪切操作,則繼續(xù)Step 1。

Step 2 把 rot_facets中記錄的頁(yè)片做反向180°旋轉(zhuǎn),計(jì)算旋轉(zhuǎn)后的頂點(diǎn)坐標(biāo),更改頁(yè)片的方向?qū)傩浴?/p>

Step 3 重新設(shè)置參與旋轉(zhuǎn)頁(yè)片的層次優(yōu)先級(jí)。

3.4 顯示算法

因?yàn)橛涗浟隧?yè)片的層次優(yōu)先級(jí),所以對(duì)紙態(tài)進(jìn)行二維真實(shí)感顯示變得非常簡(jiǎn)單,畫(huà)家算法即可完成此工作:首先對(duì)全部頁(yè)片按照層次優(yōu)先級(jí)由小到大的順序進(jìn)行排序,然后順序以實(shí)心填充的形式畫(huà)出每個(gè)頁(yè)片內(nèi)部,以不同的線(xiàn)型或顏色畫(huà)出它的邊界線(xiàn)和折痕線(xiàn)。

4 應(yīng)用實(shí)例

按照本文給出的計(jì)算模型,以Visual C++ 6.0為開(kāi)發(fā)工具,實(shí)現(xiàn)了一個(gè)即可以進(jìn)行兒童剪紙方案設(shè)計(jì)又可以展示已有折剪方案的原型軟件,命名為Virtual Paper。目前該軟件還是一個(gè)純二維的,沒(méi)有提供操作的動(dòng)態(tài)演示功能。在折疊操作的人機(jī)交互方面,用戶(hù)除了可以任意設(shè)計(jì)折疊線(xiàn)外,還可以采用“沿對(duì)角線(xiàn)折”、“二等分對(duì)邊折”、“二等分角折”等非常常用的經(jīng)典折疊命令。圖4給出了在該軟件內(nèi)進(jìn)行折剪窗花的過(guò)程。注意在展開(kāi)圖中區(qū)分了2種不同類(lèi)型的折痕。

圖4 折剪一個(gè)窗花的過(guò)程截圖

5 結(jié) 論

與前人給出折紙計(jì)算模型相比[2-3,5],本文給出的計(jì)算模型綜合考慮了折疊、剪切和展開(kāi)的計(jì)算,并且詳細(xì)考慮了折痕的生成與表示。所開(kāi)發(fā)的原型軟件Virtual Paper驗(yàn)證了這個(gè)模型的可行性。

本文所提出的模型雖然是為計(jì)算機(jī)輔助兒童折紙和剪紙?jiān)O(shè)計(jì)而設(shè)計(jì)的,但是它也可以應(yīng)用在其他方面,如服裝的裁剪方案設(shè)計(jì)。

進(jìn)一步工作應(yīng)重點(diǎn)放在如下2方面:一是進(jìn)一步擴(kuò)展該模型,使得它能夠兼容非簡(jiǎn)單折疊;二是進(jìn)一步完善Virtual Paper軟件,使得它能夠在三維空間以夸張的形式顯示當(dāng)前紙態(tài)并且能夠以動(dòng)畫(huà)形式演示各種操作。

[1]禾 稼. 彩版兒童剪紙大全[M]. 長(zhǎng)春: 吉林美術(shù)出版社, 2007. 1-342.

[2]Lang R J. A computational algorithm for origami design [C]//Proceedings of the 12th Annual ACM Symposium on Computational Geometry, Philadelphia,1996: 98-105.

[3]Ida T, Takahashi H, et al. Computational origami system Eos [C]//Proceedings of the 4th International Conference on Origami, Science, and Mathematics and Education, Pasadena, 2006: 69-73.

[4]Bern M, Hayes B. The complexity of flat origami [C]//Proceedings of the 7th Annual ACM-SIAM Symposium on Discrete Algorithms,Atlanta, 1996: 175-183.

[5]Kishi N, Fujji Y. Origami, folding paper over the web [C]//Proceedings of the 3rd Asian Pacific Conference on Computer and Human Interaction,Shonan Village Center, 1998: 337-342.

[6]Peng D, Sun S, Pan L. Research on Chinese paper-cut CAD system [C]//Proceedings of the 4th International Conference on Image and Graphics, Sichuan, 2007:892-896.

[7]張顯全, 于金輝, 蔣凌琳, 等.計(jì)算機(jī)輔助生成剪紙形象[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2005, 17(6):1378-1382.

[8]Mantyla M. An introduction to solid modeling [M].Rockville: Computer Science Press, 1988. 69-76.

猜你喜歡
兒童模型設(shè)計(jì)
一半模型
重要模型『一線(xiàn)三等角』
重尾非線(xiàn)性自回歸模型自加權(quán)M-估計(jì)的漸近分布
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專(zhuān)
Coco薇(2017年5期)2017-06-05 08:53:16
3D打印中的模型分割與打包
留守兒童
雜文選刊(2016年7期)2016-08-02 08:39:56
六一兒童
設(shè)計(jì)之味
舒適廣告(2008年9期)2008-09-22 10:02:48
主站蜘蛛池模板: 久久精品嫩草研究院| 欧美在线视频a| 亚洲欧美在线综合图区| 毛片基地视频| 国产成人精品无码一区二| 中文字幕在线不卡视频| 最新亚洲人成网站在线观看| 一级一级一片免费| 在线观看国产小视频| 91亚瑟视频| 成人国产精品视频频| 国产激爽爽爽大片在线观看| av一区二区三区在线观看| 91精品啪在线观看国产91| 国产白丝av| 国产内射一区亚洲| 亚洲精品无码AV电影在线播放| 国产精品手机视频| 国产黄色片在线看| 亚洲三级视频在线观看| 九九九精品成人免费视频7| 欧美国产精品不卡在线观看| 欧洲亚洲一区| 免费A∨中文乱码专区| 2020国产免费久久精品99| 日本黄色不卡视频| 亚洲熟女中文字幕男人总站| 日日碰狠狠添天天爽| 亚洲成人黄色网址| 97视频在线精品国自产拍| 日韩av无码精品专区| 精品国产免费观看| 在线观看亚洲精品福利片| 99精品影院| 国产系列在线| 国产在线一区视频| 亚洲va在线观看| 亚洲欧洲综合| 国产精品免费入口视频| 国产成人凹凸视频在线| 久久精品人妻中文系列| 久久精品免费看一| 天天摸天天操免费播放小视频| 操操操综合网| 熟妇无码人妻| 呦女精品网站| 国产在线精品人成导航| 国产美女免费网站| 免费国产一级 片内射老| 亚洲无码熟妇人妻AV在线| 亚洲第一视频免费在线| 在线五月婷婷| 一级黄色欧美| 国产成人精品在线| 精品国产污污免费网站| 亚洲男女天堂| A级毛片高清免费视频就| 老司机aⅴ在线精品导航| 在线观看国产精美视频| 午夜精品影院| 亚洲天堂啪啪| 欧美亚洲中文精品三区| 91视频精品| 四虎影视无码永久免费观看| 国产精品漂亮美女在线观看| 国产超薄肉色丝袜网站| 美臀人妻中出中文字幕在线| 亚洲日韩精品无码专区97| 在线观看网站国产| 在线人成精品免费视频| 国产精品第5页| 国产精品一区二区在线播放| 91国内在线视频| 亚洲成人一区二区三区| 国产97区一区二区三区无码| 日韩黄色大片免费看| 91麻豆国产精品91久久久| 午夜国产不卡在线观看视频| 精品1区2区3区| 国产杨幂丝袜av在线播放| 欧美成人免费一区在线播放| 国产原创演绎剧情有字幕的|