第04课-线描画中的黑白对比
欣赏这两张图片,看看这两张图是用什么绘画语言进行造型表现的呢?
线条线描画就是用单色线条对物体进行勾画,并通过线条的变化来体现丰富的视觉效果。
小河豚
找一找:画面中的黑、白、灰。
说一说:画面中的黑色线条和白色线条有什么不同呢?线条粗、细不同
找一找:画面中,有几种不同的灰色呢?
密集——稀疏多——少疏、密关系想一想:这些灰色有什么变化呢?
2.画面中是如何通过点、线、面的组织排列,体现黑白灰的呢?1.观察这幅线描作品,除了“线条”以外,还用到了哪些绘画语言?点面线条的粗细、长短、点的疏密、面的大小等等
点、面的表现:规则的点不规则的点疏密变化的点规则的面不同形状的面大小不同的面
有秩序、有疏密的线条彼此穿插,点、线、面的灵活组织运用,可以创作出丰富的作品。
尝试实践:全班分为四组,第一组:以线为主,绘画一幅有黑白对比效果的画。第二组:以点为主,绘画一幅有黑白对比效果的画。第三组:以面为主,绘画一幅有黑白对比效果的画。第四组:以点、线、面综合为主,绘画一幅有黑白对比效果的画。绘画内容:以银杏叶为原型,进行线描的黑白对比。
向大家说一说:1.你的画面中运用了哪些线条?2.你的线条是怎样组织的?3.你画面中哪里有黑、白、灰。
课后作业:请选择你喜欢的一个动物形象进行线描绘画,并运用点、线、面的各种排列组合方式进行装饰。
谢谢观看!
栈和队列
栈栈的基本概念1栈的概念栈(Stack):是限制在表的一端进行插入和删除操作的线性表。又称为后进先出LIFO(LastInFirstOut)或先进后出FILO(FirstInLastOut)线性表。栈顶(Top):允许进行插入、删除操作的一端,又称为表尾。用栈顶指针(top)来指示栈顶元素。栈底(Bottom):是固定端,又称为表头。空栈:当表中没有元素时称为空栈。
设栈S=(a1,a2,…an),则a1称为栈底元素,an为栈顶元素,如图3-1所示。栈中元素按a1,a2,…an的次序进栈,退栈的第一个元素应为栈顶元素。即栈的修改是按后进先出的原则进行的。图3-1顺序栈示意图a1a2aian⋯⋯⋯⋯bottomtop进栈(push)出栈(pop)
栈的顺序存储结构简称为顺序栈,用一维数组来存储栈。根据数组是否可以根据需要增大,又可分为静态顺序栈和动态顺序栈。◆静态顺序栈实现简单,但不能根据需要增大栈的存储空间;◆动态顺序栈可以根据需要增大栈的存储空间,但实现稍为复杂。栈的顺序存储表示
采用动态一维数组来存储栈。所谓动态,指的是栈的大小可以根据需要增加。◆用bottom表示栈底指针,栈底固定不变的;栈顶则随着进栈和退栈操作而变化。用top(称为栈顶指针)指示当前栈顶位置。◆用top=bottom作为栈空的标记,每次top指向栈顶数组中的下一个存储位置。◆结点进栈:首先将数据元素保存到栈顶(top所指的当前位置),然后执行top加1,使top指向栈顶的下一个存储位置;栈的动态顺序存储表示
◆结点出栈:首先执行top减1,使top指向栈顶元素的存储位置,然后将栈顶元素取出。图3-2是一个动态栈的变化示意图。图3-2(动态)堆栈变化示意图空栈bottomtop元素a进栈bottomtopa元素b,c进栈bottomtopabc元素c退栈bottomtopabbottomtopabdef元素d,e,f进栈
采用静态一维数组来存储栈。栈底固定不变的,而栈顶则随着进栈和退栈操作变化的,◆栈底固定不变的;栈顶则随着进栈和退栈操作而变化,用一个整型变量top(称为栈顶指针)来指示当前栈顶位置。◆用top=0表示栈空的初始状态,每次top指向栈顶在数组中的存储位置。◆结点进栈:首先执行top加1,使top指向新的栈顶位置,然后将数据元素保存到栈顶(top所指的当前位置)。栈的静态顺序存储表示
◆结点出栈:首先把top指向的栈顶元素取出,然后执行top减1,使top指向新的栈顶位置。若栈的数组有Maxsize个元素,则top=Maxsize-1时栈满。图3-3是一个大小为5的栈的变化示意图。图3-3静态堆栈变化示意图空栈bottomtopTop=11个元素进栈bottomtopaTop=33个元素进栈bottomtopabcTop=4栈满bottomtopabedTop=2元素c进栈bottomtopab
1队列的基本概念队列(Queue):也是运算受限的线性表。是一种先进先出(FirstInFirstOut,简称FIFO)的线性表。只允许在表的一端进行插入,而在另一端进行删除。队首(front):允许进行删除的一端称为队首。队尾(rear):允许进行插入的一端称为队尾。例如:排队购物。操作系统中的作业排队。先进入队列的成员总是先离开队列。队列队列及其基本概念
队列中没有元素时称为空队列。在空队列中依次加入元素a1,a2,…,an之后,a1是队首元素,an是队尾元素。显然退出队列的次序也只能是a1,a2,…,an,即队列的修改是依先进先出的原则进行的,如图3-5所示。a1,a2,…,an出队入队队尾队首图3-5队列示意图
队列的顺序存储结构利用一组连续的存储单元(一维数组)依次存放从队首到队尾的各个元素,称为顺序队列。设立一个队首指针front,一个队尾指针rear,分别指向队首和队尾元素。◆初始化:front=rear=0。◆入队:将新元素插入rear所指的位置,然后rear加1。◆出队:删去front所指的元素,然后加1并返回被删元素。◆队列为空:front=rear。◆队满:rear=MAX_QUEUE_SIZE-1或front=rear。
在非空队列里,队首指针始终指向队头元素,而队尾指针始终指向队尾元素的下一位置。顺序队列中存在“假溢出”现象。因为在入队和出队操作中,头、尾指针只增加不减小,致使被删除元素的空间永远无法重新利用。因此,尽管队列中实际元素个数可能远远小于数组大小,但可能由于尾指针巳超出向量空间的上界而不能做入队操作。该现象称为假溢出。如图3-6所示是数组大小为5的顺序队列中队首、队尾指针和队列中元素的变化情况。(a)空队列Q.frontQ.rear入队3个元素a3a2a1Q.frontQ.rear(c)出队3个元素Q.frontQ.rear(d)入队2个元素a5a4Q.frontQ.rear图3-6队列示意图
循环队列为充分利用向量空间,克服上述“假溢出”现象的方法是:将为队列分配的向量空间看成为一个首尾相接的圆环,并称这种队列为循环队列(CircularQueue)。i=(i+1)%MAX_QUEUE_SIZE;例:设有循环队列QU[0,5],其初始状态是front=rear=0,各种操作后队列的头、尾指针的状态变化情况如下图3-7所示。
123450(a)空队列frontrear123450(b)d,e,b,g入队frontdebgrear123450(c)d,e出队bgfrontrear123450(d)i,j,k入队bgfrontijkrear123450(e)b,g出队ijkrearfront123450(f)r,p,s,t入队ijkfrontrprear图3-7循环队列操作及指针变化情况
方法是:约定入队前,测试尾指针在循环意义下加1后是否等于头指针,若相等则认为队满。即:◆rear所指的单元始终为空。◆循环队列为空:front=rear。◆循环队列满:(rear+1)%MAX_QUEUE_SIZE=front。
习题6、设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈,出栈顺序为b,d,c,f,e,a那么栈容量至少应该是()。--栈的容量(深度)A.6B.5C.4D.3E.216.对于入栈顺序为a,b,c,d,e,f,g的序列,下列()不可能是合法的出栈序列。A.a,b,c,d,e,f,gB.a,d,c,b,e,g,fC.a,d,b,c,g,f,eD.g,f,e,d,C,b,a