互动媒体技术——processing旋转方块(不同角度的旋转)

总体步骤概述

1.观察图形,总结其中的规律
2.将规律转化为代码,注意封装性
3.应用交互性,拓展作品
一、观察图形,总结其中的规律

在这里插入图片描述

(1)图形组成元素

图形是由三个立方体的线框图以及立方体的每个顶点防止一个小球所形成。

(2)图形运动特征

可以观察,三个立方体均在旋转,但是每个立方体的旋转轴却不一样。这里看似简单,但是涉及到很多步的角度的转换。
首先了解一下processing的坐标系:
在这里插入图片描述
最外圈的立方体:这里先看作绕Y轴旋转
中间的立方体:绕x轴旋转
最小的立方体:绕Z轴旋转
当然,它们还需要旋转一定的角度

二.将规律转化为代码,注意封装性
第一步:分析类的关系

(1)首先每个cube都有绘制、size等成员,因此得建立一个cube类,其中包含绘制cube和设置cube大小的功能
(2)由于每个cube的旋转角度不一致,所以每个cube的旋转的方法都不一样,但可以只是内容不一样,但是方法名相同,这里我们想到的第一个便是接口。
于是分析了一下,整体的结构大致是:
在这里插入图片描述

第二步:开始编写每一块的代码
  • Cube类:在这个类中,我把小球的绘制也放在了绘制函数一起,这样子方便看作是一个整体。
class Cube {
   
  float size;
  color c;
  Cube() {
   
  }
  Cube(float size) {
   
    this.size =size;
    
  }
 public void setColor(color c){
   
   this.c=c;
 }
  public void drawCube() {
   
    float []x={
   -size/2,-size/2,-size/2,-size/2,size/2,size/2,size/2,size/2};
    float []y={
   -size/2,size/2,-size/2,size/2,-size/2,size/2,-size/2,size/2};
    float []z={
   size/2,size/2,-size/2,-size/2,size/2,size/2,-size/2,-size/2};
    ortho()<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值