📜  p5.js | lerp()函数

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

p5.js | lerp()函数

lerp()函数用于查找两个数字之间的数字。 amt 参数可用于指定在两个值之间插入的量。接近 0.1 的量意味着最终值更接近第一个值,更接近 0.9 意味着该值更接近第二个值。如果该值小于或大于这些值,则将根据两个数字的比率计算最终值。

它可用于绘制虚线或通过查找直线中的所有中间点沿路径创建运动。

句法:

lerp( start, stop, amt )

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

  • start:这是一个数字,表示两个数字的第一个值。
  • stop:这是一个数字,表示两个数字的第二个值。
  • amt:它是一个数字,表示在两个数字之间插入一个数字的数量。

返回值:它返回一个带有 lerped 值的数字。

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

示例 1:

function setup() {
  createCanvas(600, 200);
  textSize(20);
   
  inputElemA = createInput(10);
  inputElemA.position(30, 40);
   
  inputElemB = createInput(100);
  inputElemB.position(30, 60);
   
  sliderElem = createSlider(0, 1, 0.5, 0.1);
  sliderElem.position(30, 120);
}
   
function draw() {
  clear();
  text("Enter two values between which new "
        + "number would be lerped", 20, 20);
  text("Move the slider to observe the amount"
        + " of lerping", 20, 100);
   
  // Convert the string value to a number
  // value for lerping
  inputValA = Number(inputElemA.value());
  inputValB = Number(inputElemB.value());
  sliderVal = sliderElem.value();
   
  text("The amount of lerping is: "
        + sliderVal, 20, 160);
          
  text("The lerped value is: "
        + lerp(inputValA, inputValB, 
        sliderVal), 20, 180);
}

输出:
lerp-滑块

示例 2:

function setup() {
  createCanvas(600, 300);
  textSize(20);
  
  sliderElem = createSlider(0, 1, 0.5, 0.1);
  sliderElem.position(30, 180);
  
  circleApos = 50;
  circleBpos = 500;
}
  
function draw() {
  clear();
  text("Move the slider to observe the x position "
          + "of the middle circle", 20, 160);
  
  circle(circleApos, 50, 80);
  circle(circleBpos, 50, 80);
  
  sliderVal = sliderElem.value();
  lerpedVal = lerp(circleApos, circleBpos, sliderVal);
  
  // Draw the circle at the lerped x coordinate
  circle(lerpedVal, 50, 80);
  
  text("The amount of lerping is: " + sliderVal, 20, 220);
}

输出:
圈勒普

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

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

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