当前位置: 首页 > news >正文

p5js动漫角色临摹

使用p5js临摹七龙珠角色克林

  • 原图
    • 临摹方法
    • 增加交互
    • 结果

原图

在这里插入图片描述

临摹方法

这次我结合了p5js和ps。利用ps寻找图片的像素坐标,再利用p5js的贝塞尔曲线描点绘制图案。

  1. 在ps中新建400*400像素的图层,导入图片并添加网格,打开窗口->信息(F8)。鼠标在图像上移动即可获得像素位置信息,并且可以使用吸管工具提取颜色信息。在这里插入图片描述
    2.通过钢笔工具绘制贝塞尔曲线的四个点(起点、终点和两个控制点)来勾勒图像。图为眉毛部分。眉毛部分
  2. 按照起点、控制点、终点顺序依次描点。需要注意的是bezierVertex()的第三个点(终点)也是下一个bezierVertex()函数的起点。
  beginShape();vertex(49,230);bezierVertex(0,57,320,16,307,199);bezierVertex(303,223,320,249,314,241);endShape();

3.每个beginShape()和endShape()之间需要构成一个封闭图形来填充颜色。
4.因为我不是一次完成的,所以很多起点终点不统一导致图案连接性不好,细节没做好。建议每次找贝塞尔点时完整的绘制一圈再进行代码部分。
在这里插入图片描述
颜色提取的有些偏。部分地方绘制多遍导致重叠。秃脑袋的反光以及阴影部分表现的不好因此我删掉了。

增加交互

绘制好整体后增加一些简单的交互功能。
1.为了增加猥琐气质,增添一个眉毛的上下抖动。
2.上下抖动周而复始的运动因此我选用正弦函数来实现。
3.构建一个偏移函数。通过w0的自增,不断改变正弦函数的x,使位移值w1在区间内反复改变。里边用到了translate()函数,为了其他函数不受其影响,我用push()和pop()将其包起来。

 w0=w0+Math.PI/20;let w1=20+15*sin(w0);push();translate(0,w1);beginShape();fill(0)vertex(96,175);bezierVertex(58,126,144,60,193,143);bezierVertex(153,108,106,139,96,175);endShape();pop();

4.为了增加憨憨气质,通过键盘响应函数给克林增加一个斗鸡眼。直接简单的keyIsPressed()函数就行了。

if (keyIsPressed === true) { fill(0);ellipse(200,208,13,8);ellipse(242,203,13,9);}else{fill(0);ellipse(200,208,13,8);ellipse(282,200,13,9);}

5.最后再利用鼠标响应函数,添加一个点击绘制一个龙珠的交互。先做一个画龙珠的函数 。用ellipse()和triangle()即可。注意前后覆盖关系。

function ball(x,y){push()noStroke();if (mouseIsPressed === true) {fill(255,208,90);ellipse(x, y, 50,50);beginShape(LINES);fill(255,71,30);triangle(x,y,x+4,y-15,x+21,y-15);triangle(x+16,y,x+12,y-15,x-5,y-15);triangle(x+8,y-24,x+4,y-15,x+12,y-15);endShape()}pop();

最后在主函数中调用ball()函数并给他赋mouseX和mouseY的值即可。

结果

在这里插入图片描述


http://www.taodudu.cc/news/show-6119973.html

相关文章:

  • 正确的临摹方法,小白零基础临摹教程
  • 4月刊佳文推荐:开发者的眼界
  • 改革人工智能时代的劳动技能教育
  • 我的心只悲伤七次-纪伯伦
  • 2021年,你读了哪些不错的C++书籍?
  • 科学计算基础软件包Numpy学习 02
  • 项目经理修炼之道(1) -- 给软件开发建模 .
  • 物理的视角
  • 【夜读】做好这6件事,让人受益一生
  • 优秀领导者必须具备的4大特质
  • CSDN学生大本营“每日进步”文章
  • [转]齐善鸿:职业心智训练与管理教育
  • 基于steam的游戏销量预测 — PART 2 — 文本分析
  • 如何以聪明的方式提问
  • 图片分辨率提升工具
  • 模糊图片(动漫)转高清 (aardio GUI),优质图片处理软件
  • 图像清晰度
  • python实现淘宝毫秒级秒杀 自动付款
  • python实现淘宝自动登录秒杀功能
  • 秒杀脚本丨Python淘宝或京东等秒杀抢购脚本实现
  • python+selenium+chrome实现淘宝购物车秒杀自动结算
  • 万物皆可秒—— 淘宝秒杀Python脚本,扫货618,备战双11!
  • python制作购物秒杀脚本,以淘宝秒杀脚本为例!
  • python 制作淘宝秒杀脚本
  • Python秒杀脚本丨淘宝或京东平台定时自动秒杀抢购脚本
  • 500左右降噪蓝牙耳机推荐,热门降噪蓝牙耳机排行榜推荐
  • 看电影哪款蓝牙耳机降噪效果最好?性价比降噪蓝牙耳机推荐
  • 百元降噪耳机推荐有哪些品牌?适合学生党使用的降噪蓝牙耳机分享
  • 蓝牙耳机通话降噪哪个效果好?目前降噪效果最好的耳机推荐
  • 降噪耳机推荐,四款优秀的降噪耳机分享