Languages
[Edit]
DE

JavaScript - Math.atan() Methode - Beispiel

3 points
Created by:
Nikki
9170

Die┬áMath.atan┬áFunktion gibt die Zahl im Bogenma├č im Bereich┬á-Math.PI/2┬ábis┬á+Math.PI/2zur├╝ck. Die Funktion berechnet den Wert der invertierten Tangentenfunktion.

// ONLINE-RUNNER:browser;

function calculateAngle(a, b) {
	return Math.atan(a / b);
}

/*
  |\
  | \ h - F├╝r diese Funktion sind diese Informationen nicht erforderlich
a |  \
  |__*\ <- Winkel
    b
*/

var a, b;

// a und b bilden gleichschenkliges rechtwinkliges Dreieck
a = 3; 
b = a;
console.log( calculateAngle(a, b) ); // 0.7853981633974483 <- ~45 Grade

// a und b bilden die H├Ąlfte des gleichseitigen Dreiecks
a = 3; 
b = a * Math.sqrt(3); 
console.log( calculateAngle(a, b) ); // 0.5235987755982988 <- ~30 Grade

// a und b bilden ein sehr hohes (+Inf) und schlankes (~0) Dreieck
a = +Infinity; 
b = 0; 
console.log( calculateAngle(a, b) ); // 1.5707963267948966 <- ~90 Grade

1. Dokumentation

SyntaxMath.atan(number)
Parameter

number - Ganzzahl oder Gleitkommazahl, der das Ergebnis einer Operation opposite / adjacent im rechtwinkligen Dreieck darstellt. (primitiver Wert).

Ergebnis

Wert von number┬áim Bogenma├č im Bereich von┬á-Math.PI/2┬ábis┬á+Math.PI/2┬á(primitiver Wert).

Wenn der Wert nicht berechnet werden kann, wird NaN zurückgegeben.

Beschreibung

atan ist eine statische Methode, die nur einen Parameter verwendet und eine Approximation an das Ergebnis der mathematischen Funktion arctangent(x) zurückgibt.


2. Arbeit mit Graden

// ONLINE-RUNNER:browser;

function calculateAngle(a, b) {
	var angle = Math.atan(a / b);

    return (180 / Math.PI) * angle; // Radiant zu Graden Umwandlung
}

/*
  |\
  | \ h - F├╝r diese Funktion sind diese Informationen nicht erforderlich
a |  \
  |__*\ <- Winkel
    b
*/

var a, b;

// a und b bilden gleichschenklige rechtwinklige Dreiecke
a = 3; 
b = a;
console.log( calculateAngle(a, b) ); // ~45 Grade

// a und b bilden die H├Ąlfte des gleichseitigen Dreiecks
a = 3; 
b = a * Math.sqrt(3); 
console.log( calculateAngle(a, b) ); // ~30 Grade

// a und b bilden ein sehr hohes (+Inf) und schlankes (~0) Dreieck
a = +Infinity; 
b = 0; 
console.log( calculateAngle(a, b) ); // ~90 Grade

3. Canvas-Diagramm - Beispiel

// ONLINE-RUNNER:browser;

<!doctype html>
<html>
<head>
  <style> #canvas { border: 1px solid black; } </style>
</head>
<body>
  <canvas id="canvas" width="400" height="150"></canvas>
  <script>
    
    var canvas = document.querySelector('#canvas');
    var context = canvas.getContext('2d');

    // arctangent Chartbereich
    var x1 = -10.0;
    var x2 = +10.0;
    var y1 = -Math.PI / 2;
    var y2 = +Math.PI / 2;

    var dx = 0.1;

    var xRange = x2 - x1;
    var yRange = y2 - y1;

    function calculatePoint(x) {
      var y = Math.atan(x);

      // Chart wird aufgrund von umgekehrten Canvas-Pixeln horizontal umgekehrt

      var nx = (x - x1) / xRange;       // normalized x
      var ny = 1.0 - (y - y1) / yRange; // normalized y
      
      var point = {
        x: nx * canvas.width,
        y: ny * canvas.height
      };

      return point;
    }

    console.log('x range: <' + x1 + '; ' + x2 + '>');
    console.log('y range: <' + y1 + '; ' + y2 + '> // angles in radians');

    var point = calculatePoint(x1);
    
    context.beginPath();
    context.moveTo(point.x, point.y);

    for (var x = x1 + dx; x < x2; x += dx) {
      point = calculatePoint(x);
      context.lineTo(point.x, point.y);
    }

    point = calculatePoint(x2);
    context.lineTo(point.x, point.y);
    context.stroke();

  </script>
</body>
</html>

Literaturverzeichnis

  1. Arkusfunktion - Wikipedia

JavaScript - Objekt Math (DE)

Native Advertising
­čÜÇ
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

ÔŁĄ´ŞĆ­čĺ╗ ­čÖé

Join