前言:中文期刊网精心挑选了程序职称论文范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
程序职称论文范文1
关键词粘土动画布光道具
作为定格动画的一个分支,粘土动画以其自身朴实的语言,略显笨拙的塑造手法占据着动画领域的重要位置。顾名思义,粘土动画的场景以及动物、人物在雕塑捏制过程中所使用的材料是粘土而已。从这个角度讲,以沙子、布偶、棉偶、皮影、剪纸、剪影、木偶、金属、稻草以及五金类等综合材料为主要媒介而进行创作的动画都属于定格动画。定格动画,(stopmotionanimation)由于它是将被拍摄的物体用单反相机一格一格的拍摄然后再按照每秒钟24格的速度进行播放,所以,定格动画又叫逐格动画或者停格动画。定格动画又是动画艺术的分支。就现在来讲定格动画几乎已经淡出了我们的视线。定格动画艺术之所以被边缘化,我想最主要的原因还是我国从事动画艺术的人士对定格动画艺术缺乏足够的认识和研究,也很少进行定格动画的创作,导致了大众对定格动画的认识和了解的不足。然而,我国在定格动画艺术领域并非一片空白,早在20世纪50年代到60年代,我国的动画艺术家就创作出了《崂山道士》、《神笔马良》等一批优秀的木偶动画片,到了80年代还创作了直到今天仍脍炙人口的木偶动画系列片《阿凡提的故事》。但是80年代后,我国的动画进入了休眠期,木偶动画也同样停止了前进。直到现在,国外定格动画取得了非凡的成就,我国的动画创作人员才意识到国内定格动画的差距。因此一部分国人又重新投入到定格动画的创作中,但在创作的过程中技术和经验不足是不可避免的,笔者用粘土作为偶型塑造的基本材料,通过自己创作的粘土动画片积累了一些经验,在此,就如何创作一部优秀的粘土动画片作一些探讨。
一、粘土动画的前期创作
1.剧本
剧本的创作是影片最原始的依据,剧本的好坏直接影响到影片的质量,是必须经过深思熟虑的。粘土动画和一般的二维动画在很多地方是一样的,最开始也是先要确定故事的脚本,然后改编成适合拍摄的剧本。剧本不要求有过多修饰性的东西,只要能说明表演和场景氛围以及对白就可以了,也就是要能满足拍摄要求。
2.美术设计
在粘土动画片的创作中,美术设计是前期创作阶段重要的一个环节,它包括了角色造型设计、场景设计、和道具设计三大类。角色造型设计往往是整部动画片风格的依据;布景设计必须和整个动画影片的表现风格相协调,并且能为故事情节营造特别的氛围;道具设计不仅要和整个片子的风格相协调,还要有自己的造型特点。
3.分镜头
分镜头最好有导演本人来绘制,并且要求有镜号(就是每个镜头的标号);景别(就是远景、全景、中景、近景、特写等电影语言);拍摄方法(就是推、拉、摇、移、跟、升、降等);长度(就是镜头的时间,这在动画片中非常重要。一般是要自己先依据剧本里的情节预演一遍,可以用秒表记录时间,最好以三次的平均数为准);内容(就是这个镜头要表现的内容);音乐音效和对白、旁白,如果有音乐要标出长度,从哪个镜头起到哪个镜头结束,还要标出时间。要是有对白和旁白也要标出时间,还要写出内容,这样在拍摄时就好把握动作的时间,否则后期会很麻烦,很容易声画不同步。
4.粘土造型和骨架
偶的造型不要过于复杂。因为动画的人物是要有动作的。为了能摆动方便,造型最好简洁,能充分展现出人物的性格特征和满足动作要求就可以了,如果一定要把造型做到很复杂,像动漫游戏的那样也不是没有可能。但是你所要选择制作泥偶的材料不但价格昂贵,而且对技术要求很高,同样对于片中场景,道具的要求也会相应提高。
在骨架方面,建议买一些专业方面的书籍来学习。因为骨架的好坏会直接关系到影片中人物的动作,容易做动作又不容易损坏的骨架,会为你的泥偶片制作带来很好的效果和极大的方便。骨架的制作不一定只用一种材料,性质不同的材料混合使用会带来不同的效果。这完全依赖于剧本对任务的要求,可以发挥想象,有效的利用身边的材料,一般来说,对骨架的要求是方便塑型,不易折断的金丝或者银丝以及退过火的铝线。
泥的选择很重要,我认为有几点需要注意:泥不要太软,否则不方便塑型,因为在摆动作的时候很容易碰到泥偶的其他部位,灯光照射下泥比平时还软,太软就容易发生形变。不要选择油性过大的泥,这种泥虽然很鲜艳,但是不容易塑型,还会弄脏场景和道具。
二、道具
1.场景道具制作原理
粘土动画的道具,由于它自身的特殊性,所以不能像电影中的道具师可以用现有的任何道具,它在整个动画片的过程所用到的所有道具都需要道具师一件一件的把它制作出来,而道具往往要根据角色和场景的尺寸以及镜头的需要来决定其形状大小。
道具的制作材料五花八门,石膏、软陶、粘土、木材、金属、塑料、小品玩具以及现成品等等。制作道具的手法更是多种多样,有雕刻的,模压的,注塑的等,有时为了不同镜别需要,同样的道具要做尺寸大小不同的好几件。并且用于道具、场景制作的材料没有什么特殊的限制,只要思路开阔,任何材料和物品都会产生出其不意的效果。但要注意所用材料自身颜色和产生的画面色彩。画面表现出的色调,这在粘土动画的最终成片效果上是很重要的。
2.视觉效果道具制作原理和方法
实体云的道具往往常被用于背景图片的立体效果,其实制作视觉效果的道具有许许多多的方法,既可以用实体,也可以用电脑三维动画软件的粒子效果,还可以实体和电脑效果用前后景深叠加的方法来达到自己所要的效果。例如:雪可以用三维动画软件的粒子来做,或者用撒泡沫来实现。闪电可以用Photoshop等软件来画等等。凡是只要自己能想的到的,并拿来能实用的都可以。好的实用的场景是会为你的动画片加分的!精致的道具和场景会使影片的画面丰富,对于加强画面的质量起到至关重要的作用。
三、粘土动画的拍摄
1.粘土动画拍摄概述和基础知识
粘土动画是逐帧拍摄的,对于电视片来说是25帧/秒,而电影则是24格/秒,在这里我们为了方便计算以24格/秒来计,如果以一拍二来计算,也就是每秒要拍12格,一拍二可以保证动作非常流畅,但是同时也对调整动作提出更高要求,要对动作规律有相当好的把握才可以。有时一拍三或者一拍四也是常用的,你需要根据所要表现的内容而定。
我在给角色拍一个动作时,往往分成几个段,有点像三维软件里关键帧的设置,每一段的时间要算好,因为有加减速的关系所以每一帧动作的幅度大小都是不一样的。在给角色制作表情时一般我们采用直接刻划或替换等方法。有时角色的动作需要用吊线的方法配合完成,为了保证吊线的稳定性,最好使用三股线同时吊挂它的不同位置。为了能让角色在画面中站的更稳,我们除了尽量把角色的脚加大外,场景地面采用密度高的泡沫材料也帮了大忙,这样就可以在角色的脚下扎上一些不易被察觉辅助固定位置的大头针,使拍摄顺利进行。
另外,拍摄时要注意把场景里所有的东西都要固定好,不然稍有不注意就会碰到什么东西,一旦移动了位置,画面就会穿帮,就要重拍这个镜头了!当然相机首先要固定放置好。
2.粘土动画的摄影布光
粘土动画摄影的布光由三大块构成:主光、辅助光、效果光。主光的作用是照亮场景和角色,同时具有塑造角色和场景造型的作用。辅助光的主要作用则是调整摄影对象的光比平衡,突出对象的质感肌理。而效果光则是起到调整影像的构图、营造场景氛围的作用。
摄影照明用光的类型是以它投射到对象上的方向和角度来区别的,按照照射方向的不同,摄影照明用光可以分为面光、侧光、顶光、正面45度角布光、逆光和脚光。
3.粘土动画拍摄技法
粘土动画的拍摄方法是多种多样的,这里我介绍一种类似于以前二维动画拍摄的方法,它是利用前景和背景叠加移动产生的特殊视觉效果。这个方法的特点是能够将实体拍摄的动作镜头与逐格动画拍摄直接合成到一起。
四、后期
1.粘土动画后期制作
当所有的镜头全拍摄完成后,影片进入了后期制作阶段。后期制作阶段主要包括镜头剪辑、合成和配音、配乐、音响特效等。在这一阶段把所有制作好的素材汇聚到一起,经过剪辑,配音等工序,最终制作出较为完整的粘土动画片。
非线性编辑主要是对整个完整的片子进行初剪,一般使用Photoshop或者其他的平面软件来修图,把图片中穿帮和一些有瑕疵的地方清除掉。使用AE等软件来制作特效和调色,最后可以用Premiere来进行非线性编辑,在Premiere里编辑是很方便的,可以对素材进行长度的更改,可以随意的加桢和减桢。最终制作成比较精细的完整的粘土动画片。:
3.配音
在影片初剪的基础上进行第二此精剪,在此我们可以用优秀的音频编辑软件,给影片中角色口型逐个配上声音。这样能确保整个影片声音和画面的准确对位。配音乐是后期制作阶段的重要环节,这不仅仅因为音乐是影片的灵魂,还因为音乐是整个影片各种声音的基本。
4.影片的输出
程序职称论文范文2
「关键词行政程序立法
一、引言
行政程序法同刑法、民法、刑事诉讼法和民事诉讼法一样,主要不是作为分散的行政程序法律规范的总称,而是作为一部集中系统的大型法律文件的名称。一个国家如果只有分散的行政程序法律规范而没有一部以“行政程序法”命名的集中系统的法典性的大型法律文件,通常不被认为已经制定了行政程序法。
制定行政程序法,是上世纪初以来世界许多国家越来越普遍的立法现象。20世纪初,西欧一些国家首先制定行政程序法;20世纪中期,美国制定了联邦行政程序法,对其他国家行政程序法的发展产生了很大影响;特别是20世纪后期,更多的国家制定了行政程序法。[①]
行政程序法的兴起和发展在人类政治文明、制度文明进步史上的意义非同寻常。从对国家权力进行约束的意义上讲,人类政治文明、制度文明的进步表现为三次“浪潮”。第一次浪潮是法律的出现。在这次浪潮中,法律并不对国家权力的来源进行约束,而且法律本身充满着不平等,但法律的出现毕竟意味着国家权力运行方式的确定化、有序化,对国家权力有了源自它本身的适当约束。第二次浪潮是现代宪法的出现。在这次浪潮中,法律实现了对国家权力来源的约束,一切不合法的国家权力不被法律所承认,为建立平等公正的法治扫除了政治障碍,奠定了制度基础,对国家权力有了根本性的约束。第三次浪潮就是行政程序法的出现。这一次浪潮不满足于对国家权力的总体约束,而是进一步对国家权力的行使过程(主要是行政过程)进行具体的约束。毫无疑问,第三次浪潮要以第二次浪潮为前提,否则就不可能出现第三次浪潮,但它并不从属于第二次浪潮,而是有其独立的不容忽视的历史地位。行政程序法所构建的是国家权力行使过程中全方位的民主化和法治化,因而它是适应当代政治、经济、社会生活的必然的法律现象,这已为相关的学界所公认。[②]
早在上世纪80年代后期我国起草行政诉讼法的过程中,就有过起草我国行政程序法的设想和建议。最近十几年,对于我国是否应当尽早制定行政程序法的问题进行了许多讨论。有的专家学者主张先分散地制定各类行政行为的程序法,待条件成熟后再制定统一的行政程序法,也有的主张尽快制定统一的行政程序法。现在,人们更加普遍认识到,我国的民主和法制建设已经为制定行政程序法提供了充分的条件,我国政治文明的发展向行政程序法提出了迫切要求,社会生活中发生的许多问题都需要通过完善行政程序的法制化来解决。今天,摆在我们面前的任务,已经不是探索“要不要”制定、“什么时候”制定行政程序法,而是“怎样”制定行政程序法。
制定行政程序法涉及几个基本问题,一是对我国行政程序法的各个立法目的之间的关系要有一个明确的界定,处理好保障公民程序性权利与提高行政效率之间的关系;二是对我国行政程序法的结构要有一个基本的考虑,处理好行政程序法与各类行政行为的程序性规定之间的关系;三是对行政程序法律关系主体的规定要有一个适当的原则,处理好行政程序法与行政组织法的关系,既要避免把行政组织法的内容规定到行政程序法中来,也要避免以内部程序为理由妨碍公民程序性权利的实现;四是对行政程序法中的实体性规定要有一个正确的认识,使实体法与程序法互相依托、融为一体;五是对行政程序法与行政复议法、行政诉讼法之间的关系要有一个合理的把握,使三种程序法形成有机的衔接。这几个基本问题对于制定行政程序法是不可回避的。本文旨在对这些基本问题谈一些初步的看法。
二、保障权利与提高效率并重及其体现方式
法律的立法目的常常不是单一的,许多法律都有两个甚至多个立法目的。如果各个立法目的之间存在抵触的可能性,就需要明确界定它们之间的关系,这被称为法律的“目标模式”。确定法律的目标模式非常重要,它决定着一部法律的主要制度安排,并且影响着这部法律每一项具体的制度安排。所以,把目标模式称为某部法律的“灵魂”,并不过分。
行政程序法主要有两个立法目的,一是保障公民程序性权利;二是提高行政效率。[③]这两个立法目的存在着互相抵触的可能性,保障公民的程序性权利,可能影响行政效率,为了提高行政效率,公民的程序性权利就要在一定情况下和一定程度上加以“克制”;提高行政效率也会影响对公民程序性权利,为保障公民的程序性权利,行政效率也要作一定的“牺牲”。“克制”也好,“牺牲”也好,都不能没有限制,要有一定的度,因此,对行政程序法的两个立法目的之间的关系需要加以明确,确定行政程序法的“目标模式”。根据对各国行政程序法的研究,行政程序法主要有两种立法模式,一种是“权利模式”,侧重保障公民的程序性权利;另一种是“效率模式”,侧重提高行政效率。
近几年,我国行政法学界对我国行政程序法的目标模式作了很多研究,得到比较广泛认同的主张是,我国行政程序法既不应采取侧重保障公民程序性权利的“权利模式”,也不应采取侧重提高行政效率的“效率模式”,应当采取“权利效率并重模式”。即在设计各种程序制度时做到两种立法目的兼顾,既要有利于保障公民程序性权利,又要有利于提高行政效率。[④]
这里要讨论的问题是,在制定行政程序法时怎样体现这个模式,这个问题至今还未有深入研究。
一般地分析,在立法时体现法律的目标模式可以有三种办法,第一个办法,把目标模式同立法目的写在同一个条文中,用以表明各个立法目的之间的关系;第二个办法,把目标模式作为一项基本原则,与法律的其他基本原则规定在一起,用以指导这部法律的实施;第三个办法,在规定每一项程序制度时都充分考虑如何体现法律的目标模式。
用前两个办法来体现行政程序法的目标模式都不可取。首先,目标模式在性质上不是立法目的,而是对各个立法目的之间关系的确定,因而不宜作为立法目的的组成部分来规定。其次,目标模式在性质上也不是行政程序法的基本原则,因为行政程序法的基本原则是关于行政主体与相对人在行政活动中的程序性权利义务的原则性规定,而不是关于立法目的之间关系的原则性规定,因而目标模式也不能当作基本原则来规定。再者,采用前两个办法还可能引起实施过程中的问题。设想在行政程序法的立法目的或基本原则中列条规定“保障公民权利与提高行政效率具有同等重要的意义”,如果在具体的制度设计中不对权利与效率的冲突作出具体的规定,就等于把这种冲突交给法律的实施者去解决,成为立法的“遗留问题”;如果在具体的制度设计中对权利与效率的冲突作出具体规定,又会因为同时存在着原则性规定而给法律实施者提供用原则性规定否定具体规定的可能性,反而给法律的实施造成不必要的混乱。
所以,在制定行政程序法时,应当采用第三个办法,就是把“权利与效率并重”作为立法者的指导思想,在设计具体制度时逐个地解决权利与效率之间可能发生的冲突,这样才能使“权利效率并重模式”落到实处。也就是说,目标模式应当是立法者经过深入研究形成的立法精神,它不是立法目的,而是立法者对立法目的之间关系的处理原则;它也不是法律的基本原则,而是立法者处理各项原则之间关系的基本思路。因此,目标模式应当体现在每一项制度设计中,而不是把它直接以条文方式写出来。
至此,我们还应当作进一步思考:在设计行政程序法的每一项制度时,应当怎样具体地体现“权利效率并重模式”?具体的说,可通过以下方式:
第一,通过程序制度的“多样化”体现“权利效率并重模式”。所谓“多样化”,就是为同一个程序行为设计两个甚至多个程序制度。比如听证,可以设计正式听证和非正式听证两种听证程序制度,这样,可以用正式听证保障公民的程序性权利,也可以用非正式听证提高行政效率。再比如送达,可以设计直接送达、邮递送达和公告送达;可以设计由相对人签字的送达和无须相对人签字的公证送达。总的来说,各种程序制度都可以设计正式程序和简易程序两种形式,既为保障公民权利提供途径,也为提高行政效率创造条件。
第二,通过程序制度的“具体化”体现“权利效率并重模式”。所谓具体化,一是指各种程序制度本身的规定要具体,二是指关于程序制度适用的规定也要具体。特别是,如果关于程序制度适用的规定不具体,那么程序制度的多样化就会形同虚设。在正式程序和简易程序并存的情况下,要具体规定在何种情况下适用正式程序,何种情况下适用简易程序,这样有利于避免行政机关不适当地选择简易程序,以保障公民的程序性权利;同时也有利于避免公民不适当地要求行政机关适用正式程序,以提高行政效率。
第三,通过程序制度的“递进化”体现“权利效率并重模式”。所谓递进化,就是使程序制度层层递进、环环相扣,前一个程序制度为后一个程序制度创造条件、奠定基础,后一个程序制度使前一个程序制度实际有效、决不落空。这样就可根据行政活动的具体情况,在前一个阶段、环节上侧重提高行政效率,而在后一个阶段、环节上侧重保障公民程序性权利;或者倒过来,在前一个阶段、环节上侧重保障公民程序性权利,而在后一个阶段、环节上侧重提高行政效率,从而使行政程序在整体上实现权利与效率并重。
可以相信,用以上三种主要方式来体现“权利效率并重模式”,可以使保障公民权利与提高行政效率两个立法目的都得到比较充分的实现。
三、行政行为的多样性与行政程序法的总分式结构
行政程序法与诉讼法一样,都是程序性法律。程序具有“时间性”这一基本特征,它对程序性法律的结构产生重要影响,使程序性法律在结构上基本按照“时间流程”安排各项程序制度,形成以时间为主线的“线性结构”。刑事诉讼法和民事诉讼法都是这样。行政程序法作为程序性法律,在结构上也应当考虑到程序的时间性,也应当采用这种“线性结构”。但是,行政程序法与诉讼法又有不同之处。诉讼法通常只规定某一种诉讼行为的程序,比如刑事诉讼法只规定刑事诉讼行为的程序,民事诉讼法只规定民事诉讼行为的程序,而不把各种诉讼程序规定在同一部诉讼法中。这样,诉讼法在结构上不需要考虑两种以上诉讼行为程序之间的关系。行政程序法则不同,它把各种行政行为的程序规定在同一部法律中,包括行政规范、行政规划、行政指导、行政合同等各种行政行为的程序制度。这样,行政程序法在结构上就不能只考虑程序的时间性,还要考虑各种行政行为之间的关系。这是制定我国行政程序法在结构上必然要遇到的一个重要问题。
据上所述,行政程序法的结构大致有三种选择:第一,并列式-按照行政行为的类别确定行政程序法的基本结构。整个行政程序法分为若干部分,每一部分为一种行政行为的程序,各个部分内部采用线性结构,但整个行政程序法不是线性结构,而是并列结构。这种结构的特征是以行政行为的类别为结构基础,程序的时间性从属于行政行为的类别。第二,总括式-打破行政行为的类别界线,按照行政程序的时间性确定行政程序法的基本结构。这种结构与诉讼法的结构十分相似,其特征是以程序的时间性为结构基础,行政行为的类别从属于行政程序的时间流程。第三,总分式-行政程序法分成两大部分,上半部分采取总括式,下半部分采取并列式。这种结构的特征是兼采上述两种方式,既作通则性规定,也作分则性规定,能统则统,不能统则分。我国行政程序法应当采用哪一种结构方式,下面作一些更为深入的分析。
第一,并列式结构不可取。这种结构使行政程序法像一部各类行政行为程序法的“汇编”,由于各类行政行为的程序有许多共性,因而这种结构使许多程序制度在同一部法律中大量重复,整个法律冗长、拖沓。表面上看,这种结构似乎有一个优点,就是各类行政行为的程序自成一体,方便法律的实施。但这个优点完全可能被法律的冗长、拖沓抵销掉。所以,世界各国行政程序法基本上都不采取这种结构方式。
第二,总括式结构也有不足。这种结构对各类行政行为共有的程序制度进行归纳重组,显然能够克服并列式结构冗长、重复的缺陷,使行政程序法结构简洁、条理清晰。但它不能兼顾各类行政行为特有的程序制度,为此,各类行政行为还需要另行制定程序性法律,使行政程序法仍然不能充分发挥作为行政程序法典的作用。
第三,总分式结构是较好的选择。其一,总分式结构能够充分体现制定集中系统的行政程序法的必要性。行政活动复杂、多样,为了实现行政法制的统一,应当力求使行政行为统一起来。由于在实体上实现行政行为的统一十分困难,各国主要谋求在程序上实现行政行为的统一。行政程序法担负着这个重要使命,它要在程序上实现行政行为的统一性。采用总分式结构,以通则性程序制度为主体,就能使行政程序法不负这一使命。其二,总分式结构能够较好地处理行政程序法与各类行政行为法的关系。行政程序法并不能取代各类行政行为法,因为各类行政行为法还需要规定各自的实体规范以及特有程序规范。如果行政程序法不能与各类行政行为法有机地衔接起来,整个行政法体系依然是松散的。总分式结构通过适当的分则性规定可以起到与各类行政行为法衔接的作用,使行政法体系形成一个有机整体。其三,从根本上讲,总分式结构是行政法体系对行政程序法的必然要求。行政程序法在行政法体系中处于基本法律的地位,它与各类行政行为法形成“扇形”结构关系。体系的结构关系必然影响法律内部的结构,处于基本法律地位的行政程序法因此而有必要采取总分式结构。所以,总分式结构被大多数国家的行政程序法所采用。
总体上认识总分式结构的合理性并不困难,但是,如何具体地构建总分式结构,还需要作进一步研究。主要研究两个问题:
第一,如何设计通则性规定。从理论上讲,通则性规定应当“跳出”各类行政行为,另行设计适用于各类行政行为的程序制度。但是,在具体立法中,许多国家和地区的行政程序法却以行政决定程序为主线设计通则性规定,这应当引起我们的注意和思考。在各类行政行为程序中,行政决定程序最具代表性。一是它最具完整性,行政决定基本上涉及行政活动的全过程;二是它具有终极性,行政决定能够穷尽行政活动所能做的行为;三是它具有具体性,行政决定能够对相对人的权利义务产生具体的影响。所以,以行政决定程序作为通则性规定并不妨碍制定通则性规定的目的。而且,以行政决定程序作为通则性规定还可以避免在分则性规定中对行政决定程序再行规定,避免条文的重复。因此,以行政决定程序作为通则性规定是设计通则性规定应当考虑的一个重要方案。当然,这种通则性规定只能是各类行政主体在作出行政决定时都应遵循的最基本的程序制度。或者是各类行政主体在作出行政决定时的最低程序要求。简单说,这也就是正当程序的基本要求,任何行政决定都不得违反正当程序要求。
第二,如何把握分则性规定的限度。行政程序法要包含行政规范、行政规划、行政指导、行政合同等各类行政行为的程序制度,作为行政程序法的分则性规定。但是,这些行政行为有的已经制定相关的专门法律,有的将来可能制定专门的法律,行政程序法对这些行政行为的程序不能不规定,但又不能规定得过多,否则就会与专门的法律重复,这就需要把握一定的限度。从各国行政程序法的经验和我国其他法律处理类似问题的做法来看,可以以三种规定为限。一是原则性规定,即在行政程序法中规定可作为专门法律的基本原则的规定;二是接口性规定,即在行政程序法中规定引据性条款,作为与专门法律的衔接;三是补缺性规定,即在行政程序法中只对一些需要法律作出规定,但又不可能制定单行法的重大的基本程序制度作出规定,其他程序制度则由专门法律规定。
四、内部程序的外化与外部程序的内化
从是否涉及相对人程序性权利义务的角度,行政程序分为内部程序和外部程序。内部程序不涉及相对人程序性权利义务,仅对行政机关适用;外部程序涉及相对人程序性权利义务的规范,适用于行政主体与相对人双方。行政程序法除了规定外部程序以外,要不要规定内部程序?目前,不少学者认为行政程序法应当规定内部程序,[⑤]而且迄今没有看到与此相反的意见。
分析其他国家和地区行政程序法是否规定内部程序的做法,可概括为两种情况。一种是“外部程序型”,只规定外部程序不规定内部程序。采用这种类型的国家比较少,主要是美国、日本和瑞士。另一种是“外部与内部并存型”,既规定外部程序,也规定内部程序。采用这种类型的国家有德国、奥地利、西班牙、葡萄牙、我国澳门地区和台湾地区等。[⑥]由此看来,在行政程序法中规定内部程序的做法占多数。
应该说,行政程序法规定内部程序是必要的。其一,从总体上讲,内部程序是外部程序的前提或基础,不规定内部程序,外部程序无法展开。比如,行政程序的启动有两种情况,一种是行政主体依相对人的申请启动,一种是行政主体依自己的职权启动。无论哪一种方式,都要以行政主体的存在为前提或基础。而很多行政主体是通过内部程序建立的,没有关于行政主体成立的内部程序,外部程序便没有前提或基础。所以,正如民法要对民事主体作出规定一样,行政程序法也要对行政主体作出规定。其二,内部程序和外部程序并无严格的界限,它们常常随着具体情况发生转化或渗透,内部程序可能转化外部程序,外部程序可能渗透到内部程序中去。比如行政机关内部的会议纪要,从理论上似应属于内部程序,但在有关行政信息公开的程序制度中,或者在有关制定行政规范的程序中,很可能属于涉及相对人权利义务的“外部”程序。又如调查,一般来说属于影响相对人权利义务的外部程序,但它显然会渗透到行政主体内部,比如对行政机关工作人员进行调查时的人数作出规定。其三,许多内部程序都存在着间接涉及相对人权利义务的可能性。比如,行政机关之间的相互关系对相对人权利义务就有影响,如果行政机关之间不能很好地协调,互相推诿或者互相争抢管辖权,就可能对相对人产生不利影响。因此,在行政程序法中应当对内部行政程序加以规定。
但是,行政程序法对内部程序应当规定到什么程度?是不是要把行政组织法的内容都规定到行政程序法中来?这个问题应当进一步研究。对此,似应从以下两个方面把握:
第一,注意外部程序的内化。这是行政程序法需要规定内部程序的第一种情况,为了外部程序的有效进行而规定内部程序。前面已经提到,外部程序在许多情况下需要以内部程序作为前提或基础,。行政程序法关于行政主体的规定基本上属于这种情况,主要包括行政机关的设置、合议机关的合议制度、行政机关相互间的关系、行政机关的管辖权、行政授权、行政委托等。行政程序法对这些内容加以规定以后,这些内容在性质上并不改变,依然属于内部程序,它们只是因为外部程序的需要而在行政程序法中加以规定,是外部程序向内部程序提出的规范要求。有些内容纯属行政组织法的范畴,不应当在政程序法中规定,比如行政机关的编制等级和编制员额、内部机构的设置、内部呈批程序、公务员制度等。这些内容要不要规定到行政程序法中来,在立法时比较容易把握,较难把握的主要是行政机关的职权范围。实际上,行政程序法不应当规定具体行政机关的职权,它只应当规定行政机关不得超越职权进行管辖,为了防止行政机关超越职权,可以进一步规定相对人有权合理怀疑行政机关超越职权,有权通过一定的程序实现对行政机关是否超越职权的监督。
第二,注意内部程序的外化。即当内部程序影响相对人权利义务时,行政程序法应当对这种内部程序加以规定。比如,行政机关派出执行调查的人数,看起来是一个内部程序,但是由于这种内部程序涉及相对人权利义务,便应当在行政程序法加以规定。再比如,听证主持人的确定,看起来也是一个内部程序,但它对相对人权利义务的影响很大,因而各国行政程序法都对此予以规定。在规定外部程序制度时,会在许多环节上涉及到内部程序,由于外部程序的需要,有关的内部程序便外化为外部程序。这些内容在行政程序法中规定之后,其性质发生了变化,从内部程序转化为外部程序。发生转化的原因是因为它们影响到相对人的权利义务。在制定行政程序法时,显然应当时时注意这个问题。实践中,内部程序外化最严重的情况发生在我国的审批程序中。行政机关内部各处室的分工,常常转化为对外的独立审批权,要相对人自己逐个盖章;一级政府内的各个职能部门,更是各争自己的审批权。内部程序外部化的结果,就使一项许可经常要盖几十以至几百个章,严重影响公民权利,也影响行政效率。不过这要通过行政许可法解决。
五、实体规范与程序规范的互相依托
行政程序法除了规定程序规范外,要不要规定实体规范?这也是制定行政程序法应当研究的基本问题。其他国家和地区的行政程序法在这个问题上做法不一,大致分为两种类型。一类是“程序型”,行政程序法只规定程序规范,不规定实体规范。属于这种类型的国家主要有美国、瑞士、日本、韩国等。另一类是“程序与实体并存型”,行政程序法不仅规定程序规范,还规定实体规范。属于这种类型的以联邦德国为代表,包括奥地利、西班牙、荷兰、葡萄牙、我国澳门地区和我国台湾地区等国家和地区。[⑦]
有的学者阐述了行政程序法应当规定实体规范的理由。一是认为,程序法中规定实体规范的做法在我国立法实践已有先例,比如《中华人民共和国立法法》、《中华人民共和国行政处罚法》等,属于程序法,但其中也不乏实体规范。二是认为,实体规范作为程序法的补充,不但不会改变程序法的根本属性,反而更有利于程序法价值的实现。三是认为,行政实体法有很多重要原则和内容来不及立法,这些原则和内容是行政程序法起码的前置内容或先决条件,若不在行政程序法中作出规定,行政程序法就得不到应有的支撑。由此得出结论,行政程序法主要规定程序规范,但同时还要规定一些必要的实体规范。[⑧]
我同意行政程序法应当规定实体规范的主张,但上述有些理由不尽妥当。我认为,在行政程序法中规定实体规范,并不是作为程序法的补充,也不是作为权宜之计,而是作为行政程序法应有的组成部分;行政程序法中的实体规范具有特定的性质和一定的范围,在制定行政程序法时要认真把握。
首先,要正确区分程序规范和实体规范,不要误将程序规范当作实体规范。一些论说中把关于行政行为、行政合同效力的规定称为实体规范,这就扩大了实体规范的范围,误将一部分程序规范当成了实体规范。比如说,在行政程序法中很可能规定这样两个条文:一是“行政决定自行政决定书送达当事人之日起发生效力”;另一个是“行政决定的履行构成犯罪的,行政决定无效”。这两条规定都是关于行政行为效力的,但并非都属于实体规范,只有后一条才是实体规范,而前一条应当属于程序规范。区分程序规范与实体规范的标准在一般情况下比较容易掌握,程序规范是关于行政主体和相对人在行政活动过程中的权利义务的规定,实体规范是关于行政主体和相对人在行政活动发生前或完成后的权利义务的规定。但是,当一条规范所规定的内容在时间上刚好处在行政活动过程的开始或结束处,就比较难以认定它是程序规范还是实体规范。这时,我们应当慎重对待,仔细鉴别。
其次,行政程序法中的实体规范与其他行政管理法律中的实体规范在性质上有重大区别,不能混为一谈。在治安管理法、土地管理法、森林管理法、交通管理法等各类行政管理法律中有许多实体规范,这些实体规范所针对的对象是相对人的行为,所规范的内容是相对人应受管理行为的构成要件。即使在行政处罚法这样的在很大程度上也对行政行为本身进行规范的法律中,针对相对人行为、对相对人行为的构成要件作出规定的实体规范也占很大比例。而行政程序法则不同,它完全不规定针对相对人行为的实体规范,只规定关于行政行为本身构成要件的实体规范。这样的实体规范如果另行制定法律加以规定,既没有必要,也不符合逻辑,它们完全应该是行政程序法的组成部分。
再次,程序规范与实体规范有时十分紧密地联系在一起,这时,如果在立法上人为地把它们割裂开来,反而有害。比如,行政程序法很可能作这样的规定:“具有下列情形之一的,行政决定无效:(一)行政机关无权作出该行政决定的;(二)行政决定严重违反法定程序的;(三)行政决定的内容不可能实现的;(四)行政决定的履行构成犯罪的;(五)行政决定的内容违背公共秩序与善良风俗的。”其中前两项是程序性的,后三项是实体性的,它们十分紧密地联系在一起,如果把它们分开,硬把后三项规定到其他法律中去,其结果之荒唐可想而知。
以上分析表明,在一定范围内的特定性质的实体规范是行政程序法的必要组成部分,制定行政程序法时必须将之置于我们的视野之内。
六、行政程序与复审程序的有机衔接
行政复议和行政诉讼都是相对人在对行政行为不服时寻求救济所遵循的程序,可以将其统称为“行政复审”。绝大多数有关行政行为的法律都要考虑行政行为与行政复议和行政诉讼的关系,行政程序法作为规范行政行为程序的基本法律,更应当处理好行政程序与行政复议和行政诉讼的关系。
各国行政程序法处理行政程序与行政复议和行政诉讼的关系有两种做法,一是把行政复议和行政诉讼的程序制度直接规定在行政程序法中,不再另行制定行政复议法和行政诉讼法;二是另行制定行政复议法和行政诉讼法,行政程序法只规定行政程序与行政复议和行政诉讼相衔接的条款。采取第一种做法的主要是美国行政程序法,其他大多数国家的行政程序法都采取第二种做法。我国行政程序法不宜采用第一种做法,而应借鉴第二种做法,主要理由是:第一,我国已经制定了行政复议法和行政诉讼法,没有必要因为制定行政程序法而废止这两部行之有效的法律;第二,行政程序法与行政复议法和行政诉讼法分开,更符合我国的情况。我国法律体系的建构与大陆法系相似,比较注重对法律关系的分析,根据法律关系的不同而制定不同的法律。行政复议和行政诉讼同行政程序在法律关系上有明显不同,不宜规定在同一部法律中。这样,衔接好行政程序与行政复议和行政诉讼的关系便成为我国制定行政程序法需要考虑的一个重要问题。
行政程序与行政复议和行政诉讼的衔接主要有两个方面:第一,程序起止上的衔接。行政程序法的有关规定可以成为行政复议和行政诉讼开始的条件,比如行政复议机关在何种情况下可以启动复议程序,法院在何种情况下可以受理行政案件,需要依据行政程序法的有关规定。关于这种条件的规定就成为行政程序与行政复议和行政诉讼的衔接处。第二,判定依据上的衔接。行政程序法的规定成为行政复议和行政诉讼中对行政行为的合法性进行判定的依据,比如在行政复议或行政诉讼中判定一个行政行为有效还是无效,需要依据行政程序法的有关规定。这样,行政程序法中影响到行政行为有效性的各种规定实际上都有可能影响行政复议和行政诉讼,这些规定实际上也就成为行政程序与行政复议和行政诉讼的“宽泛”的接口。
根据以上分析,在制定行政程序法时一定要从行政复议和行政诉讼的角度对有关规定进行审视,考察行政程序法的有关规定是否有利于行政程序同行政复议和行政诉讼的衔接,既要避免从行政程序进入行政复议和行政诉讼时出现不应有的障碍,影响对相对人权利的保护;也要避免过早从行政程序进入行政复议和行政诉讼,影响行政主体充分行使行政职权;还要避免行政复议和行政诉讼中缺乏行政程序法应当提供的判案标准。总之,要加强法律之间的协调性,使行政法制形成一个“统一场”。
七、结语
制定行政程序法需要考虑的问题很多,除了上面探讨的这些问题以外,还有许多重要问题有待研讨,比如听证制度、行政程序法律责任制度、各类行政行为的主要程序制度等。但是上述探讨的几个问题是影响这一立法活动全局的、首要的基本问题。考虑这些问题,一要借鉴外国有益的做法;二要以我国的情况为基础;三要注意理论创新。各国现有的行政程序法基本上可以分为两类,一类以美国为代表,一类以德国为代表。这两类行政程序法有共性,有许多共同的原则和制度,但是两者的区别也比较大。我国的行政程序法在总体上不宜仿照美国行政程序法,因为从我国国情看,没有英美法系的法律文化传统、制度环境和社会心理环境。我们总体上适宜借鉴大陆法系国家的行政程序法,但同时也要博采众长,借鉴美国行政程序法对我国有益的制度,比如听证制度。制定行政程序法是推进我国行政法制建设的重大立法活动,在这一立法活动中,行政程序法理论一定会同时得到深入发展。
参考文献:
[①]例如,1925年,奥地利国会通过《普通行政程序法》,对欧洲大陆生产了重大影响。1928年捷克公布有关行政程序的行政命令,波兰制定行政程序法。1930年,南斯拉夫制定行政程序法。德国当时虽然没有制定行政程序法,但各邦掀起了制定行政程序法的热潮。见应松年主编:《行政程序法立法研究》,北京:中国法制出版社,2001年3月版,第29页。
[②]根据我国学者现有的研究,行政程序法的兴起和发展有三次:第一次是20世纪20年代至二战;第二次是二战至20世纪90年代;第三次是20世纪90年代至今。参见同上,第203页。
[③]学者提及的行政程序法立法目的通常有三个,一是保障公民权利,二是提高行政效率,三是防止行政机关滥用权力。其中第三个目的在逻辑上和实践中均可以被前两个目的吸收,因而提两个目的就足矣。所以,学者们在进一步讨论立法目的之间的关系时,通常把第三个目的放在一边,只讨论前两个目的之间的关系。参见同上,第156—176页。
[④]姜明安:《我国行政程序立法模式选择》,载《中国法学》(京)1996第5期。
[⑤]邢鸿飞:《行政程序立法中的三组关系》,载《法学》(沪)2002第9期。
[⑥]王万华著:《行政程序法研究》,北京:中国法制出版社,2000年版,第143—147页。
程序职称论文范文3
(一)无效无效就是针对行政行为在程序上存在明显的违法或者违法情况较为严重,那么其自始都属于无效的行政行为,即使行政主体的正确的。
(二)撤销如果行政程序只是属于一般违法,并且还未构成无效程序时,那么行政行为的法律无效性可以经过特定机关进行撤销。行政行为判定为可撤销范围时,虽然其属于程序违法,但还是具有法律效力。不同于无效行为,假如撤销行为被认为不具备法律效力,需要经过相对人提出,再通过法院或者相关行政机关再进行撤销。
(三)补正补正只是针对行政行为属于程序违法,但是违法程度并不严重,只要行政主体可以自行事后纠正,或者通过其他政府机关责令,将其补正为合法行为。且这种程序下行政行为就开始并不认为是行政程序瑕疵,借此来保持该行为本就具有的法律效力。
(四)变更在程序规则中,法律除了制定一些强制性程序之外,还列举了部分任意程序规则。行政主体在选择合适的程序的时候要在平衡公共利益与个人利益基础上,只有这样,立法的目标和精神才可以实现。针对程序不当的行政行为,虽然行政相对人无法主张无效或者撤销,但是可以通过申请的方式,对行政主体进行变更,进而保证行政程序的合法性。
二、行政程序瑕疵的救济机制
程序权利的独立性是相对的,所以,行政程序瑕疵也要根据相关法律规定进行规制。具体法律规制途径主要有三种形式,即行政内救济、行政诉讼和行政赔偿。
(一)行政内救济行政内救济的主要含义是行政主体自身进行的救济,其本质是行政主体的内部系统各环节进行的自我救济。因此,行政内救济就包括了两种关系,一种是行政主体自身行政行为存在程序瑕疵的救济,另一种就是以领导关系作为基础的上级行政主体救济下级行政主体存在的行政行为瑕疵。基于这种关系,行政内救济不仅可以对行政程序的合法性和合理性进行审查,也可以根据程序瑕疵来改变程序,借此实现变更行政行为的法律效力。
(二)行政诉讼行政诉讼实际上是一种监督的性质。针对行政程序瑕疵,其作用就是司法监督。在我国《行政诉讼法》相关明文中指出,一旦出现程序违法,就可以判决撤销或部分撤销,并且就行政机关实施的行政行为可以作出重新判决。不难看出,该规定将程序与实体进行集合,即是程序违法而实体合法。如此,就缺失了从行政程序相对独立的性质上对行政行为的法律效力作出恰当的判断。故而,就需要在行政诉讼中假如确认判决,从而可以实现司法机关确认行政不作为的违法性,进而就可以为相对人的诉讼请求提供依据。
(三)行政补偿根据我国《国家赔偿法》的规定,国家机关或者机关工作人员利用职权侵害国家公民、法人或者其他组织的法益时,受害可以依据该法获得国家赔偿的权利。其中“职权”必然包括了行政权,“合法权益”必然包括行政相对人的程序权益。早我国法律中就明确指出行政机关没有按照法定程序作出行政行为,这样不仅是对相对人人身权利的侵犯,也是对相对人财产权利的侵犯,相对人就有权利单独、行政复议时或者行政诉讼时要求国家机关进行赔偿。如果因为行政机关在履行法定责任时消极怠工,从而出现行政不作为造成当事人权益被侵犯,那么相对人可以先提出判定行政机关不作为是属于行为违法,然后要求获得行政赔偿。
三、结束语
程序职称论文范文4
论文摘要:我国林业产业不断适应国民经济和社会发展的需求,林业产业由小到大、由弱变强,已经步入高速发展的快车道。但是和国外林业相比,我国林业既有一定的优势,也有多方面的劣势,优势与劣势并存。所以我们还要重视营林建设,本文同时提出了一些整地、造林的方法,把我国林业溶入了国际林业体系中,与世界各国联系更加紧密,合作更加广泛。
我国森林资源总的变化趋势是:森林面积逐年增加,每年以200万hm2速度递增,林木生长量开始大于消耗量,森林资源的发展在数量上开始走出“低谷”,扭转了长期以来森林资源下降的局面,实现了森林面积和森林蓄积的“双增长”。森林资源是决定林业生存和发展的基础。加WTO后冲击的重点虽然是林产工业,但竞争的焦点却在于林业产品,而林产品的关键原料在于森林资源。
一、造林方法
1、播种造林法:又称直播造林,是将林木种子直接播种在造林地进行造林的方法。这种方法省去了育苗工序,而且.施工容易,便于在大面积造林地上进行造林。但是这种方法造林对造林立地条件要求较严格,造林后的幼林抚育管理措施要求也较高。播种造林的适用条件:适合于种粒大、发芽容易、种源充足的树种,如橡栎类、核桃、油茶、油桐和山杏等大粒种子。其要求造林地土壤水分充足,各种灾害性因素较轻,对于边远且人烟稀少地区的造林更为适宜。
播种造林的方法有:块状播种、穴播、缝插、条播和撒播等。播种前的种子处理包括消毒、浸种和催芽等措施,对保证春播,早出芽,增强幼苗抗旱能力,减少鸟兽等危害极为重要。
2、植苗造林法:又称栽植造林、植树造林,是用根系完整的苗木作为造林材料进行造林的方法。其特点是对不良环境条件的抵抗力较强,生长稳定,因此,对造林地立地条件的要求相对地说不那么严格。但是,在造林时苗木根系有可能受损伤或挤压变形和失水,栽植技术要求高,必须先育苗,却也节省种子。总之,植苗造林法受树种和造林地立地条件的限制较少,是应用最广泛的造林方法。
植苗造林应用的苗木,主要是播种苗(又称原生苗)、营养繁殖苗和移植苗。有时在采伐迹地上进行人工更新时,可以利用野生苗。近年来,有些地区发展营养器苗造林,收到了较好的效果。
植苗造林后,苗木能否成活,关键是苗木本身能否维持水分平衡,所以在造林过程中,从苗圃起苗、选苗、分级、包装到运输、假植、造林前修剪,直至定植全过程都要保护苗木不致失水过多。最好是随起苗随栽植,尽量缩短时间,各环节要保持苗根湿润。
3、分殖造林法:是利用树木的营养器官(干、枝、根等)及竹子的地下茎作为造林材料直接进行造林的方法。其特点是能够节省育苗时间和费用,造林技术简单,操作容易,成活率较高,幼树初期生长较快,而且在遗传性能上保持母本的优良性状。但要求有立地条件较高的造林地,同时分殖造林材料来源,受母树的数量与分布状况的限制,这种方法主要用于适用营养繁殖的树种,如松树、杨树、柳树、泡桐和竹类等。
二、植树造林的程序
1、造林地的清理
造林地的清理,是造林整地翻垦土壤前的一道工序,把造林地上的灌木、杂草、竹类以及采伐迹地上的枝丫、梢头、站秆、倒木、伐根等清除掉。分为全面清理、带状清理和块状清理3种方式。
清理的方法可分为割除清理、火烧清理和用化学药剂清理。割除清理可以是人工,也可以用机具,如推土机、割灌机、切碎机等机具。清理后归堆和平铺,并用火烧方法清除。也可以采用喷洒化学除草剂,杀死灌木和草类植物。
2、整地方式和方法
整地方式分为全面整地和局部整地。局部整地又分为带状整地和块状整地。全面整地是翻垦造林地全部土壤,主要用于平坦地区。局部整地是翻垦造林地部分土壤的整地方式。包括带状整地和块状整地。
带状整地是呈长条状翻垦造林地的土壤。在山地带状整地方法有:水平带状、水平阶、水平沟、反坡梯田、撩壕等;平坦地的整地方法有:犁沟、带状、高垄等。
块状整地是呈块状的翻垦造林地的整地方法。山地应用的块状整地方法有:穴状、块状、鱼鳞坑;平原应用的方法有:坑状、块状、高台等。
3、人工播种方法
(1)播前的种子处理
目的:完成种子发芽准备,加速种子发芽,缩短留土时间,保证出苗整齐,预防动物及病虫害的危害。
措施:消毒、拌种、浸种、催芽。春播时深休眠种子要催芽。
春播时逼迫休眠种子应浸种,但是如果造林地比较干旱、晚霜与低温危害严重不宜浸种。雨季一般播种干种子,如果能准确掌握雨情时也可浸种。
秋季播种时一般都不浸种、催芽。病虫害危害严重的地方应进行消毒液浸种、闷种或拌种
(2)播种方法
撒播:均匀地撒播种子到造林地的方法。
一般不整地、播种后不覆土,种子在条件下发芽。工效高,成本低。作业粗放,种子易被植物截留、风吹或水流冲走、鸟兽吃掉,发芽的幼苗根系很难穿透地被层。
适用条件:劳力缺乏、交通不便的地区,皆伐迹地、火烧迹地,急需绿化的地方,中小粒树种。
条播:按一定的行距播种,可播种成单行或双行,连续或间断。
播后要覆土镇压。可进行机械化作业。种子消耗量比较大
适用条件:迹地更新,次生林改造;主要为灌木树种和个别乔木树种
穴播:按一定的行、穴距播种的方法。
根据树种的种粒大小,每穴均匀地播入数粒到数十粒种子。播后覆土镇压。操作简单、灵活、用工量少。
适用条件:适用各种立地条件。大、中、小粒径的种子都适用。
块播:在大块状整地上,密集或分散地播种大量种子的方法。块状面积一般在1m2以上。可形成植生组。施工比较复杂。
程序职称论文范文5
目前,市面上正在流行各式各样的立体画,其特点是从外表来看与一般的图案很相似,但是双眼紧盯着注视片刻后,一恍惚之间眼前便出现了画中画——立体像。笔者第一次看到这种画便被发明者的创意所倾倒。利用众所皆知的双眼视差原理,竟能在一张平面纸上制造出如此奇幻。但是立体画本身除了其发明者的灵感和画面创作者的别出心裁之外,其原理上并无神秘之处。用计算机程序来实现它,可说是易如反掌。笔者用一个晚上时间,便在微机上用BASIC语言实现了简单形体——平面圆饼的立体画。当然,要使该程序具有完善的功能,提高其制作速度,还是应该用编译语言(如C语言)来编写。本文中给出的源程序借助于Windows中的.BMP图形文件,可使大家自己制作任意形态的立体画。
一、立体画的原理
看过立体电影的人都知道,当人的双眼分别接收不同视角拍摄的图像时便会产生立体感。这是由于人眼长期观察的习惯造成的。和立体电影原理相同的立体摄影风景照片也很早就已出现。图1中给出了这种立体照片的示意图。左、右照片分别是人的双眼角度上观察一棱锥体时左右眼看到的图像(图2)。左眼看到的是棱锥的顶端向右错动了一些的图像,右眼的看到则是棱锥的顶端向左错动了一些的图像。如果用一张硬卡片隔开两张照片(如图3),@@09A04000.GIF;图1@@
@@09A04001.GIF;图2@@
@@09A04002.GIF;图3双眼分别看两张画,会看到一个立体的棱锥体。这种立体照片的观察方法在测绘学中也早已采用。
但是,目前的三维立体画在形式上与这些很不相同。它是怎样在同一张画面上呈现立体的呢?首先,分析一下人们是怎样从这些立体画中看出“立体形体”的。从前面所说的可以知道,人眼要得到立体感,双眼必须有视差,即双眼看到的图像应该有差异。人们在看立体画时,都有“恍惚”一下的过程。在这过程中,双眼的视中心发生了错动(如图4)。这样@@09A04003.GIF;图4左眼看到的是画面的“偏左像”,右眼看到的是画面的“偏右像”。@@只要“偏左像”和“偏右像”的内容相当于图1的左、右照片,双眼就会感到立体形体。那么,能否把图1的左、右照片分别当做“偏左像”和“偏右像”,简单重叠来得到立体画呢?
显然不行。能够合成立体画的“偏左像”和“偏右像”是要满足一定条件的。
如果图5中表现的棱锥体的表面上有图案的话,
@@09A04004.GIF;图5像素a和像素a''''应该具有相同的颜色,因为它们是从不同视角观察的@@同一个实体点。像素b和像素b''''、像素c和像素c''''的情况与此相同。把两幅画分别当作“偏左图”和“偏右图”,部分重叠成为同一画面时,在新的画面上这种关系仍应该表现为a=a'''',b=b'''',c=c''''(如图6)。但这时应该注意到,在这张合成
@@09A04005.GIF;图6画面上,点a''''既是“偏右图”上的点a'''',又是“偏左图”上的点b。而@@一张画面上相同坐标点的像素只可能是一种颜色,因此,产生了新的像素关系a''''=b。另外,点a既是“偏左图”上的点a,又是“偏右图”上的点c'''',所以,a=c''''。以此类推,点b''''和点c也有类似的情况。因此出现了新的关系表示式,...''''=c=c''''=a=a''''=b=b''''=...。这就构成了立体画面上像素必须要满足的条件:“等颜色像素链”。立体画上的所有点都从属于某一条“等颜色像素链”。这就是所有立体画图案都呈现出某种程度上的水平周期性的原因。
因此,对于任意立体形状,只要构造出相应的这种“等像素链”,并按其规律充填图案即可得到立体画。但是正如前面所述,由于这种“等像素链”条件的约束,人们虽然可以随意构造出各种形体的立体画,但其立体形体的表面图案是不能完全随人意愿的。
二、制作立体画的计算机程序
由于人的双眼的水平性,以上的“等像素链”只按水平方向分布,与垂直方向无关。因此,在程序中,各个像素行的处理过程是相互独立的。制作立体画的程序主结构图如图7。
@@09A04006.GIF;图7制作立体画的程序主结构图在以上结构图中,关键是如何建立“等@@像素链”。具体的处理如下。对于立体形体上的每一个点,首先求出该点在“偏左图”和“偏右图”上的坐标。以图1中的棱锥顶点为例,实际上其X坐标是在中心点,但由于双眼的位置并不在其正上方,顶点在“偏左图”上向右位移,在“偏右图”上向左位移,而且其位移值的大小显然与其高度有关,即该点坐标越高位移值就越大。a,b,c等点也都有这些位移。在求出一个点在“偏左图”和“偏右图”上的坐标后,再算出在合成图(如图6)上的对应坐标
,以建立“等像素”关系,如a=a''''。当立体形体的一个水平剖面上的全部点经过以上处理后,合成图的各条“等像素链”关系也就自然形成了。
另外,由于有可能出现高点遮盖低点的情况,“等像素链”的构造应该从低点到高点逐层进行,高点的“等像素”关系将替代低点的“等像素”关系。这也是程序主结构图中“首先,对于没有任何形体存在的背景平面构造‘等像素链’”的原因。
下面给出了根据以上结构图用C语言编写的源程序。程序中,每一个坐标点对应一个结构型数据,它包含“前像素”、“后像素”两个指针。“前像素”指针指向该坐标点作为“偏右图”上的一点,在“偏左图”所对应的点的坐标。“后像素”指针指向该坐标点作为“偏左图”上的一点,在“偏右图”所对应的点的坐标。程序中,“立体形体水平剖面的高低坐标数据”、“原始图案素材”和输出的“立体画”的文件格式都是采用了Windows3.1的Pbrush产生的BMP图形文件格式。图幅大小要求都是640×400,用16种颜色方式。其中,立体形体上各点的高低坐标用图形文件中的颜色值表示,因此该图形文件的图形与带颜色的等高线图安全相同。通常情况下,在16色的BMP文件中颜色值从小到大的顺序为:黑色、暗红色、暗绿色、暗黄色、暗蓝色、暗紫色、暗青色、暗灰色、灰色、明红色、明绿色、明黄色、明蓝色、明紫色、明青色、白色。本程序采用最简单的“图案充填”方案,即各条“链”上的像素点皆采用该“链”上的第一个像素的颜色。程序中的常数EYE-SPACE表示“偏左图”和“偏右图”之间的偏差,BO-DOT是表明“链”的首或尾的指针标志。
该程序寄生在Windows3.1中的Pbrush软件上。借助于它来构筑立体形体(即立体形体水平剖面高低坐标数据文件图8),设计原始图案(图9)。程序运行后,逐行输入并处理以上两个文件中的图形,然后输出立体画结果文件(图10)。最后,用Pbrush来观赏立体画result.bmp。当然,要设计出令人赏心悦目的立体画,必须在立体形体和图案素材的选择和搭配上做到天衣无缝,独具匠心。
@@09A04007.GIF;图8@@
@@09A04008.GIF;图9@@
@@09A04009.GIF;图10程序清单@@
/*--from1995.4.19--to1995.5.18----*/include<stdio.h>
#defineCOMPRESSION0
#defineSIZE-OF-BITMAPFILEHEADER14
#defineSIZE-OF-BITMAPINFOHEADER40
#defineSIZE-OF-RGBQUAD4
#definePIXEL-DATE-OFFSET14+40+4*16
/*SIZE-OF-BITMAPFILEHEADER+SIZE-OF-BITMAPINFOHEADER+BITS-PER-PIXEL
*NUM-COLOR*/
#defineNUM-COLOR16
#defineNUM-LINE400
#defineWIDTH640
#defineBITS-PER-PIXEL4
#definePIXEL-PER-BYTE2/*8/BITS-PER-PIXEL*/
#defineBYTE-PER-LINE320/*((WIDTH*BITS-PER-PIXEL-1)/32+1)*4*/
#defineNO-DOTWIDTH+1
#defineEYE-SPACE128
struct{
unsigndecharcolor;
unsignedintpri-x;
unsignedintnxt-x;
}dot[WIDTH];
main()
{
structtagBITMAPFILEHEADER{
unsignedcharbfType1,bfType2;/*alwaysequalto''''BM''''*/
unsignedlongintbfSize;/*sizeoffile*/
unsignedintbfReserved1,bfReserved2;/*settozero*/
unsigedlongintbfoffits;/*byteoffsetfromBITMAPFILEHEADERtobitmapp
ixel
datainthefile*/
}BITMAPFILEHEADER;
structtagBITMAPINFOHEADER{
unsignedlongintbiSize,/*sizeofBITMAPINFOHEADER*/
biWidth;/*widthinpixelsbiHeight;/*heightinpixels*/
unsignedintbiPlanes,/*always1*/
biBitCount;/*colorbitsperpixelmustbe1,4,8or24*/
unsignedlongintbiCompression,/*BI-RGB,BI-RLE8or4*/
biSizeImage,/*totalbytesinimage*/
biXPelsPerMeter,/*0,oropt,hres.*/
biYPelsPerMeter,/*0,oropt,hres.*/
biClrUsed,/*normally0,cansetalowerno.colorsthanbiBitCount*/
biClrImportant;/*normally0*/
}BITMAPINFOHEADER;
structtagRGBQUAD{
unsignedcharrgbBlue,/*blueintensity,0-255*/
rgbGreen,/*greenintensity,0-255*/
rgbRed,/*redintensity,0-255*/
rgbReserved;/*reserved,settoZero*/
}RGBQUAD[NUM-COLOR];
char*fn-layer="layer.bmp";
char*fn-org="origin.bmp";
char*fn-result="result.bmp";
FILE*flayer,*fOrigin,*fResult;
unsignedchartmp-byte1,tmp-byte2;
unsignedintline,i-byte,i-pixel,x;
unsignedintlayer;
intleft-x,right-x;tmp-x;
unsignedlongintcur-offset;
unsignedcharh[WIDTH],org-color[WIDTH];
puts("---WINTRICK---");
puts("---byLiJisong---");
if((fLayer=fopen(fn-layer,"rb"))!=NULL){
fread(&BITMAPFILEHEADER,SIZE-OF-BITMAPFILEHADER,1,fLayer);
fread(&BITMAPINFOHEADER,SIZE-OF-BITMAPINFOHEADER,1,fLayer);
if(BITMAPFILEHEADER.bfType1==''''B''''&&BITMAPFILEHEADER.bfType2==''''M''''
&&BITMAPINFOHEADER.biWidth==WIDTH&&BITMAPINFOHEADER.biHeight==NUM-
LINE
&&BITMAPINFOHEADER.biBitCount==BITS-PER-PIXEL
&&BITMAPINFOHEADER.biCompression==COMPRESSION)
fread(RGBQUAD,SIZE-OF-RGBQUAD,NUM-COLOR,fLayer);
else{
fclose(fLayer);
printf("File%sisnotfitforthisprogram!/n",fn-layer);
getch();
exit(1);
}
}
else{
printf("File%sdoesnotexist!/n",fn-layer);
getch();
exit(2);
}
if((fOrigin=fopen(fn-org,"rb"))!=NULL){
fread(&BITMAPFILEHEADER,SIZE-OF-BITMAPFILEHEADER,1,fOrigin);
fread(&BITMAPINFOHEADER,SIZE-OF-BITMAPINFOHEADER,1,fOrigin);
if(BITMAPFILEHEADER.bfType1==''''B''''&&BITMAPFILEHEADER.bfType2==''''M''''
&&BITMAPINFOHEADER.biWidth==WIDTH&&BITMAPINFOHDADER.biHeight==NUM-LINE
&&BITMAPINFOHEADER.biBitCount==BITS-PER-PIXEL
&&BITMAPINFOHEADER.biCompression==COMPRESSION)
fread(RGBQUAD,SIZE-OF-RGBQUAD,NUM-COLOR,fOrigin);
else{
fclose(fOrigin);
printf("File%sisnotfitforthisprogram!/n",fn-org);
getch();
exit(3);
}
}
else{
printf("File%sdoesnotexist!/n",fn-org);
getch();
exit(4);
}
if((fResult=fopen(fn-result,"wb"))!=NULL){
fwrite(&BITMAPFILEHEADER,SIZE-OF-BITMAPFILEHEADER,1,fResult);
fwrite(&BITMAPINFOHIADER,SIZE-OF-BITMAPINFOHEADER,1,fResult);
fwrite(RGBQUAD,SIZE-OF-RGBQUAD,NUM-COLOR,fResult);
}
else{
printf("File%sopenerror!/n",fn-result);
getch();
exit(5);
}
for(line=0;line<NUM-LINE;line++){
printf("line=%d/n",line);
cur-offset=(unsignedlongint)PIXEL-DATA-OFFSET+(unsignedlongint)BYTE-
PER-LINE*line;
fseek(fLayer,cur-offset,SEEK-SET);
fseek(fOrigin,cur-offset,SEEK-SET);
for(i-byte=0;i-byte<BYTE-PER-LINE;i-byte++){
fread(&tmp-byte1,1,1,fLayer);
fread(&tmp-byte2,1,1,fOrigin);
for(i-pixel=0;i-pixel<PIXEL-PER-BYTE;i-pixel++){
x=i-byte*PIXEL-PER-BYTE+i-pixel;
if(x<WIDTH){
h[x]=(unsignedchar)(tmp-byte1<<(BITS-PER-PIXEL*i-pixel)
)/((unsignedchar)0x80>>(BITS-PER-PIXEL-1));
org-color[x]=(unsignedchar)(tmp-byte2<<(BITS-PER-PIXEL*i-pixel))
/((unsignedchar)0x80>>(BITS-PER-PIXEL-1));
}
}}
for(x=0;x<WIDTH;x++){
dot[x].color=0;
dot[x].nxt-x=NO-DOT;
dot[x].pri-x=NO-DOT;
if((x+EYE-SPACE)<WIDTH)dot[x].nxt-x=x+EYE-SPACE;
if((signed)x-EYE-SPACE)>=0)dot[x].pri-x=x-EYE-SPACE;
}
for(layer=1;layer<NUM-COLOR;layer++)
for(x=0;x<WIDTH;x++){
left-x=x-EYE-SPACE/2+(layer/2);
right-x=x+EYE-SPACE/2-((layer+1)/2);
if((h[x]==layer)&&(left-x>=0)&&(rignt-x<WIDTH)){
if(dot[left-x].nxt-x!=NO-DOT)dot[dot[left-x].nxt-x].pri-x=NO
-DOT;
dot[left-x].nxt-x=right-x;
if(dot[right-x].pri-x!=NO-DOT)dot[dot[right-x].nxt-x].nxt-x=
NO-DOT;
dot[right-x].pri-x=left-x;
}
}
for(x=0;x<WIDTH;x++){
if(dot[x].pri-x==NO-DOT){
dot[x].color=org-color[x];
tmp-x=x;
while(dot[tmp-x].nxt-x!=NO-DOT){
tmp-x=dot[tmp-x].nxt-x;
dot[tmp-x].color=org-color[x];
}
}
}
fseek(fResult,cur-offset,SEEK-SET);
for(i-byte=0;i-byte<BYTE-PER-LINE;i-byte++){
tmp-bytel=0;
for(i-pixel=0;i-pixel<PIXEL-PER-BYTE;i-pixel++){
x=i-byte*PIXEL-PER-BYTE+i-pixel;
if(x<WIDTH)
tmp-byte1=(unsignedchar)(tmp-byte1<<(BITS-PER-PIXEL*i
-pixel))+dot[x].color;
}
fwirte(&tmp-byte1,1,1,fResult);
}
}
fclose(fLayer);fclose(fOrigin);fclose(fResult);
}
程序职称论文范文6
进行图形程序设计时,还须考虑视频接口的一个重要特性——虚拟终端功能,因为它允许控制几个独立的图形应用窗口,允许多个应用程序在同一个终端上进行切换。本文提供针对IBM标准终端对虚拟终端进行有效管理的手段。
微机UNIX直接视频图形程序设计有两种方法,一种是利用设备驱动程序(见参考文献1),另一种是针对IBM标准终端进行编程,本文介绍后者。
一、图形程序设计
1.检测视频适配器
视频显示器是由视频适配器硬件控制的,视频适配器决定了图形方式下显示图形的分辨率及可能的颜色[2]。利用系统调用ioctl中的CONS-CURRENT命令可以检测到当前的视频适配器,即:
ioctl(0,CONS-CURRENT,NULL)
返回-1时表示出错,即没有相应的视频适配器硬件,如果检测到VGA卡则返回值为VGA,如果检测到EGA卡则返回值为EGA,……。
2.初始化图形系统
初始化图形必须完成下列任务。
(1)获取当前的视频显示方式
ioctl的CONS-GET命令用来判断当前适配器的显示方式,即:
ioctl(0,CONS-GET,NULL)
它返回显示方式的值,这些值在包含文件vtkd.h中均有定义,如:SW-VAG640x480C为VGA适配器设置成640x480分辨率彩色图形模式。
(2)设置图形模式
直接将图形模式值放入ioctl中的命令项即可设置相应的图形模式,如ioctl(0,SW-VGA640x480C,NULL)
将VGA适配器设置成640x480分辨率的彩色图形模式。
(3)获取图形模式下视频缓冲区物理地址
利用ioctl的MAPCONS命令可以实现此功能,即:
char*scrnmem;
scrnmem=(char*)ioctl(0,MAPCONS,NULL)
所有实现基本图素的操作都将针对scrnmem进行,scrnmem就是EGA/VGA相应的四个位平面的重叠地址,有关EGA/VGA的结构可参阅[2]。
3.实现基本图素
DOS操作系统下,对EGA/VGA的各种视频I/O寄存器进行操作是很方便的,可以直接使用汇编语言in和out指令进行读写。然而,UNIX操作系统下,对物理硬件的访问都是由UNIX系统核心和设备驱动程序管理的,要访问EGA/VGA的各种I/O寄存器,必须获得对其访问的特权,为了实现这种功能要求,可以使用下列ioctl系统调用方式:
ioctl(0,VGA-IOPRIVL,1)获取VGA的各种I/O寄存器的访问特权
ioctl(0,EGA-IOPRIVL,1)获取EGA的各种I/O寄存器的访问特权
UNIX操作系统基本上是采用C语言编写的,只是在低层的系统内核方面才使用低级的汇编语言,遵循这一原则,对EGA/VGA的I/O寄存器的访问可以采用汇编语言,而实现图形系统的基本图素则采用C语言。
如果用户的UNIX系统中已有inb()和outb()函数(嵌入在/usr/include/sys/inline.h中),则可以直接使用它们完成对各种I/O寄存器的读写,否则,必须编写下列低级汇编语言例程:
/*向一端口输出一字节*/
/*从一端口输入一字节*/
voidoutb(intport,ucharvalue)
{
-asmpushedx
-asmmovedx,port
-asmmoval,value
-asmoutdx,al
-asmpopedx
}
ucharinb(intport)
{
-asmpushedx
-asmmovedx,port
-asminal,dx
-asmpopedx
}
基本图素一般包括:设置颜色,对调色板的操作,画点、线、弧、矩形、圆、椭圆、多边形、画扇形、饼图,任意图形填充,多边形填充,保存屏幕,恢复屏幕等,这些操作均可用C语言实现,细节问题可参阅[2]。
4.关闭图形系统
退出图形系统之前必须恢复EGA/VGA各I/O寄存器的值,并将显示模式恢复到进入图形模式之前的模式。采用下列ioctl调用实现:
ioctl(0,MODESWITCH|oldmode,NULL)
oldmode是进入图形方式之前获取的方式,UNIX系统中,获取的方式和设置的方式之间的关系为:
设置方式值=获取方式值|MODESWITCH
二、虚拟终端的使用
虚拟终端(VirtualTerminal,简称VT)加强了UNIX系统V/386的接口功能,它不仅允许单个用户开发一个图形应用软件,而且允许多用户、多道程序在同一个物理终端上运行,在开始一个用户的应用程序之前不必停止另一个应用程序,而且各个用户之间可以互相切换。
虚拟终端有两种操作方式[1],一种是自动操作方式(VT-AUTO),这是默认情况,比较简单,应用程序并不了解终端用户接受或放弃当前VT的请求,这意味着被切换掉的进程的任何输入输出都可能丢失。另一种方式是进程控制方式(VT-PROCESS),该方式支持应用程序与其它正在使用VT的进程之间同步,应用程序可以负责接受或放弃使用VT。
[1]中介绍了以进程方式控制VT的过程,并以设备驱动程序方式介绍了接受和放弃对VT控制的信号处理例程。本文给出针对IBM标准终端编制VT的程序和相应的信号处理例程。
/*设置虚拟终端*/
voidsetvirtualterm(void)
{
structvt-modevtmode;
signal(SIGUSR1,release-disp);//release-disp为放弃VT的信号处理例程
signal(SIGUSR2,acquire-disp);//acquire-disp为接受VT的信号处理例程
vtmode.mode=VT_PROCESS;//设置进程控制方式
vtmode.relsig=SIGUSR1;
vtmode.acqsig=SIGUSR2;
if(ioctl(0,VT-SETMODE,&vtmode)==-1)exit(1);//出错即终止此进程
}
/*放弃VT的信号处理例程*/
voidrelease-disp(void)
{
signal(SIGUSR1,release-disp);
保存整个图形屏幕于内部缓冲区videobuf中;
ioctl(0),MODESWITCH|oldmode,NULL);
//oldmode为进入图形模式之前的显示方式
ioctl(0,VT-RELDISP,VT-TRUE);
//VT-TRUE表明同意放弃VT,如果此项为0,则表示拒绝放弃VT.
}
/*接受VT的信号处理例程*/
voidacquire-disp(void)
{
signal(SIGUSR2,acquire-disp);
ioctl(0,newmode,NULL);//newmode为应用程序所处的图形模式
scrnmem=(char*)ioctl(0,MAPCONS,NULL);
//重新获取图形缓冲区的物理地址
从videobuf中恢复整个图形屏幕,并释放videobuf;
ioctl(0,VT-RELDISP,VT-ACKACQ);//VT-ACKACQ表明接受VT
}
在微机UNIX操作系统下,针对EGA/VGA进行直接视频程序设计,独立开发一个图形程序包,不仅小巧方便,而且可以重用以前在DOS下开发的图形应用程序。笔者在SCOUNIX系统下开发了一个小的低层图形软件包,许多以前的DOS图形应用程序都可以移植到UNIX系统下来。
另外,本文介绍的程序在使用前还应包含下列文件,即:
#include<stdio.h>
#include<sys/types.h>
#include<sys/console.h>
#include<sys/vtkd.h>
#include<termio.h>
#include<sys/signal.h>
分配空间时还应加上#include<malloc.h>
参考文献