手绘vs码绘 动态对比

用手绘和码绘两种方式创作“运动”主题的作品,并作出对比

手绘图:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
码绘图:
在这里插入图片描述
比较
技法:不考虑美观的话手绘比较方便,可以怎么想怎么做,而码绘却比较复杂,需要转换为代码。
工具:手绘可以用笔,数位板等等,码绘是代码和编程工具
理念:手绘怎么想怎么画,码绘需要转换思维,用数学的思想考虑
创作体验:手绘更加友好轻松,画了会马上呈现效果,而码绘却只能面对代码,需要运行才知道效果
呈现效果:对没有手绘功底的人来说,码绘呈现效果会更好,在动态图形中,手绘很难表现,而码绘却可以表现出各种各样的动态效果,码绘的创作能力更高。
载体:手绘为纸,电脑屏幕;码绘载体是电脑屏幕
应用:手绘可用于静态绘画,更容易表现精细细节,而码绘更擅长动态几何图形的表现,可用于动画,游戏,动图,动图界面展示等等方面,适用范围很广。

码绘实现

var l=500;
var w=500;
var d=100;
var px=l/2;
var py=w/2;
var px1=l/3;
var py1=w/3;
var Vx=-3;
var Vy=-10;
var Vx1=-16;
var Vy1=13;

// 函数setup() : 准备阶段
function setup() {
	createCanvas(l,w);
}
 // 函数draw():作画阶段
function draw() {	
  background(200);
  //用for循环画多个背景太极图案
  for(var col=0;col<5;col++) // 画8列
	{
		for(var row =0;row<5;row++) // 画6行
		{
			var x = col*100; // x坐标为i的70倍,即X方向间隔为70像素
			var y = row*100; // y坐标为i的60倍,即Y方向间隔为60像素
			taiji(x,y,50);
		}		
	}	

//两个大太极图案的碰撞
  taiji(px,py,d);
  taiji(px1,py1,d);
  //pxy碰撞检测
  px+=Vx;
  py+=Vy;
	if(px>width-d/2||px<0+d/2){
		Vx*=-1;
  }
  if(py>height-d/2||py<0+d/2){
		Vy*=-1;
  }
  taiji(px1,py1,d);
  //pxy1碰撞检测
  px1+=Vx1;
  py1+=Vy1;
	if(px1>width-d/2||px1<0+d/2){
		Vx1*=-1;
  }
  if(py1>height-d/2||py1<0+d/2){
		Vy1*=-1;
  }
  
  s=sqrt((px-px1)*(px-px1)+(py-py1)*(py-py1));
  //pxy和pxy1碰撞检测
   if(s<d){
		Vx1*=-1;
    Vy1*=-1;
    Vx*=-1;
    Vy*=-1;
  }

 }

//画太极的函数
function taiji(px,py,d)
{
   
fill(255);
arc(px, py, d, d, 0, PI, OPEN);
  
fill(0);
arc(px, py, d, d, PI, 2*PI, OPEN);  
  
fill(0);
arc(px-d/4, py, d/2, d/2, 0, PI, OPEN); 

fill(255);
arc(px+d/4, py, d/2, d/2, PI, 2*PI, OPEN); 

fill(255);// 填充白色
ellipse(px-d/4,py,d/7,d/7); // 画圆形
fill(0);// 填充白色
ellipse(px+d/4,py,d/7,d/7); // 画圆形
  
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值