Warning: Undefined array key "type" in /www/wwwroot/adcpu.com.cn/wp-content/themes/advertise/template/work-student.php on line 21
作品详情

时之落红

时间的流逝,事物更迭、生命轮回...

从统计学的诞生开始,直观化一直是个非常重要的过程,只有将数据直观的表现出来,人们才会更容易更充分的发现规律。直到今天,掌握数据可视化也成为了程序员必备的素质。而数据可视化作为一种视觉的形式,也具有一般视觉作品的艺术和美感。我们可以利用多种技术,结合自己的创造力,利用数据完成具有特殊意义的作品,同时传达一些重要的信息。同时,我们也要多多进行数据可视化,因为总有些规律是出乎意料的,甚至目前科学是解释不了的,这样会使我们有许多新的发现。

 

二,时间可视化作业说明

 

我的作品名叫《时之落红》,内容是依据时间来掉落花瓣,每过一分钟,会增加一朵花瓣,每过一秒钟,花瓣的速度会增加,每小时清空一次,并改变背景的颜色。

 

该作品可以表示时间的流逝,同时能表现事物更迭、生命轮回的意境。

int numFlakes = 1;  // 初始的花瓣数量
int maxFlakes = 60;  // 60 分钟一循环
int bgColor = color(50, 50,50);  // 背景颜色

class SnowFlake {
  // SnowFlake 类包含花瓣的所有信息
  float x, y;  // 花瓣的位置
  float speed;  // 花瓣的速度
  float size;  // 花瓣的大小
  float alpha;  // 花瓣的透明度
  
  SnowFlake() {
    // 构造函数初始化花瓣
    x = random(width);  // 随机位置
    y = random(height);
    speed = 0;  // 初始速度为 0
    size = random(5, 20);  // 随机大小
    alpha = random(0.1, 0.5);  // 随机透明度
  }
  
  void update() {
    // 更新花瓣的状态
    speed += 0.1;  // 速度增加 0.1
    y += speed;  // 按照速度移动花瓣
    
    // 如果花瓣超出画布,重新回到顶部
    if (y > height) {
      y = 0;
      x = random(width);
      speed = 0;
    }
  }
  
  void display() {
    // 绘制花瓣
    fill(255, 0, 255, alpha * 255);  // 粉红色,透明度根据 alpha 值计算
    ellipse(x, y, size, size);  // 用椭圆形绘制花瓣
  }
}

SnowFlake[] flakes = new SnowFlake[maxFlakes];  // 创建花瓣数组

void setup() {
  size(1000, 1000);  // 设置画布大小
  frameRate(60);  // 设置帧率为 60 fps
  
  // 初始化花瓣
  for (int i = 0; i < maxFlakes; i++) {
    flakes[i] = new SnowFlake();
  }
}

void draw() {
  //// 绘制背景和花瓣
background(bgColor);
for (int i = 0; i < numFlakes; i++) {
flakes[i].update();
flakes[i].display();
}

// 每过一分钟增加一片花瓣
noStroke();
if (frameCount % 3600 == 0) {
numFlakes++;
if (numFlakes > maxFlakes) {
numFlakes = 1; // 循环
}
}

// 每过一小时改变背景颜色
if (frameCount % 216000 == 0) {
bgColor = color(random(20,255), random(255), random(255));
}
}

 

佟润琦

“路长梦远,自强不息”
涉猎广泛,学习能力较强,有着较强的自学能力,着力与时俱进,能很快的适应并运用新事物。
有着敏锐的洞察力,具备较强的同理心和责任感,具备较强的逻辑思维能力和执行能力,为人谦虚负责,团结友善

0
3