📜  p5.js | curveVertex()函数

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

p5.js | curveVertex()函数

p5.js 中的curveVertex()函数用于指定用于绘制曲线的顶点坐标。它需要 2D 曲线的 2 个参数和 3D 曲线的 3 个参数。 2D 和 3D 模式都可用于在 WebGL 模式下进行绘图。此函数只能在beginShape()endShape()之间使用。

第一个和最后一个顶点用于引导曲线的开始和结束。在给定的第二点和第三点之间绘制一条曲线至少需要四个点。额外的顶点将用于绘制它们之间的曲线。

句法:

curveVertex( x, y )

或者

curveVertex( x, y, [z] )

参数:此函数接受三个参数,如上所述,如下所述:

  • x:它是一个数字,指定顶点的 x 坐标。
  • y:它是一个数字,指定顶点的 y 坐标。
  • z:它是一个数字,指定顶点的 z 坐标。它是一个可选参数。

以下示例说明了 p5.js 中的curveVertex()函数

示例 1:

function setup() {
  createCanvas(500, 300);
  textSize(16);
}
  
function draw() {
  background("green");
  fill("black");
  text("The curve below is made using curveVertex() function in Canvas", 10, 20);
  
  // Define the vertex points
  let p1 = { x: 150, y: 250 };
  let p2 = { x: 100, y: 100 };
  let p3 = { x: 400, y: 100 };
  let p4 = { x: 350, y: 250 };
  
  noFill();
  
  // Start the curve
  beginShape();
  
  // Specify other points in curveVertex()
  curveVertex(p1.x, p1.y);
  curveVertex(p2.x, p2.y);
  curveVertex(p3.x, p3.y);
  curveVertex(p4.x, p4.y);
  endShape();
  
  // Draw circles for demonstration
  circle(p1.x, p1.y, 10);
  circle(p2.x, p2.y, 10);
  circle(p3.x, p3.y, 10);
  circle(p4.x, p4.y, 10);
}

输出:

curveVertex_canvas

示例 2:

let newFont;
  
function preload() {
  newFont = loadFont("fonts/Montserrat.otf");
}
  
function setup() {
  createCanvas(500, 200, WEBGL);
  textFont(newFont, 14);
}
  
function draw() {
  background("green");
  fill("black");
  text("The curve below is made using curveVertex() function in WebGL", -245, -75);
  
  // Define the vertex points
  let p1 = { x: -200, y: 175, z: 0 };
  let p2 = { x: -200, y: 25, z: 0 };
  let p3 = { x: 150, y: 25, z: 0 };
  let p4 = { x: 275, y: 175, z: 0 };
  
  noFill();
  
  // Start the curve
  beginShape();
  
  // Specify the points of the vertex
  curveVertex(p1.x, p1.y, p1.z);
  curveVertex(p2.x, p2.y, p2.z);
  curveVertex(p3.x, p3.y, p3.z);
  curveVertex(p4.x, p4.y, p4.z);
  endShape();
}

输出:

curveVertex_webgl

在线编辑器: https://editor.p5js.org/

环境设置: https://www.geeksforgeeks.org/p5-js-soundfile-object-installation-and-methods/

参考: https://p5js.org/reference/#/p5/curveVertex