编程与手绘的对比

本文对比了编程和手绘创作静态绘画的差异。编程使用processing工具,能够实现精准的线条和重复图形,适合创建有规律的图案及动图。手绘则依赖个人绘画技能,更具自由度和灵活性,适合表达生动细节。两者都需要预先构思,但码绘在效率和成本上占优,而手绘在表现力和传统艺术形式上更有优势。
摘要由CSDN通过智能技术生成

编程与手绘的对比

主题:对比用代码和用手绘创作静态绘画

编程工具:processing

void setup() {
size(1500,650);
}

void draw() {
//表情一
fill(255);
ellipse(320,240,200,200);
ellipse(280,240,50,50);
ellipse(360,240,50,50);
ellipse(320,300,80,40);
fill(0);
ellipse(280,240,20,20);
ellipse(360,240,20,20);
line(260,180,260,100);
line(280,180,280,100);
line(300,180,300,100);
line(320,180,320,100);
line(340,180,340,100);
line(360,180,360,100);
line(380,180,380,100);
//表情二
fill(255);
ellipse(620,240,200,200);
ellipse(580,253,50,50);
ellipse(660,228,50,50);
ellipse(600,300,80,40);
fill(0);
ellipse(580,240,20,20);
ellipse(660,240,20,20);
line(560,180,560,100);
line(580,180,580,100);
line(600,180,600,100);
line(620,180,620,100);
line(640,180,640,100);
line(660,180,660,100);
line(680,180,680,100);
//表情三
fill(255);
ellipse(920,240,200,200);
ellipse(880,240,50,50);
ellipse(960,240,50,50);
ellipse(920,300,35,80);
fill(0);
ellipse(900,240,20,20);
ellipse(940,240,20,20);
line(860,180,860,100);
line(880,180,880,100);
line(900,180,900,100);
line(920,180,920,100);
line(940,180,940,100);
line(960,180,960,100);
line(980,180,980,100);
//表情四
fill(255);
ellipse(1220,240,200,200);
ellipse(1180,240,50,50);
ellipse(1180,240,40,40);
ellipse(1180,240,30,30);
ellipse(1180,240,20,20);
ellipse(1180,240,10,10);
ellipse(1260,240,50,50);
ellipse(1260,240,40,40);
ellipse(1260,240,30,30);
ellipse(1260,240,20,20);
ellipse(1260,240,10,10);
ellipse(1220,300,80,40);
line(1160,180,1160,100);
line(1180,180,1180,100);
line(1200,180,1200,100);
line(1220,180,1220,100);
line(1240,180,1240,100);
line(1260,180,1260,100);
line(1280,180,1280,100);
beginShape();
curveVertex(1180,300);
curveVertex(1200,290);
curveVertex(1220,310);
curveVertex(1240,290);
curveVertex(1260,310);
endShape();
//圆圈花纹
smooth();
noFill();
for(int r = 100; r > 0; r-=5)
{
  for(int x =270; x < 1320; x+=100)
  {
    for(int y =430; y < 630; y+=100)
    {
 fill(random(0,200),random(0,200),random(0,255));     
ellipse(x,y,r,r);
    }
  }
}
}

码绘结果圆圈花纹不停动态变化
手绘图
emmmm,
在这个例子中,有两种类型的画面绘制。一类是常规图形组成的图形,这种图画是可以通过手绘来实现的,但是手绘很难做到线条完美,以这幅图为例,手绘很难将圆画的完美,但是码绘是可以做到的,并且手绘很难做到绘制完全相同的图形,以这幅图为例,几张脸的整体结构是相同的,并且是水平的且间距相同,只是表情上有细微变化,但是手绘无法做到每张脸的大体轮廓保持一致,也很难画在一条直线上并使其间距相同,而码绘可以;另一类图形是通过基本图形的重复来实现有规律性的花纹样式,并且令它的颜色在时刻变化,这种图形首先要保证组成整个图形的每个基本元素都画的完全一致,还要颜色变化,这都是手绘无法实现的。

关于手绘与码绘的总结分析
1. 思路

编程:首先要熟悉画出不同图形的函数并能熟练运用,还要知道如何使用颜色、画笔等基本功能,在了解这些的基础上才可以实现构思的画面,所以码绘是既要求一定的编程基础,还要求对画面的构思创作能力

手绘:纸笔都是现成的,直接构思画面就可以,但是画面的完成度与个人的绘画基本功紧密相关,所以手绘是既要求对画面的构思创作能力,还对绘画的基本功有不同程度的要求

两者的相同点是都要事先构思好大致画面,然后才可以着手去做

2. 技术

编程:基本图形的函数都可以直接调用,画出来的图形没有误差,线条流畅,颜色填充均匀,码绘需要掌握的是绘图的相关函数等,码绘可以实现完全相同的若干张画,而手绘很难做到画出一摸一样的两张画,码绘还可以实现一些效果,例如动图等,还可以加入交互元素,使绘画变得更有趣味性

手绘:需要长时间的练习,要有一定的基本功才能精确的画出自己想要的画面,一般来说,这个时间比学习编程的时间要长,但是因为码绘的每一笔都是代码控制的,在绘制比较有生命力的一些东西,比如绘制自然界的东西时,手绘能表现得更鲜活

两者的相同点是都需要一定时间来掌握所需的基本功

3. 创作体验

编程:需要事先构思好画面,每个元素间的关系、距离等,编程的时候要计算坐标,创作的自由度和灵活性受到一定限制,但是一些比较绚丽的场景,用画笔画出来难度比较大,不是每个人都能画出来的,如果编程实现的话,就会容易许多

手绘:不需要计算,可以事先构思好再下笔,也可以完全自由绘画,创作的自由度和灵活性比较高,但是对个人的绘画能力要求比较高,一些色彩、效果等单用画笔不易实现,而且绘画需要的材料成本较高,相对而言,码绘只需要计算机即可,成本比较可控

两者的相同点是都有无限的创作可能和创新空间

4. 创作偏好

编程:我个人码绘的经验很少,一般画一些颜色变化较细微的,色彩比较梦幻等用画笔比较难实现的内容会选择码绘,需要绘制多次相同元素来组成画面时我会选择码绘

手绘:日常练笔,例如写生、速写等,我会选择手绘,比较自由的一些创作时,例如画有生命的内容时,会选择手绘

总结

首先我认为码绘的效率更高,尤其是在绘制相同的图形时,只需要稍微改动代码甚至不需改动,而手绘就需要一张张的去画;第二,完成高复杂度和高要求的画面时,手绘需要很多年的基本功,而学习编程的时间会短一些,并且编程的经济成本小一些;第三,码绘是代码在控制画面,虽然也可以很灵活的修改,但是我个人认为,在传统的绘画种类中,手绘的表现力是更强的,码绘很难表现出手绘的那种自由,也很难表现出手绘的每一笔的深浅变化和纹路;第四,我认为码绘的一个很大的优势是它可以增加交互性和动态感,例如现在就有展览在展出通过多媒体技术来展示清明上河图,科技使静态的画面动起来,甚至实现三维效果,增加人们的身临其境的感觉,也增加了趣味性,技术的进步使得我们可以借助它们将我们的优秀的文艺作品用更多元化的方式展示给别人,向外传播;最后,我认为相关技术的发展是很有益的,但是码绘不会取代手绘,码绘可以更完美的呈现作品,更多元化的展示作品,它的作品有创新、有设计、有华丽,但是少了点生命力,以国画为例,我个人认为码绘很难实现实际的水、墨与纸接触产生的生命力和自然的晕染,提笔落笔之间自然溅到纸上的水墨等。

参考链接

https://blog.csdn.net/Hewes/article/details/76383246
https://blog.csdn.net/Hewes/article/details/76358957

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值