文档库 最新最全的文档下载
当前位置:文档库 › 裁剪衣服比例算法

裁剪衣服比例算法

裁剪衣服比例算法
裁剪衣服比例算法

在国际上,大部分先进国家的服装裁剪都是用原型法,但由于,原型在使用上不能直接裁剪,而且胸围放松量与袖笼深分两步确定,与我国传统习惯不符,因此,原型法不能全盘照搬,而且比例裁剪法在我国运用多年,也有不可抛弃的精华,对于一些传统款式,如西裙、西裤、卫衣、西装,套用公式,简单正确,并可以在布料上直接裁剪,方便快捷。因些,只有在传统的比例裁剪基础上,运用原型法的结构方法,才能将两者的优点结合,开拓一种裁剪的新路。

下面以女装基本衣片为例。

一、测量部位:

原型裁剪法的测量部位是:常见的日本文化式只需测量胸围、背长、袖长三个尺寸,领围与肩宽的确定不够准确,登丽美式测量的部位则过多,程序复杂,不利于使用。比例裁剪法的测量部位中没有背长,腰节线的确定不够科学。通过比较得出:选择领围、胸围、肩宽、背长、袖长这五个部位测量较为合适。

二、尺寸加放:

原型法裁剪的尺寸加放分两步进行,第一步先考虑人体基本合体松量加放10cm,第二步再根据款式继续加放。比例裁剪法习惯胸围净尺寸,直接裁剪,更为方便。通过比较得出:将胸围净尺寸,加放后得到成品尺寸,再进行制图。具体可参考如下:无吊带上装,胸围加放为0;紧身衬衣为4.8cm;普通衬衣为8-10cm;宽松衬衣12-20cm;西装8-10cm;大衣为15- 20cm。制图方法:

1、衣片:

(1)、胸围是成品尺寸。

(2)、领口:

领围的框架有两种方法确定,一种用胸围计算,一种用颈围计算,后者适合做立领卫衣和旗袍领,更为科学。因此,选用1/5领围计算。

(3)、肩斜:

肩斜量可以用定量法、公式法或角度法确定,三者的结果相差甚微,而采用定量法可省去计算的麻烦。故采用定量法确定肩斜:普通衬衣前肩斜5cm,后肩斜4.5cm;有垫肩的外衣前肩斜4cm,后肩斜3.5cm。

(4)、肩宽:

根据从人体测量得出的总肩宽,按比例裁剪法的1/2肩宽,计算出前后衣片的肩宽。(5)、袖笼深:

袖笼深的计算有两种方法:一种计算上平线到胸围线的距离,包括肩斜量;另一种计算肩斜点到胸围线的距离,不包括肩斜量。前一种方便,后一种精确,本文采用后一种。袖笼深随款式不同而变化,夏天单衣为B/6+1;春秋上衣为B/6+3;冬季大衣为B/6+5 。(6)、胸高点:

在比例裁剪法中,确定胸高点的方法是:以胸围线和胸宽线为依据,确立相对的位置,但是,由于胸围线和胸宽线随款式而变化,所以这样并不准确。在原型裁剪法中,胸高点由乳高和乳距确定,以人体为本,既科学又准确。乳高是指从侧颈点到胸高点的距离,乳距是指左右胸高点的距离,根据体型的不同,可从下列数据中找出对应的胸高、乳距,然后确定胸高点。身高为155、160、165、170、175的分别对应乳高为23、24、25、26、27;净胸围为80、84 、88、92的分别对应乳距为17、18、19、20(cm)。

(7)、胸省:

胸省的大小通常根据人体确定:一般人的胸省量为2.5cm-3.5cm,取3cm较为合适。胸省量还可以按款式变化作出调整。胸省量与服装胸部造型的关系为:当胸省量为3cm时,胸部

造型立体感较强;当其为2cm时,立体感一般;当其为1cm时,立体感较差;当其为0时,则无立体感。胸省的位置设计在侧缝腋下处,运用省道转移,增加腰省时更加方便。

2、一片袖:

(1) 袖山高的确定有三种方法:AH/4+(2.5-3cm)、前后袖笼深的平均值-(4.5-5cm)和前袖笼深-(3.5-4.5cm),本文采用后者:前袖笼深-(3.5-4.5cm),因为它在使用时较方便。

(2) 袖肥由袖山斜线确定:前袖山斜线=前AH,后袖山斜线=后AH,按图示画出袖山弧线。由于弧线长于直线的原理,此袖山已经包含了1cm的吃势,若要增加吃势,则可以在前后袖山斜线上直接平均加放。北京工作服

3、两片袖:

(1) 以胸围线为袖山底线,袖山高=衣片袖笼弧/3+1。

(2) A点到袖山底线的距离=袖山高的1/4。

(3) 从A点作水平线,与前袖笼弧线相交于F点;在袖山高的1/3处,作水平线与后袖笼弧线相交于J点。

(4) 线段AB=弧线FG+1,线段BC=弧线HJ,直线段ED=弧线EJ。

(5)从胸围线向上0.8-2cm作水平线,与袖笼弧线相交,可以调节前袖偏量"○"。

(6) 衣片腰线即为袖肘线。

这样画出的袖山弧线比衣片袖笼刚好有2.5-3cm的吃势。

上述基本外形确定以后,既可以直接裁剪,成为一件式样简单的外衣,也可以运用省道转移、分割变化,随心所欲地进行款式设计。在教学中相应作以下处理:

(1)、将服装结构制图的教学分成四大类型:裤装、裙装、男上装、女上装。

(2)、在裤装与裙装的教学中,先用比例裁剪法,分别讲述普通西裤、西裙的结构制图,再用西裤和西裙作为原型,讲述裤装和裙装的款式结构变化,包括长度变化、腰线变化与外形变化等。

(3)、在女上装的教学中,先用上面介绍的方法讲述基本衣片的结构,再以此基本衣片为原型,分类讲述省道转移和分割线、外形、领子、袖子等变化。

(4)、在男上装的教学中,先用比例裁剪法讲述男卫衣与男西装,再以男卫衣为原型讲述男上装四开身的款式结构变化,以男西装为原型讲述男上装三开身的变化。

这种教学方法,使学生既掌握传统西裤、西裙、男卫衣、男西装、女上装基本衣片的比例裁剪法,在款式不变时能直接裁剪,款式变化时又能以此为原型进行相应结构改变。实践证明,比例法与原型法的有机结合,在教学上能够使课堂内容紧凑丰富,用基本款式为原型讲述结构变化时,相同部位的不同变化清晰明了,学生易学易用,有较强的实用性,值得推广。

直线段的裁剪

实验:直线段的裁剪 姓名:龙泽学号:20141090068 指导教师:吴昊 实验内容:采用Liang-Barsky算法对直线段进行裁剪。 实验设计:本次实验采用的是Liang-Barsky算法,根据这个算法需先定义直线段的起点坐标(x1,y1),终点坐标(x2,y2),以及裁剪框(矩形)的左边界(wxl),右边界(wxr),上边界(wyt),下边界(wyb),如void Line_Clipping(float x1, float y1, float x2, float y2,float Wxl,float Wxr,float Wyt,float Wyb),再结合鼠标mouse函数,实现点击鼠标左键显示矩形框和待裁剪的直线段,点击鼠标右键进行裁剪并显示裁剪过后的直线段,最终显示出来。 由于在Line_Clipping函数下用到了line函数,所以我在上面定义了个line 函数来绘制直线段(绘制直线段所采用的算法为Bresenham算法)。 程序代码: #include #include //初始化OpenGL场景 void myinit (void) { glClearColor (1, 1,1, 0); //将背景置成白色 glMatrixMode(GL_PROJECTION); gluOrtho2D(0,500,0,500); //设置投影变换,使用正交投影 } void setPixel(int x, int y)//在指定位置(x,y)绘制点图元 { glBegin (GL_POINTS);

glVertex2i(x,y);//绘制点的坐标 glEnd ( ); } // 绘制直线的方法 void line (int x1,int y1,int x2,int y2)//输入线段的两个端点坐标和画线颜色 { int x,y,dx,dy,s1,s2,p,temp,interchange,i; x=x1; y=y1;//设置象素坐标初值 dx=abs(x2-x1); dy=abs(y2-y1);//分别计算之间的差值 if(x2>x1) s1=1; else s1=-1; if(y2>y1) s2=1; else s2=-1; //判断起点和终点的位置,以确定是该加一个单位还是该减一个单位 if(dy>dx)//y方向增长快,将总步数设为y2-y1,每一步的y值为:y=y+1 { temp=dx;

计算机图形学裁剪算法详解

裁剪算法详解 在使用计算机处理图形信息时,计算机部存储的图形往往比较大,而屏幕显示的只是图的一部分。因此需要确定图形中哪些部分落在显示区之,哪些落在显示区之外,以便只显示落在显示区的那部分图形。这个选择过程称为裁剪。最简单的裁剪方法是把各种图形扫描转换为点之后,再判断各点是否在窗。但那样太费时,一般不可取。这是因为有些图形组成部分全部在窗口外,可以完全排除,不必进行扫描转换。所以一般采用先裁剪再扫描转换的方法。 (a)裁剪前 (b) 裁剪后 图1.1 多边形裁剪 1直线段裁剪 直线段裁剪算法比较简单,但非常重要,是复杂图元裁剪的基础。因为复杂的曲线可以通过折线段来近似,从而裁剪问题也可以化为直线段的裁剪问题。常

用的线段裁剪方法有三种:Cohen-Sutherland,中点分割算法和梁友栋-barskey 算法。 1.1 Cohen-Sutherland裁剪 该算法的思想是:对于每条线段P1P2分为三种情况处理。(1)若P1P2完全在窗口,则显示该线段P1P2简称“取”之。(2)若P1P2明显在窗口外,则丢弃该线段,简称“弃”之。(3)若线段既不满足“取”的条件,也不满足“弃”的条件,则在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。 为使计算机能够快速判断一条直线段与窗口属何种关系,采用如下编码方法。延长窗口的边,将二维平面分成九个区域。每个区域赋予4位编码CtCbCrCl.其中各位编码的定义如下:

图1.2 多边形裁剪区域编码图5.3线段裁剪 裁剪一条线段时,先求出P1P2所在的区号code1,code2。若code1=0,且code2=0,则线段P1P2在窗口,应取之。若按位与运算code1&code2≠0,则说明两个端点同在窗口的上方、下方、左方或右方。可判断线段完全在窗口外,可弃之。否则,按第三种情况处理。求出线段与窗口某边的交点,在交点处把线段一分为二,其中必有一段在窗口外,可弃之。在对另一段重复上述处理。在实现本算法时,不必把线段与每条窗口边界依次求交,只要按顺序检测到端点的编码不为0,才把线段与对应的窗口边界求交。 Cohen-Sutherland裁减算法 #define LEFT 1 #define RIGHT 2 #define BOTTOM 4

服装尺寸计算公式及裁剪公式z

服装尺寸计算公式及裁剪公式 2011-07-27 14:39 孩子的身高仍然可以通过计算选择合体的童装。 6rlM\k@! bE jQMlb 一般情况下: =7S\-{ !F2JT@6 大童:XL:58-60CM ir_X65l/2 B"t4{1/ 中童:XL:50CM ph3dm\U. n ,@ ge 中小童:XL:45CM g{hbq[>X] qIO)<5\[%d

小童:XL:35CM h0l_9uI 儿童短裤长约等于体高的30%; & 5'cN Fl\kt.G 儿童衬衫长约等于体高的50%: yp pZ@ U.ew6`'Te 儿童长裤约等于体高的75%; 1Nz#,IdQ h 3p~\%^ 儿童茄克衫约等于体高的49%; c}2"X, prGp/"E 儿童西装长约等于体高的53%; :|= Xh"l" -)e(Qt#ewl 儿童长大衣约等于体高的70%; # tU@\H5kN `yM9XjEl> 女童连衣裙约等于体高的78%。 "g1Fg.o J^mm"2

例如,身高为100厘米的女童,体高为100厘米的80%,约80厘米。如果选购一件连衣裙,衣长为80厘米的70%即56厘米长。如果选购一件衬衫,衣长为80厘米的50%即40厘米,如果您出门在外为家中的孩子选择童装,不妨按照这个公式计算一下,为孩子选一件满意合体的服装。 V|;os 一般情况下儿童的头部占总身高的20%,体高占总身高的80%。为儿童选择服装时,通常以体高为标准。 1.袋口公式:1/10B+4cm。 如小号的胸围为90cm,袋口应为13cm左右, 大号的胸围为100cm,袋口应为14cm左右,

服 装 裁 剪 公 式

服装裁剪公式 1.袋口公式:1/10B+4cm。 如小号的胸围为90cm,袋口应为13cm左右, 大号的胸围为100cm,袋口应为14cm左右, 2.脚口尺寸:H/10+9 1.5/10H+4.5 2/10H 西裤的臀围为90cm,脚口定为18cm, 臀围在llOcm,则1/10H+9=11+9=20cm、1.5/10H+4.5=2lcm、2/10H=22cm 3.脚宽与肩宽 前胸宽、肩宽在设定公式时增裆值要同步: 例前胸宽1.5/10B+3cm,那么胸围每增加4cm,总肩宽增1.2cm 其1/2增0.6cm与前胸宽增值同步,放出的号不会变型, 前胸宽按1.8/10B计算,那么胸围每增4cm,前胸宽则增0.72cm,而肩增0.72cm 也有些太大,如果增0.6cm的话会使放出的号在一定的时候,胸宽和肩宽所构成的袖笼弧线成为一条直线。 再一个用1.5/10B计算时,刚好前胸围大和后胸围大都是按1/4B也就是2.5/10B,用9.5/10B—1.5/10B实际袖笼宽则是1/10B,前后加在一起是2/10B增值,那么一般袖肥大也就是2/10B定数,两者相互配套,板型也不会变。

2、袖笼深与袖开深 袖笼深一般按2/10B计算,也有按1.5/10B计算,若袖笼深是从上平线向下量那么实际袖笼深,则2/10B+定数-0.5/10B(肩斜)实际袖笼深是1.5/10B+定数,正好袖开深按1.5/10B计算最好,使得增裆值相符;如果按1.5/10B+定数计算笼深,而实际袖笼深是1.5/10B+定数—0.5/10B则实际袖笼深是B/10+定数计算,袖开深也得按B/10+定数才行(定数取值不可能是相同的)如果采用净袖笼深计算,那么袖笼深使用什么样的公式,袖开深也必须按此比例推算,这样增裆值才会配套。 3.袖山深计算法 一、比例计算法: 比例计算法是用成品胸围尺寸的比例数加上一个调解尺寸。如:胸围的1/10加7cm。比例计算常见的公式为:胸围的1/10+5、6、7、8cm都能见到。这种方法计算速度快。但不能满足高质量板型的要求。 二、实际测量计算法: 用曲线尺把袖窿线按制成的效果连接后。找到ST点。ST点至B线的距离加1cm等于袖山深。这种方法袖山深合理。适合于高档西服制板的应用。 三、圆周率计算法: A点至B点等于袖窿宽13.5cm。 S点经C点至T点一圈是54cm即AH。测量时注意把肩缝做缝去掉。 计算公式袖笼宽+(AH-袖笼宽×3.14)÷2即:13.5cm+(54-13.5×3.14)÷2等于19.3cm

裁剪衣服比例算法

在国际上,大部分先进国家的服装裁剪都是用原型法,但由于,原型在使用上不能直接裁剪,而且胸围放松量与袖笼深分两步确定,与我国传统习惯不符,因此,原型法不能全盘照搬,而且比例裁剪法在我国运用多年,也有不可抛弃的精华,对于一些传统款式,如西裙、西裤、卫衣、西装,套用公式,简单正确,并可以在布料上直接裁剪,方便快捷。因些,只有在传统的比例裁剪基础上,运用原型法的结构方法,才能将两者的优点结合,开拓一种裁剪的新路。 下面以女装基本衣片为例。 一、测量部位: 原型裁剪法的测量部位是:常见的日本文化式只需测量胸围、背长、袖长三个尺寸,领围与肩宽的确定不够准确,登丽美式测量的部位则过多,程序复杂,不利于使用。比例裁剪法的测量部位中没有背长,腰节线的确定不够科学。通过比较得出:选择领围、胸围、肩宽、背长、袖长这五个部位测量较为合适。 二、尺寸加放: 原型法裁剪的尺寸加放分两步进行,第一步先考虑人体基本合体松量加放10cm,第二步再根据款式继续加放。比例裁剪法习惯胸围净尺寸,直接裁剪,更为方便。通过比较得出:将胸围净尺寸,加放后得到成品尺寸,再进行制图。具体可参考如下:无吊带上装,胸围加放为0;紧身衬衣为4.8cm;普通衬衣为8-10cm;宽松衬衣12-20cm;西装8-10cm;大衣为15- 20cm。制图方法: 1、衣片: (1)、胸围是成品尺寸。 (2)、领口: 领围的框架有两种方法确定,一种用胸围计算,一种用颈围计算,后者适合做立领卫衣和旗袍领,更为科学。因此,选用1/5领围计算。 (3)、肩斜: 肩斜量可以用定量法、公式法或角度法确定,三者的结果相差甚微,而采用定量法可省去计算的麻烦。故采用定量法确定肩斜:普通衬衣前肩斜5cm,后肩斜4.5cm;有垫肩的外衣前肩斜4cm,后肩斜3.5cm。 (4)、肩宽: 根据从人体测量得出的总肩宽,按比例裁剪法的1/2肩宽,计算出前后衣片的肩宽。(5)、袖笼深: 袖笼深的计算有两种方法:一种计算上平线到胸围线的距离,包括肩斜量;另一种计算肩斜点到胸围线的距离,不包括肩斜量。前一种方便,后一种精确,本文采用后一种。袖笼深随款式不同而变化,夏天单衣为B/6+1;春秋上衣为B/6+3;冬季大衣为B/6+5 。(6)、胸高点: 在比例裁剪法中,确定胸高点的方法是:以胸围线和胸宽线为依据,确立相对的位置,但是,由于胸围线和胸宽线随款式而变化,所以这样并不准确。在原型裁剪法中,胸高点由乳高和乳距确定,以人体为本,既科学又准确。乳高是指从侧颈点到胸高点的距离,乳距是指左右胸高点的距离,根据体型的不同,可从下列数据中找出对应的胸高、乳距,然后确定胸高点。身高为155、160、165、170、175的分别对应乳高为23、24、25、26、27;净胸围为80、84 、88、92的分别对应乳距为17、18、19、20(cm)。 (7)、胸省: 胸省的大小通常根据人体确定:一般人的胸省量为2.5cm-3.5cm,取3cm较为合适。胸省量还可以按款式变化作出调整。胸省量与服装胸部造型的关系为:当胸省量为3cm时,胸部

服装比例裁剪公式的正确取值

服装比例裁剪公式的正确取值 比例裁剪最主要的是公式的取值及公式的合理性。没有一个较为标准的公式来定位,也给工业制板造成一定的难度,为了便于掌握公式的运用技巧,应从以下几个方面来分析:公式与年龄、体型的分析 在正常体型下,按年龄分为青年体、中年体、老年体。在设置公式时要根据不同年龄来设置。青年人体型差异小,围度的变化幅度也小,但因身高有一定的差异在运用公式上增档值略大一些,如袖笼深、袖开深、肩高、立裆等。中年体的体型差异较大,围度的变化幅度也较大则增裆值应小一些,而老年人围度变化大,体型差异更大,增裆值应更小些,增裆值是指一个公式用2/10的围度来计算的话,那么围度每增加lcm时深度增加0.2cm;运用1.5/10围度增加lcm时深度增加0.15cm;运用1/10围度则增加0.1cm,由些可见,青年人围度的变化幅度较小,运用2/10B+定数来计算袖笼深较为合适。而中年人变化幅度较大运用1.8/10B+定数或1.5/lOB围度+定数。老年人围度变化幅度特别大。就胸围而言胸围最小的在95cm 左右,大的在120cm左右甚至更大些,这样的变化幅度,如运用2/10B定数来计算,胸围每增加lcm袖笼深增加0.2cm;每增加2.5cm,袖笼深就增加5cm。如此计算,袖笼深的增裆速度太快,不适合老年体,因此应该运用1.5/l0B胸围+定数或运用1/10B加定数才行。一般情况下号码越少,增裆速度越快,号码越多,则适应面越广,增裆速度也慢。 公式的制定分析 目前的公式是多样的,有用定值的、有用公式的、也有用公式加定值的,这些也会给制板中的推板造成一定的弊端,因为衣片中的每一个环节都要以一定的比例来推定出来,才使得推裆出的板大号与小号成比例;在运用和寻求公式中,首先选择最小号尺寸,再来定最大号的尺寸,从中再推出差值。如小号的胸围为90cm,袋口应为13cm左右,大号的胸围为100cm,袋口应为14cm左右,即可知公式为1/10B+4cm。如裤子的脚口,若西裤的臀围为90cm,脚口定为18cm,用公式1/10+9=18cm、1.5/10H+4.5=18cm或2/10H=18cm;那么当臀围在llOcm,则1/10H+9=11+9=20cm、1.5/10H+4.5=2lcm、2/10H=92cm,从中跟据增裆值的大小选则出适合于当时流行的脚口大,也就能推断出公式。 公式配套分析 在设定公式关系到工业制板、推板最终的效果,不能随意搭配;如胸宽与肩宽、袖笼深与袖开深、袖笼宽与袖肥大,都应密切结合,否则按照一定的比例公式推出的板,结果最大的号就很难配套成功。 l、脚宽与肩宽 前胸宽、肩宽在设定公式时增裆值要同步:例前胸宽1.5/10B+3cm,那么胸围每增加4cm,总肩宽增1.2cm其1/2增0.6cm与前胸宽增值同步,放出的号不会变型,前胸宽按1.8/10B计算,那么胸围每增4cm,前胸宽则增0.72cm而肩增0.72cm也有些太大,如果增0.6cm的话会使放出的号在一定的时候,胸宽和肩宽所构成的袖笼弧线成为一条直线。再一个用1.5/10B计算时,刚好前胸围大和后胸围大都是按1/4B也就是2.5/10B,用9.5/10B—1.5/10B实际袖笼宽则是1/10B,前后加在一起是2/10B增值,那么一般袖肥大也就是2/10B 定数,两者相互配套,板型也不会变。 2、袖笼深与袖开深 袖笼深一般按2/10B计算,也有按1.5/10B计算,若袖笼深是从上平线向下量那么实际袖笼深,则2/10B+定数-0.5/10B(肩斜)实际袖笼深是1.5/10B+定数,正好袖开深按

线段裁剪算法

计算机图形学 实验报告 实验(四) 实验题目:线段裁剪算法 指导老师:吴颖斌 专业:数字媒体技术 班级: 1306班 姓名: xx(20131006xx) 2014年 11月19日

一、实验类型 验证性。 二、实验目的和要求 目的:编写线段裁剪算法程序,验证算法的正确性。 要求:编写Cohen-Sutherland直线剪裁算法程序,编译、调试,查看运行结果。 三、实验中用到的硬件设备及软件环境 Microsoft Visual C++ 6.0和PC机 四、实验主要程序代码 Cohen-Sutherland直线剪裁算法 (1)主要步骤和代码: 步骤1:创建Code_Clip工程文件; 步骤2:在主程序的程序头部定义符号常量(鼠标双击“CCode_ClipView”,添 加至 “class CCode_ClipView : public …………”之前) #define LEFT 1 #define RIGHT 2 #define BOTTOM 4 #define TOP 8 步骤3:定义成员变量和成员函数(鼠标双击“CCode_ClipView”,添加至“class CCode_ClipView : public …………”之内)) int WT; int WB; int WR; int WL; 步骤4:在构造函数中为窗口边界变量赋初值 CCode_ClipView::CCode_ClipView() { // TODO: add construction code here WL=100;WR=400;WB=100;WT=300; } 步骤5:编写成员函数程序(在“CCode_ClipView”单击鼠标右键-->Add member function……) void CCode_ClipView::encode(int x, int y, int *code) {

直线裁剪算法研究(Cohen-Sutherland算法和Liang-Barsky算法)

直线裁剪算法研究 摘要:直线裁剪是计算机图形学中的一个重要技术,在对常见的直经线裁剪的算法分析的基础上,针对Cohen-Sutherland算法和Liang-Barsky算法进行了分析研究。并对两种算法了计算直线与窗口边界的交点时,进行了有效有比较。 关键词:裁剪;算法;Cohen-Sutherland;Liang-Barsky; 1 引言 直线是图形系统中使用最多的一个基本元素。所以对于直线段的裁剪算法是被研究最深入的一类算法,目前在矩形窗口的直线裁剪算法中,出现了许多有效的算法。其中比较著名的有:Cohen-Sutherland算法、中点分割算法、Liang-Ba rsky算法、Sobkow-Pospisil-Yang算法,及Nicholl-Lee-Ncholl算法等。 2 直线裁剪的基本原理 图1所示的为直线与窗口边界之间可能出现的几种关系。可以通过检查直线的两个端点是否在窗口之内确定如何对此直线裁剪。如果一直线的两个端点均在窗口边界之内(如图1中P5到P6的直线),则此直线应保留。如果一条直线的一个端点在窗口外(如P9)另一个点在窗口内(如P10),则应从直线与边界的交点(P9)处裁剪掉边界之外的线段。如果直线的两个端点均在边界外,则可分为两种情况:一种情况是该直线全部在窗口之外;另一种情况是直线穿过两个窗口边界。图中从P3到P4的直线属于前一种情况,应全部裁剪掉;从P7到P8的直线属于后一种情况,应保留P7到P8的线段,其余部分均裁剪掉。 图1直线相对干窗口边界的栽剪 直线裁剪算法应首先确定哪些直线全部保留或全部裁剪,剩下的即为部分裁剪的直线。对于部分裁剪的直线则首先要求出这些直线与窗口边界的交点,把从交点开始在边界外的部分裁剪掉。一个复杂的画面中可能包含有几千条直线,为了提高算法效率,加快裁剪速度,应当采用计算量较小的算法求直线与窗口边界的交点。

计算机图形学 多边形裁剪与填充 计算机图形学课程设计

课程设计报告 课程名称计算机图形学 课题名称多边形裁剪与填充 专业计算机科学与技术 班级计算机0902 学号 姓名 指导教师刘长松曹燚 2012年10 月9 日

湖南工程学院 课程设计任务书 课程名称计算机图形学课题多边形裁剪与填充 专业班级计算机0902 学生姓名 学号 指导老师刘长松曹燚 审批 任务书下达日期2012年9月15 日 任务完成日期2012 年10月9 日

一、设计内容与设计要求 1.设计内容: 交互式地实现多边形的裁剪和填充。。 2.设计要求: 1)窗口功能设计。 2)实现鼠标画多边形与数据存储功能。 3)实现鼠标剪裁窗口选择功能。 4)实现多边形裁剪和填充功能。 3.算法提示: 多边形裁剪算法分析: 基本思想是一次用窗口的一条边裁剪多边形,窗口的一条边以及延长线构成裁剪线,该线把平面分成两个部分:可见一侧,不可见一侧。用一条裁剪边对多边形进行裁剪,得到一个顶点序列,作为下一条裁剪边处理过程的输入点。 对于每一条裁剪边,只是判断点在窗口的哪一测以及求线段与裁剪边的交点算法应随之改变。 多边形填充算法分析: 确定多边形所占有的最大扫描线数,得到多边形顶点的最小和最大y值(ymin 和ymax),从y=ymin 到 y=ymax, 每次用一条扫描进行填充。对一条扫描线填充的过程可分为四个步骤: a.求交b.排序c.交点配对d.区间填色。 二、进度安排 第 3 周星期一8:00——12:00 星期二8:00——12:00 星期三8:00——12:00 星期四8:00——12:00 星期五8:00——12:00 第 4 周星期一8:00——12:00 附: 课程设计报告装订顺序:封面、任务书、目录、正文、附件(A4大小的图纸及程序清单)、评分。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。 正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。 正文总字数要求在5000字以上(不含程序原代码)。

不求人教你毛衣尺寸计算好方法

不求人教你毛衣尺寸计算好方法 少人不懂毛衣尺寸的计算方法:在织毛衣时,总要问别人应该起多少针,或者凭感觉织其结果往往是织成的毛衣不是大,就是小。下面不求人来教你毛衣尺寸计算好方法。 不求人编织毛衣时一般是按针数来定尺寸的,按粗细程度大致可分为三种: 一是高粗线:编织时宽以7-8针为3.3厘米(1寸)左右,长以8-10针为3.3厘米左右, 二是中粗线,宽以9针为3.3厘米,长以10-11针为3.3厘米, 三是细线,宽以11针为3.3厘米,长以12-14针为3.3厘米。用这三种线编织花样时,一般会有1-2针的误差, 因此要根据花型的密度适当地加针或减针。所以不求人一个比较直观、准确的计算编织毛衣尺寸方法,就是试验法:用选择好的针和线先起20针,按你需要的花样编织3.3厘米后,用尺子量具体的尺寸,然后以此为标准去推算毛衣的尺寸。 不求人的具体的方法是将人的身高分为高、中、矮三个类型: 高(1.75米以上)男套衫,身宽为97厘米左右(2.9尺),身长为77 百米左右(2.3尺); 高(1.70米以上)女套衫,身宽为90 厘米(2.7尺),身长为70厘米(2.1尺); 中1.65-1.75米)男套衫,身为90厘米(2.7尺),身长为70厘米(2.1尺); 中(1.60-1.70米)女套衫,身为80厘米(2.4尺),身长为63厘米(1.9尺), 矮(1.65米以下)男套衫,身宽为83厘米(2.5尺),身长为65厘米(1.95尺); 矮(1.60米以下)女套衫,身宽为73厘米(2.2尺),身长为60厘米(1.8尺)。 不求人特别提醒你:

开衫的编织毛衣身宽是套衫的身宽加7厘米左右(2寸),身长要加3.3厘米左右(1寸),风雪衣和外套的身宽是套衫的身宽加13.3厘米左右(4寸), 编织毛衣的尺寸及比例 一. 毛衣起多少针呀? 这个问题不求人来帮你解决:用所选好的针和线,按您所选定的花纹来编织;织成一个10平方厘米的小样片,再对照衣服的大小,您就知道您的衣服要起多少针了。根据线的粗细不同,我分别例出3.3平方厘米(一寸见方)的针数和行数。以供大家参考: 粗线:宽以7-8针,长以8-10行 中粗线:宽以9针,长以10-11行 细线:宽以11针,长以12-14行 注意:根据花型的密度不同,一般会有1-2针的误差,操作时适当加针、减针。 下面不求人给你介绍一种最直观准确的计算方法:用你选择好的针和线先起20针,按你选择好的花样编织3.3厘米后,再量具体的尺寸,然后以此为标准去推算整件毛衣的尺寸。 具体的方法是将人的身高分为高、中、矮三个类型: 高(1.75米以上)男套衫,身宽为97厘米(2.9尺),身长为77厘米(2.3尺); 高(1.70米以上)女套衫,身宽为90 厘米(2.7尺),身长为70厘米(2.1尺); 中(1.65-1.75米)男套衫,身为90厘米(2.7尺),身长为70厘米(2.1尺); 中(1.60-1.70米)女套衫,身为80厘米(2.4尺),身长为63厘米(1.9尺); 矮(1.65米以下)男套衫,身宽为83厘米(2.5尺),身长为65厘米(1.95尺); 矮(1.60米以下)女套衫,身宽为73厘米(2.2尺),身长为60厘米(1.8尺)。

梁友栋-Barsky直线裁剪算法计算机图形学课程设计

河南理工大学 万方科技学院 课程设计报告 2011 — 2012学年第二学期 课程名称计算机图形学 设计题目计算机图形学基本算法 演示系统设计 学生姓名 学号 专业班级网络11升—1班 指导教师徐文鹏 2012 年5 月28 日

目录 第1章设计内容与要求 (1) 1.1 总体目标和要求 (1) 1.2内容与要求 (1) 1.2.1 直线的生成 (1) 1.2.2 圆弧的生成 (1) 1.2.3 线段裁剪 (2) 1.2.4 多边形裁剪 (2) 1.2.5 综合 (2) 第2章总体设计 (3) 2.1 Bresenham算法画直线 (3) 2.1.1 Bresenham算法画直线理论基础 (3) 2.1.2 Bresenham算法画直线原理 (3) 2.2 Bresenham算法画圆 (4) 2.2.1 Bresenham算法画圆理论基础 (4) 2.2.2 Bresenham算法画圆原理 (5) 2.3 梁友栋-Barsky算法进行线段裁剪 (6) 2.3.1梁友栋-Barsky算法进行线段裁剪基本原理 (6) 2.4 Sutherland-Hodgman算法进行多边形裁剪 (8) 2.4.1 Sutherland—Hodgman多边形裁剪算法思想 (8) 2.4.2 点在边界内侧的判断方法 (8) 2.4.4 Sutherland-Hodgeman多边形裁剪算法特点 (8) 第3章详细设计 (9) 3.1 Bresenham算法画直线 (9) 3.1.1 Bresenham 算法画线算法具体实现过程 (9) 3.2 Bresenham算法画圆 (9) 3.2.1 Bresenham 算法画圆核心代码 (9)

计算机图形学_实验报告三_图形裁剪算法

图形裁剪算法 1.实验目的: 理解区域编码 设计直线裁剪算法 编程实现直线裁剪算法 2.实验描述: 设置裁剪窗口坐标为:wxl=250;wxr=850;wyb=250;wyt=450;裁剪前如下图所示: 裁剪后结果为: 3.算法设计: 直线裁剪算法: 假设裁剪窗口是标准矩形,由上(y=wyt)、下(y=wyb)、左(x=wxl)、右(x=wxr)四条边组成,如下图所示。延长窗口四条边形成9个区域。根据被裁剪直线的任一端点P(x,y)所处的窗口区域位置,可以赋予一组4位二进制区域码C4C3C2C1。

编码定义规则: 第一位C1:若端点位于窗口之左侧,即XWxr,则C2=1,否则C2=0。 第三位C3:若端点位于窗口之下侧,即YWyt,则C4=1,否则C4=0。 裁剪步骤: 1. 若直线的两个端点的区域编码都为0,即RC1|RC2=0(二者按位相或的结果为0,即RC1=0 且RC2=0),说明直线两端点都在窗口内,应“简取”。 2. 若直线的两个端点的区域编码都不为0,即RC1&RC2≠0(二者按位相与的结果不为0,即RC1≠0且RC2≠0,即直线位于窗外的同一侧,说明直线的两个端点都在窗口外,应“简弃”。 3. 若直线既不满足“简取”也不满足“简弃”的条件,直线段必然与窗口相交,需要计算直线与窗口边界的交点。交点将直线分为两段,其中一段完全位于窗口外,可“简弃”。对另一段赋予交点处的区域编码,再次测试,再次求交,直至确定完全位于窗口内的直线段为止。 4. 实现时,一般按固定顺序左(x=wxl)、右(x=wxr)、下(y=wyb)、上(y=wyt)求解窗口与直线的交点。

Cohen-Sutherland直线裁剪算法

实验三图形裁剪算法 1.实验目的: 理解区域编码(Region Code,RC) 设计Cohen-Sutherland直线裁剪算法 编程实现Cohen-Sutherland直线裁剪算法 2.实验描述: 设置裁剪窗口坐标为:wxl=250;wxr=850;wyb=250;wyt=450;裁剪前如下图所示: 裁剪后结果为: 3.算法设计: Cohen-Sutherland 直线裁剪算法: 假设裁剪窗口是标准矩形,由上(y=wyt)、下(y=wyb)、左(x=wxl)、右(x=wxr)四条边组成,如下图所示。延长窗口四条边形成9个区域。根据被裁剪直线的任一端点P(x,y)所处的窗口区域位置,可以赋予一组4位二进制区域码C4C3C2C1。

为了保证窗口内直线端点的编码为零,编码规则定义如下: 第一位:若端点位于窗口之左侧,即xwxr,则C2=1,否则C2=0。 第三位:若端点位于窗口之下侧,即ywyt,则C4=1,否则C4=0。 裁剪步骤: 1. 若直线的两个端点的区域编码都为零,即RC1|RC2=0(二者按位相或的结果为零,即RC1=0 且RC2=0),说明直线两端点都在窗口内,应“简取”之。 2. 若直线的两个端点的区域编码都不为零,即RC1&RC2≠0(二者按位相与的结果不为零,即RC1≠0且RC2≠0,即直线位于窗外的同一侧,说明直线的两个端点都在窗口外,应“简弃”之。 3. 若直线既不满足“简取”也不满足“简弃”的条件,直线必然与窗口相交,需要计算直线与窗口边界的交点。交点将直线分为两段,其中一段完全位于窗口外,可“简弃”之。对另一段赋予交点处的区域编码,再次测试,再次求交,直至确定完全位于窗口内的直线段为止。 4. 实现时,一般按固定顺序左(x=wxl)、右(x=wxr)、下(y=wyb)、上(y=wyt)求解窗口与直线的交点。

服装裁剪入门分解

服装裁剪入门量衣服的方法 1.以上图片介 绍了,各种服装裁剪当中具体的量衣方法,大家可以仔细记忆一下,以方便以裁剪衣服知识中用到 1.总体高:代表服装“号”,由头部顶点垂直量至脚根。 2.衣长:由前身左侧脖根处,通过胸部最高点,量对需长度,一般量至手的虎口。 3.胸围:代表上衣类服装“型”,在衬衫外,沿腋下,通过胸部最丰满处,平衡围量一周,按需要加放 尺寸。 4.肩宽:由后背左肩骨外端顶点量至右肩骨外端顶点(软尺在后背中央贴紧后脖根略成弧形)。款式需 要夸张时,肩可适当放宽。灯笼袖款可适当改窄。 5.袖长:由左肩骨外端顶点量至手的虎口,按需要增减长度。 6.袖口:围量手腕一周,再按需要加放尺。寸还可根据款式的不同用胸围比例法计算。 7.领大:沿喉骨下围量一周,按需要加放尺寸。 8.腰节:一般体型可按总体高算出。遇到特殊体型时,就需要量取前后的腰节尺寸(在腰部最细处,围 一条皮尺成水平),分别量取前后腰节的尺寸。 9.裤长:由腰部左侧胯骨上端,向上4厘米往下量至脚跟减3厘米。 10.腰围:代表裤子类服装“型”。在单裤外沿腰间最细处围量一周,按需要加放尺寸。 11.臀围:沿臀部最丰满处平衡围量一周,按需要加放松度。 12.上裆:由腰部右侧胯骨上端,向上4厘米,量至大腿根。

裁剪中的人体结构与各部分的名称女款

服装各个部件名称英文对照中文说明 各种领子的造型名称 〔倒挂领〕指领角向下垂落的领型。 〔中山服领zhongshan coat collar〕由底领和翻领组成,领角呈外八字形。 〔尖领pointed collar, peaked collar〕领角呈尖角形的领型,也叫尖角领。 〔衬衫领shirt collar〕或衬衣领,由上领和下领组成,是衬衫专有的领型。 〔圆领round collar〕指领角呈圆形的领型,也叫圆角领。 〔青果领shawl collar〕是翻驳领的一种变形,领面形似青果形状的领型。 〔荷叶边领)领片呈荷叶边状,波浪展开的领型。 〔燕子领swallow collar, wing collar〕领面下止口的两条线形,似燕子飞翔时翅膀张开的形状。 〔两用领convertible collar〕也叫开关领。指可敞开、可关闭的领型。 〔方领square collar〕指领角呈方形的领型。如领面较窄,则称之为小方领。 〔中式领mandarin collar〕指中式服装的领型,其结构为圆领角关门的立领。 〔立领stand collar, Mao collar〕指领子向上竖起紧贴颈部的领型。 〔海军领〕指海军将士们军服的领型,其领子为一片翻领,前领为尖形,领片在后身呈方形,前身呈披巾形的领型。〔扎结领〕也叫一字领,领片是一长条形,在前颈点可以扎成花结的领型。 〔圆领口round neckline〕领圈呈圆形,根据情况领圈可开大开小,圆弧可呈圆形或呈椭圆等形状。 〔方领口square neckline〕领圈呈方形。根据爱好可开成长方形或横向方形。 〔! 字领口"!" shape neckline〕领圈呈英文字母! 字形状。根据款式的需要,! 字的开口可大可小。 〔一字领口boat neckline, slit neckline, off neckline〕前后衣片在肩部缝合只剩颈圈部位,前后领圈成一字形状,即呈水平线形状。 〔鸡心领口sweetheart neckline, heart shaped neckline〕也叫桃形领,领圈呈鸡心形状,即下部尖、上部成圆弧状。〔底领collar stand, collar band〕也称领座,是连接领口与翻领的部位。 〔翻领lapel〕指翻在底领外面的领面造型。 〔领上口fold line of collar〕领面的翻折线,即领外翻的连折处。 〔领下口under line of collar〕领子与领窝的缝合部位。 〔领里口top collar stand〕指领上口到领下口之间的部位,也叫领台高或起登。 〔领外口collar edge〕指领子的外侧边沿处。 〔领豁口〕也叫驳嘴,指领嘴与驳角间的距离。 袖子 〔连袖〕指衣袖相连、有中缝的袖子。中式上衣多采用这种袖子。 〔圆袖set-in sleeve〕也称装袖,指在臂根围处与大身衣片缝合连接的袖型。圆袖是基本的西式合袖形式与肩袖造型。〔前圆后连袖split raglan sleeve〕指前袖椭圆形,后袖与肩相连的袖。 〔中缝连袖〕指袖中线有合缝分割线的圆袖。 〔衬衫袖shirt sleeve〕一片袖结构,长袖装有袖克夫。 〔连肩袖raglan sleeve〕又称插肩袖,是肩与袖连为一体的袖型。 〔喇叭袖flare sleeve; trumpet sleeve〕指袖管形状与喇叭形状相似的袖子。 〔泡泡袖puff sleeve〕指在袖山处抽碎褶而蓬起呈泡泡状的袖型。 〔灯笼袖lantern sleeve; puff sleeve〕指肩部泡起,袖口收缩,整体袖管呈灯笼形鼓起的袖子。 〔蝙蝠袖batwing sleeve〕在肩袖连接处,袖窿深即腰节附近,整体造型如蝙蝠翅膀张开状的袖子。 〔花瓣袖petal sleeve〕或称蚌壳袖,也叫郁金香花瓣袖,指袖片交叠如倒挂的花瓣的袖型。 〔袖口sleeve opening〕袖管下口的边沿部位。 〔衬衫袖口cuff〕即理克夫,指装袖头的小袖口。

服装裁剪的公式

服装裁剪的公式 比例裁剪最主要的是公式的取值及公式的合理性。没有一个较为标准的公式来定位,也给工业制板造成一定的难度,为了便于掌握公式的运用技巧,应从以下几个方面来分析: 公式与年龄、体型的分析 在正常体型下,按年龄分为青年体、中年体、老年体。在设置公式时要根据不同年龄来设置。青年人体型差异小,围度的变化幅度也小,但因身高有一定的差异在运用公式上增档值略大一些,如袖笼深、袖开深、肩高、立裆等。中年体的体型差异较大,围度的变化幅度也较大则增裆值应小一些,而老年人围度变化大,体型差异更大,增裆值应更小些,增裆值是指一个公式用2/10的围度来计算的话,那么围度每增加lcm时深度增加0.2cm;运用1.5/10围度增加lcm时深度增加0.15cm;运用1/10围度则增加0.1cm,由些可见,青年人围度的变化幅度较小,运用2/10B+定数来计算袖笼深较为合适。而中年人变化幅度较大运用1.8/10B+定数或1.5/lOB围度+定数。老年人围度变化幅度特别大。就胸围而言胸围最小的在95cm左右,大的在120cm左右甚至更大些,这样的变化幅度,如运用2/10B定数来计算,胸围每增加lcm袖笼深增加0.2cm;每增加2.5cm,袖笼深就增加5cm。如此计算,袖笼深的增裆速度太快,不适合老年体,因此应该运用1.5/l0B胸围+定数或运用1/10B加定数才行。一般情况下号码越少,增裆速度越快,号码越多,则适应面越广,增裆速度也慢。 公式的制定分析 目前的公式是多样的,有用定值的、有用公式的、也有用公式加定值的,这些也会给制板中的推板造成一定的弊端,因为衣片中的每一个环节都要以一定的比例来推定出来,才使得推裆出的板大号与小号成比例;在运用和寻求公式中,首先选择最小号尺寸,再来定最大号的尺寸,从中再推出差值。如小号的胸围为90cm,袋口应为13cm左右,大号的胸围为100cm,袋口应为14cm左右,即可知公式为1/10B+4cm。如裤子的脚口,若西裤的臀围为90cm,脚口定为18cm,用公式1/10+9=18cm、1.5/10H+4.5=18cm或2/10H=18cm;那么当臀围在llOcm,则1/10H+9=11+9=20cm、1.5/10H+4.5=2lcm、2/10H=92cm,从中跟据增裆值的大小选则出适合于当时流行的脚口大,也就能推断出公式。 公式配套分析 在设定公式关系到工业制板、推板最终的效果,不能随意搭配;如胸宽与肩宽、袖笼深与袖开深、袖笼宽与袖肥大,都应密切结合,否则按照一定的比例公式推出的板,结果最大的号就很难配套成功。 l、脚宽与肩宽 前胸宽、肩宽在设定公式时增裆值要同步:例前胸宽1.5/10B+3cm,那么胸围每增加4cm,总肩宽增1.2cm其1/2增0.6cm与前胸宽增值同步,放出的号不会变型,前胸宽按1.8/10B计算,那么胸围每增4cm,前胸宽则增0.72cm而肩增0.72cm也有些太大,如果增0.6cm的话会使放出的号在一定的时候,胸宽和肩宽所构成的袖笼弧线成为一条直

直线段剪裁实验报告

《计算机图形学》实验报告 《实验名称》 直线段裁剪 姓名 学号 专业 班级 天津大学计算机科学与技术学院

一、实验目的 熟练掌握Cohen-Sutherland直线裁剪算法,并编程实现 二、实验内容 (1) 裁剪窗口为矩形窗口,且矩形边和坐标轴平行,长宽自己定。 (2) 待裁剪线段端点坐标自己定;裁剪线段涵盖完全可见、不完全可见、 完全不可见类型。 (3) 要求显示待裁剪线段并用不同颜色标示出裁剪结果。 实现方法:一般情况下,需要判断一条直线是全部可见,全部不可见,部分裁剪(一段裁剪),全部裁剪(两端裁剪)。通过把裁剪区域分成许多部分,然后给每一段被裁剪的线段的两端分配一位代码,通过少量if语句和一个case语句就可以判断出具体情况。 伪代码如下: #define CLIP_CODE_C 0x0000 #define CLIP_CODE_N 0x0008 #define CLIP_CODE_S 0x0004 #define CLIP_CODE_E 0x0002 #define CLIP_CODE_W 0x0001 #define CLIP_CODE_NE 0x000a #define CLIP_CODE_SE 0x0006 #define CLIP_CODE_NW 0x0009 #define CLIP_CODE_SW 0x0005

实验步骤: 1)生成裁剪窗口,窗口由直线xl=250,xr=850,yb=250,yt=450 2)绘制直线段 3)编写Cohen-Sutherland直线裁剪算法,对直线段进行裁剪 编码定义规则: 第一位C1:若端点位于窗口之左侧,即 Xxr,则 C2=1,否则 C2=0。 第三位C3:若端点位于窗口之下侧,即 Yyt,则 C4=1,否则 C4=0。 裁剪步骤: 对所有直线的端点都建立了区域码之后,就可按区域码判断直线在窗口之内或窗口之外。这可分为如下几种情况: ①若一直线的两个端点的区域码均为0000则此直线在窗口边界之内,应 子保留。 ②若一直线的两个端点的区域码的同一位同时为1,则此直线全部在窗 口边界之外,应子裁剪。例如,若一直线的一个端点的区域码为1001,另一个端点的区域码为0101,则此两端点的区域码的第一位均为1,说明此两端点均在窗口边界之左,因此,直线在窗口边界之外,应予裁剪。可用将直线两个端点的区域码进行与操作的方法,判断直线是否在窗口之外,若与操作的结果为0000则两端点的区域码任何位均不同时为1此直线不一定被裁剪。 ③以上两种情况之外的直线,有可能穿过窗口,也有可能不穿过窗口, 下图中所示的两条直线都不符合情况②的要求,但一条直线(P1P2)穿过窗口,另一直线(P3P4)不穿过窗口。对这类直线可以进行如下处理:取窗口外的一个端点与窗口边界比较以确定可排除直线的哪一部分,然后,把直线剩下的部分与其他边界比较,这样一直到直线全部被排除或确定直线的哪一部分在窗口之内为止。可按“左、右、下、上”的次序建立检查直线端点与窗口边界关系的算法。 图③ 三、实验结果 画线效果一:

计算机图形学(简单多边形裁剪算法)

简单多边形裁剪算法 摘要:多边形裁剪算法与线性裁剪算法具有更广泛的实用意义,因此它是目前 裁剪研究的主要课题。本文主要介绍了一种基于多边形顶点遍历的简单多边形裁剪算法,它有效降低了任意多边形裁剪复杂度。通过记录交点及其前驱、后继信息,生成结果多边形,该算法简化了交点的数据结构,节省了存储空间,降低了算法的时间复杂度,具有简单、易于编程实现、运行效率高的特点。 关键词:多边形裁剪;交点;前驱;后继;矢量数组 一、技术主题的基本原理 简单多边形裁剪算法综合考虑现有多边形裁剪算法的优缺点,它是一种基于多边形顶点遍历来实现简单多边形裁剪工作的。其主要的原理是遍历多边形并把多边形分解为边界的线段逐段进行裁剪,输出结果多边形。 二、发展研究现状 近年来,随着遥感绘图、CAD辅助设计、图象识别处理技术的发展,图形裁剪算法从最初在二维平面上线和图形的裁剪扩展到三维空间里体和场的裁剪,国内外相继提出不少行之有效的算法,但越来越复杂的图形和计算也对算法的速度和适用性提出了越来越高的要求。因此,不断简化算法的实现过程,完善细节处理,满足大量任意多边形的裁剪也就成了当今算法研究的焦点之一。 以往多边形裁剪算法不是要求剪裁多边形是矩形,就是必须判断多边形顶点的顺时针和逆时针性,即存在不实用或者是增加了多边形裁剪算法的难度。为了解决现在的问题,我们研究现在的新多边形算法,其中,裁剪多边形和被裁剪多边形都可以是一般多边形,且不需要规定多边形输入方向。它采用矢量数组结构,只需遍历剪裁多边形和被裁剪多边形顶点即完成多边形的裁剪,具有算法简单、运行效率高的特点。 三、新算法设计 1、算法的思想 本算法是为了尽量降低任意多边形裁剪算法复杂度而提出的,其主要思想是采用矢量数组结构来遍历裁剪多边形和被裁多边形顶点,记录裁剪多边形和被裁减多边形交点及其前驱、后继信息,并通过记录相邻交点的线段,然后通过射线法选择满足条件的线段,之后进行线段连接,输出对应的裁剪结果。算法数据结构简单,即没有用常用的数据结构,如线性链表结构、双向链表结构和树形结构,这样就节省了存储空间,增加算法的效率。 2、主要数据结构 多边形裁剪算法的核心是数据结构,它决定了算法的复杂度和计算效率。兼顾数据结构简单和节省存储空间的目的,简单多边形裁剪算法是基于矢量数组vector的数据结构进行裁剪的,多边形矢量数组的每个元素表示多边形顶点,且按顶点输入的顺序存储。裁剪多边形和被裁剪多边以下我们分别用S和C表示,

相关文档
相关文档 最新文档