一、手绘表现动态:
这个题目一开始看来 ,手绘是处于非常劣势的地位的,因为电脑上可以实现动态的过程,就是用动画的原理,每秒绘制60帧,不断进行重绘图形,来达到运动的效果的。
而本身来讲,手绘的图片本质上是不能动的,只能通过笔触来表达,来营造一种动态的效果。这个就比较考验功底了,表达动态的话,我总结了一下,是通过这些方式的。
(手绘作品如下:)
- 实际存在的物体本身动作来表达动态。
2. 比如飘逸的发丝,动态的裙摆,都是借助于别的真实的物体来表现运动的。
- 借助辅助线,或者是虚影,通过不存在的物体来表现。
比如这幅画,借助气体环绕身体,来表达主角的运动感。
- 通过几张连续的图片来表现运动,这些图片通常差异不大,相对位置也是固定的。也就是逐帧动画的方法。
这几张图是根据自己的码绘作品来完成的。
二、动态码绘的绘制:
这副作品是通过processing完成的。(不动的话点开大图)
这个作业的要求是围绕“运动”这个主题进行码绘与手绘,并对比。都是画画,那么面临的第一个问题就是画什么。于是我先画了一个小图形。这个图案是通过两个圆形加两个正方形经过一些旋转平移完成的。
代码如下。
pushMatrix();
rotate(-QUARTER_PI);
translate(-s/2.0, 0);
ellipse(0, 0, s, s);
rect(-s/2.0, 0, s, s);
popMatrix();
rotate(QUARTER_PI);
translate(s/2.0, 0);
ellipse(0, 0, s, s);
popMatrix();
}
接着给它添加自旋转以及两层循环让他有规律的铺满屏幕。
这个时候发现如果给每次旋转都加上一个相位的话,整体呈现了一种波浪的效果,动感非常强烈。在写循环的时候试了几个不同的值,最后达到了这个效果。代码如下:
void arrange(){
for (int i=1;i<=5;i++){
for (int j=1;j<=5;j++)
{
cube(i*120-30,j*120-30,1.5*(i+j));
}
}
}
void cube(float x1,float y1,float k){
pushMatrix();
translate(x1,y1);
rotate(millis(