码绘与手绘比较——静态篇

2023-11-11 13:10
文章标签 比较 静态 手绘 码绘

本文主要是介绍码绘与手绘比较——静态篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

码绘图

p5.js绘制

手绘图

代码实现过程

以下仅代表性留下了码绘作画流程的部分代码,省略掉了很多取点线的代码。其实使用的东西都很简单,主要就是通过取点连线画规则图形和填色。

function setup() {createCanvas(400, 710);
}
function draw() {background(139,26,26,200); fill(0);beginShape();vertex(21,634);vertex(47, 609);vertex(74, 589);vertex(103, 570);vertex(85, 505);vertex(50, 517);vertex(44, 526);vertex(45, 515);vertex(49, 509);vertex(80, 482);vertex(65, 417);vertex(42, 363);endShape();strokeWeight(4);line(50,517,60,561);line(60,561,71,597);line(100,559,41,574);line(41,574,53,608););strokeWeight(8);line(341,576,388,601);line(381,562,342,632);strokeWeight(6);line(385,618,370,665);line(368,625,392,635);noStroke();fill(255,165,0,255);ellipse(206,552,64,93);fill(0,0,0,255);rect(149,587,124,50);strokeWeight(5);stroke(0) ;line(65,360,80,400);line(55,387,93,376);strokeWeight(4);line(302,510,338,511);line(256,516,256,436);line(276,476,236,476);line(133,528,133,428);line(153,488,113,488);noStroke();fill(	139, 137 ,137,45);
beginShape();vertex(33,248);vertex(0,251);endShape();beginShape();vertex(373,364);vertex(400,377);endShape();beginShape();vertex(400,99);vertex(400,0);endShape();}

手绘与码绘异同比较


绘画思路


同:都要思考下笔的先后次序,要考虑画面的覆盖问题
异:码绘是通过规则图形和取的点线构成边界后填色完成的,但手绘是流畅的充满质感的,即使填色也可能是不均匀有笔触的。

技术方面


同:都需要进行画面的构思,在创意阶段基本是一样的。
异:码绘用代码实现画面,需要对编程语言的熟练使用,它更多的是数学与图形的结合。手绘则使用笔纸,对灵感和经验要求更高,它不一定能像码绘一样精准,但是相对更自由。

创作体验


同:能够完成直观的画面还是很开心的。
异:手绘带来的质感更让人有创作感,码绘相对来说比起创作更像是制作。

创作偏好


手绘。码绘在有的方面的确能够产生很多灵动有玄妙的效果,但是我永远喜欢手绘的质感,握笔的感觉是用鼠标和键盘无法替代的。(而且这种不规则图形用打点的方法码绘真的又没有效率又没有效果!!!!!)

参考文献
开始第一幅“码绘”——以编程作画的基本方法

https://blog.csdn.net/magicbrushlv/article/details/77840565

p5.js简介&基本形状绘制
https://blog.csdn.net/qq_27534999/article/details/75151515
 

这篇关于码绘与手绘比较——静态篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/390282

相关文章

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

Python如何实现高效的文件/目录比较

《Python如何实现高效的文件/目录比较》在系统维护、数据同步或版本控制场景中,我们经常需要比较两个目录的差异,本文将分享一下如何用Python实现高效的文件/目录比较,并灵活处理排除规则,希望对大... 目录案例一:基础目录比较与排除实现案例二:高性能大文件比较案例三:跨平台路径处理案例四:可视化差异报

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

MySQL中比较运算符的具体使用

《MySQL中比较运算符的具体使用》本文介绍了SQL中常用的符号类型和非符号类型运算符,符号类型运算符包括等于(=)、安全等于(=)、不等于(/!=)、大小比较(,=,,=)等,感兴趣的可以了解一下... 目录符号类型运算符1. 等于运算符=2. 安全等于运算符<=>3. 不等于运算符<>或!=4. 小于运

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Apache伪静态(Rewrite).htaccess文件详解与配置技巧

《Apache伪静态(Rewrite).htaccess文件详解与配置技巧》Apache伪静态(Rewrite).htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令,主要的... 一、.htAccess的基本作用.htaccess是一个纯文本文件,它里面存放着Apache服务器

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.