p5.js | Función atan2()

La función atan2() en p5.js se usa para calcular el ángulo desde un punto de origen específico medido desde el eje x positivo. Los valores se devuelven en el rango de PI a -PI como puntos flotantes. Se utiliza comúnmente para orientar la geometría a la posición del cursor.

Sintaxis:

atan2(y, x)

Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación.

  • y: Es un número que especifica la coordenada y del punto.
  • x: Es un número que especifica la coordenada x del punto.

Valor de retorno: Devuelve un número que denota el arco tangente del punto dado.

Los siguientes ejemplos ilustran la función atan2() en p5.js:

Ejemplo 1:

function setup() {
  createCanvas(500, 200);
  textSize(18);
  
  text("Move the slider to observe the effects"
         + " of the atan2() function", 20, 30);
  
  sliderXPos = createSlider(-200, 200, 0, 1);
  sliderXPos.position(20, 50);
  
  sliderYPos = createSlider(-200, 200, 0, 1);
  sliderYPos.position(20, 80);
}
  
function draw() {
  clear();
  text("Move the slider to observe the effects"
         + " of the atan2() function", 20, 30);
  
  sliderXVal = sliderXPos.value();
  sliderYVal = sliderYPos.value();
  
  atan2Val = atan2(sliderXVal, sliderYVal);
  
  text("The X position value is: " + sliderXVal, 20, 140);
  text("The Y position value is: " + sliderYVal, 20, 160);
  text("The atan2 value is: " + atan2Val, 20, 180);
}

Producción:
slider-values

Ejemplo 2:

function setup() {
  createCanvas(500, 400);
  textSize(18);
   
  text("Move the mouse to see the rectangle"
        + " align to it.", 20, 30);
}
   
function draw() {
  clear();
  text("Move the mouse to see the rectangle"
        + " align with the mouse.", 20, 30);
   
  // Move the rectangle to the
  // middle of the screen
  translate(width / 2, height / 2);
   
  // Use the atan2() function to find
  // the value according to the mouse
  // coordinates
  let adjustedValue = atan2(mouseY - height / 2,
                            mouseX - width / 2);
  rotate(adjustedValue);
   
  // Draw a rectangle
  rect(0, 0, 50, 25);
   
  text(adjustedValue.toFixed(4), 100, 20);
}

Producción:
mouse-align

Editor en línea: https://editor.p5js.org/

Configuración del entorno: https://www.geeksforgeeks.org/p5-js-soundfile-object-installation-and-methods/

Referencia: https://p5js.org/reference/#/p5/atan2

Publicación traducida automáticamente

Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *