📜  如何使用 p5.js 创建 GeeksforGeeks 徽标?

📅  最后修改于: 2022-05-13 01:56:45.385000             🧑  作者: Mango

如何使用 p5.js 创建 GeeksforGeeks 徽标?

在本文中,我们将了解如何使用 p5.js 创建GeeksforGeeks徽标。

Processing 是一种灵活的软件速写本,也是一种用于学习如何在视觉艺术环境中编码的语言。我们可以使用我们的编码技能示例创建不同类型的艺术,例如游戏、动画和物理引擎等。

方法:

  • 设置设置输出窗口大小的函数setup()。
  • 用随机值(offset = 108)初始化一个变量。
  • 在 draw()函数中设置 logo 的背景颜色、nofill、描边和位置。
  • 然后开始画logo:
  • 创建两个弧倒“C”形。
  • 在弧的中间创建两条水平线。
  • 使圆弧的中心为零。
  • 我们的标志是完整的。

下面是上述方法的实现。

第一步:创建两条弧线,如下图:

Javascript
// Create arc
arc(width/2 - offset, height/2, 200, 200, -PI + PI/3, PI);
arc(width/2 + offset, height/2, 200, 200, 0, 2*PI - PI/3);


Javascript
// Horizental lines
line(width/2 + offset + 100*sin(PI/2), height/2, width/2, height/2);
line(width/2 - offset - 100*sin(PI/2), height/2, width/2, height/2);


Javascript
// Create a variable.
  
var offset;
function setup() {
  // Set the size of ouput window.
  createCanvas(600, 500);
    
  // Set the value of offset
  offset = 108;
}
  
function draw() {
    
  // Set the background colour.
  background(51);
  noFill();
  stroke(0, 255, 0);
  strokeWeight(16);
    
  // Set the ellipse mode in center.
  ellipseMode(CENTER);
    
  // Arc of both sides.
  arc(width/2 - offset, height/2, 200, 200, -PI + PI/3, PI);
  arc(width/2 + offset, height/2, 200, 200, 0, 2*PI - PI/3);
    
  // Horizental lines
  line(width/2 + offset + 100*sin(PI/2), height/2, width/2, height/2);
  line(width/2 - offset - 100*sin(PI/2), height/2, width/2, height/2);
  push();
    
  // Make the value of center zero.
  translate(width/2 - offset, height/2);
    
    
  pop();
  push();
    
  // Make the value of center zero.
  translate(width/2 + offset, height/2);
    
    
  pop();
}


输出:

第 2 步:创建水平线

Javascript

// Horizental lines
line(width/2 + offset + 100*sin(PI/2), height/2, width/2, height/2);
line(width/2 - offset - 100*sin(PI/2), height/2, width/2, height/2);

例子:

Javascript

// Create a variable.
  
var offset;
function setup() {
  // Set the size of ouput window.
  createCanvas(600, 500);
    
  // Set the value of offset
  offset = 108;
}
  
function draw() {
    
  // Set the background colour.
  background(51);
  noFill();
  stroke(0, 255, 0);
  strokeWeight(16);
    
  // Set the ellipse mode in center.
  ellipseMode(CENTER);
    
  // Arc of both sides.
  arc(width/2 - offset, height/2, 200, 200, -PI + PI/3, PI);
  arc(width/2 + offset, height/2, 200, 200, 0, 2*PI - PI/3);
    
  // Horizental lines
  line(width/2 + offset + 100*sin(PI/2), height/2, width/2, height/2);
  line(width/2 - offset - 100*sin(PI/2), height/2, width/2, height/2);
  push();
    
  // Make the value of center zero.
  translate(width/2 - offset, height/2);
    
    
  pop();
  push();
    
  // Make the value of center zero.
  translate(width/2 + offset, height/2);
    
    
  pop();
}

输出: