Languages
[Edit]
DE

JavaScript - Math.asin() Methode - Beispiel

3 points
Created by:
Nikki
10520

Die Math.asin Funktion gibt die Zahl im Bogenmaß im Bereich -Math.PI/2 bis +Math.PI/2 zurück. Die Funktion berechnet den Wert der invertierten Sinusfunktion.

// ONLINE-RUNNER:browser;

function calculateAngle(a, h) {
	return Math.asin(a / h);
}

/*
  |\
  | \ h
a |  \
  |__*\ <- Winkel
    b
*/

var a, b, h;

// a, b und h bilden gleichschenklige rechtwinklige Dreiecke
a = 3; 
b = a;
h = Math.sqrt(a * a + b * b);
console.log( calculateAngle(a, h) ); // 0.7853981633974483 <- ~45 Grade

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

// a, b und h können kein Dreieck bilden
a = 3; 
b = a; 
h = 1;
console.log( calculateAngle(a, h) ); // NaN

1. Dokumentation

SyntaxMath.asin(number)
Parameter

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

number soll im Bereich von -1 bis +1liegen. 

Ergebnis

Wert von number im Bogenmaß im Bereich -Math.PI/2 bis +Math.PI/2 (primitiver Wert).

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

Beschreibung

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


2. Arbeit mit Graden

// ONLINE-RUNNER:browser;

function calculateAngle(a, h) {
	var angle = Math.asin(a / h);

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

/*
  |\
  | \ h
a |  \
  |__*\ <- Winkel
    b
*/

var a, b, h;

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

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

// a, b und h können kein Dreieck bilden
a = 3; 
b = a; 
h = 1;
console.log( calculateAngle(a, h) ); // NaN

3. Canvas-Diagramm - Beispiel

// ONLINE-RUNNER:browser;

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

    // Arcsine Chartbereich
    var x1 = -1.0;
    var x2 = +1.0;
    var y1 = -Math.PI / 2;
    var y2 = +Math.PI / 2;

    var dx = 0.01;

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

    function calculatePoint(x) {
      var y = Math.asin(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

Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.

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