Languages
[Edit]
DE

JavaScript - Math.sin() Methode - Beispiel

3 points
Created by:
Nikki
8720

Math sin ist eine statische Methode, die nur einen Parameter akzeptiert und die Approximation der mathematischen Sinusfunktion zurückgibt.

// ONLINE-RUNNER:browser;

console.log( Math.sin( 0                  ) ); //   0 <-     0 Grade
console.log( Math.sin( 1.5707963267948966 ) ); //  ~1 <-  ~90 Grade ==  PI / 2
console.log( Math.sin( 3.1415926535897932 ) ); //  ~0 <- ~180 Grade ==  PI
console.log( Math.sin( 4.71238898038469   ) ); // ~-1 <- ~270 Grade == -PI * (3/2)
console.log( Math.sin( 6.2831853071795850 ) ); // ~-1 <- ~360 Grade ==  PI * 2

console.log( Math.sin(-1.5707963267948966 ) ); // ~-1 <- ~-90 Grade == -PI / 2

Hinweis: 1.2246467991473532e-16 und -1.133107779529596e-15 sollen gleich 0 sein, sie sind jedoch nicht auf einen Fehler bei der Genauigkeit der Unterbrechung zurückzuführen.


1. Dokumentation

SyntaxMath.sin(number)
Parameternumber - Ganzzahl oder Gleitkommazahlwert, der den Winkel im Bogenma├č darstellt (primitiver Wert).
Ergebnis

Zahlenwert berechnet als mathematische Funktion sin(x) im Bereich von -1 bis +1 (primitiver Wert).

Wenn die Funktion nicht berechnet werden kann, wird NaN zurückgegeben. 

Beschreibungsin ist eine statische Methode, die nur einen Parameter akzeptiert und die Approximation der mathematischen Funktion sin(x) zurückgibt.

2. Arbeit mit Radiant

// ONLINE-RUNNER:browser;

var x1 = 0.0;          // Berechnungsbeginn im Radiant
var x2 = Math.PI / 2;  // Berechnungsende im Radiant

var dx = Math.PI / 36; // Berechnungsschritt in Grad

for (var rad = x1; rad <= x2; rad += dx) {
  	var y = Math.sin(rad);
  
	console.log('sin(' + rad + ' rad) = ' + y);
}

3. Arbeit mit Graden

// ONLINE-RUNNER:browser;

function calculateSin(deg) {
	var radians = (Math.PI / 180) * deg;
  
  	return Math.sin(radians);
}

// Beispiel:

var x1 = 0.0;  // Berechnungsbeginn in Grad
var x2 = 90.0; // Berechnungsende in Grad

var dx = 5.0;  // Berechnungsschritt in Grad

for (var deg = x1; deg  <= x2; deg  += dx) {
	var y = calculateSin(deg );
  
  	console.log('sin(' + deg + ' deg) = ' + y);
}

4. Umgekehrtes Konsolendiagramm - Beispiel

// ONLINE-RUNNER:browser;

var x1 = 0.0;     // Beginn des Sinuscharts
var x2 = 6 * 3.14 // Ende des Sinuscharts

var dx = 3.14 / 4.0; // Schritt der x-Achse
var dy = 1.0  / 5.0; // Schritt der y-Achse

for (var rad = x1; rad < x2; rad += dx) {
  	var y1 = 0.0;
  	var y2 = Math.sin(rad) + 1;

  	var line = '';
  
  	for(var y = y1; y < y2; y += dy) {
    	line += ' ';
    }
  
  	console.log(line + '+');
}

5. 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="130"></canvas>
  <script>
    
    var canvas = document.querySelector('#canvas');
    var context = canvas.getContext('2d');

    // Sinuschartbereich
    var x1 =  0;           // 0 Grade
    var x2 = +2 * Math.PI; // +360 Grade
    var y1 = -1.0;
    var y2 = +1.0;

    var dx = 0.1;

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

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

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

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

      return point;
    }

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

    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. Sine - 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