给零基础朋友的编程课12 代码

本文详细讲解了如何通过P5.js的示例代码创建仿漏斗图形,适合初学者学习基础编程和图形设计。
摘要由CSDN通过智能技术生成

给零基础朋友的编程课12 下 - 仿制品7 案例_哔哩哔哩_bilibili

源代码:

// 色表
// 桃红 254,181,167
// 粉红 255,208,199

void setup()
{
  size(1000,750);
  background(254,181,167);
}

void draw()
{
  // 绘制画框
  stroke(255,208,199);
  strokeWeight(28);
  noFill();
  rect(0,0, 1000,750);
  
  // 绘制画布
  noStroke();
  fill(255,208,199);
  rect(0,120, 1000,512);
  
  // 绘制图形
  // 上排
  float x = 16, y = 135;
  drawAFunnel(x,y,true);  // 1
  x += 230+16;
  drawAFunnel(x,y,true);  // 2
  x += 230+16;
  drawAFunnel(x,y,false); // 3
  x += 230+16;
  drawAFunnel(x,y,true);  // 4
  // 下排
  x = 16;
  y += 230+16;
  drawAFunnel(x,y,false); // 1
  x += 230+16;
  drawAFunnel(x,y,true);  // 2
  x += 230+16;
  drawAFunnel(x,y,false); // 3
  x += 230+16;
  drawAFunnel(x,y,false); // 4
}

// 绘制一个白色漏斗
void drawAFunnel(float x, float y, boolean isUp)
{
  pushMatrix(); // 我开辟了一个次空间给你用
    translate(x,y); // 窗口(画布)的原点坐标
    noStroke();
    fill(255);
    // 开始绘制
    if(isUp == true) // 如果是竖着的
    {
      // 就绘制竖漏斗
      arc(115,0,   230,230, 0,    PI);
      arc(115,230, 230,230, PI, 2*PI); 
    } 
    else // 否则就绘制水平漏斗
    {
      arc(0,  115, 230,230, -0.5*PI,0.5*PI);
      arc(230,115, 230,230,  0.5*PI,1.5*PI); 
    }
  popMatrix(); // 现在你用好了,我就将空间还原回去啦~
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值