The constrain() function in p5.js is used to constrain a number between a given minimum and maximum limit.
Syntax:
constrain( n, low, high )
Parameters: This function accept three parameters as mentioned above and described below:
- n: It is a number which denotes the value that has to be constrained.
- low: It is a number which denotes the minimum limit to which the number is constrained.
- high: It is a number which denotes the maximum limit to which the number is constrained.
Return Value: It returns a number with the constrained value.
The example below illustrates the constrain() function in p5.js:
Example 1:
function setup() {   createCanvas(650, 200);   textSize(20);      inputElemA = createInput(10);   inputElemA.position(30, 40);      inputElemB = createInput(100);   inputElemB.position(30, 60);      sliderElem = createSlider(-100, 100, 50, 1);   sliderElem.position(30, 120); }    function draw() {   clear();   text("Enter two values between which the "    + "number would be constrained", 20, 20);   text("Move the slider to observe the effects"    + " of the constrain() function", 20, 100);      // Convert the string value to a number value   inputValA = Number(inputElemA.value());   inputValB = Number(inputElemB.value());   sliderVal = sliderElem.value();      text("The slider value is: " + sliderVal, 20, 160);      // Display the constrained value   text("The constrained value is: "        + constrain(sliderVal, inputValA,         inputValB), 20, 180); } |
Output:
Example 2:
function setup() {   createCanvas(600, 350);   textSize(20);    }    function draw() {   clear();   text("Move the pointer to see the effect "        + "of constrain() in the square", 20, 30);   text("White circle represents unconstrained"        + " mouse", 20, 50);   text("Red circle represents mouse constrained"        + " to box dimensions", 20, 70);      noFill();   square(100, 100, 200);      circle(mouseX, mouseY, 40);      // Constrain the mouse x and y position   constrainedMouseX = constrain(mouseX, 100, 300);   constrainedMouseY = constrain(mouseY, 100, 300);      fill('red');   circle(constrainedMouseX, constrainedMouseY, 20); } |
Output:
Online editor: https://editor.p5js.org/
Environment Setup: https://www.geeksforgeeks.org/p5-js-soundfile-object-installation-and-methods/
Reference: https://p5js.org/reference/#/p5/constrain

