sin în Dart

Funcțiile trigonometrice sin, cos și tan; unghiul se dă în radiani, nu în grade.

Sintaxă
import 'dart:math';

double sin(num radiani)
double cos(num radiani)
double tan(num radiani)

Ce face sin

sin, cos și tan din dart:math primesc unghiul în radiani. Un cerc complet are 2π radiani, deci gradele se transformă cu grade * pi / 180.

Rezultatele sunt double și pot avea mici erori de rotunjire: cos(pi / 2) nu dă exact 0, ci 6.123233995736766e-17. Rotunjește cu toStringAsFixed când afișezi.

Pentru funcțiile inverse există asin, acos, atan și atan2; toate returnează radiani.

Parametri

Parametru Descriere
radiani Unghiul, în radiani.

Ce returnează

Un double (sinusul, cosinusul sau tangenta unghiului).

Exemple

Exemplul 1: Valori pentru unghiuri cunoscute

import 'dart:math';

double rad(num grade) => grade * pi / 180;

void main() {
  for (final g in [0, 30, 45, 60, 90]) {
    print('$g°: sin=${sin(rad(g)).toStringAsFixed(4)} '
        'cos=${cos(rad(g)).toStringAsFixed(4)}');
  }
  print(cos(pi / 2));
  print(tan(rad(45)).toStringAsFixed(4));
}

Rezultat

0°: sin=0.0000 cos=1.0000
30°: sin=0.5000 cos=0.8660
45°: sin=0.7071 cos=0.7071
60°: sin=0.8660 cos=0.5000
90°: sin=1.0000 cos=0.0000
6.123233995736766e-17
1.0000

Exemplul 2: Înălțimea unui copac din unghiul de privire

Stai la 20 m de copac și îi vezi vârful sub un unghi de 35°. Înălțimea este distanța × tan(unghi).

import 'dart:math';

void main() {
  const distanta = 20.0;
  const unghi = 35.0;
  final inaltime = distanta * tan(unghi * pi / 180);
  print('Copacul are aproximativ ${inaltime.toStringAsFixed(1)} m.');
}

Rezultat

Copacul are aproximativ 14.0 m.

Exemplul 3: Puncte pe un cerc

Un punct pe un cerc de rază r are coordonatele (r·cos θ, r·sin θ).

import 'dart:math';

void main() {
  const raza = 10;
  for (var i = 0; i < 4; i++) {
    final unghi = i * pi / 2;
    final x = raza * cos(unghi);
    final y = raza * sin(unghi);
    print('(${x.toStringAsFixed(1)}, ${y.toStringAsFixed(1)})');
  }
}

Rezultat

(10.0, 0.0)
(0.0, 10.0)
(-10.0, 0.0)
(-0.0, -10.0)

Greșeli frecvente

  • Dai unghiul în grade: sin(90) nu este 1, ci 0.893…, pentru că 90 este interpretat ca 90 de radiani.
  • Te aștepți la valori exacte: sin(pi) dă 1.2246467991473532e-16, nu 0. Rotunjește sau compară cu o toleranță.

Comenzi înrudite

  • atan2: Returnează unghiul (în radiani, între -π și π) al punctului (x, y) față de axa orizontală.
  • pi: Constantele matematice din dart:math: pi, e, sqrt2, ln10 (și ln2, log2e, log10e, sqrt1_2).
  • sqrt: Calculează rădăcina pătrată a unui număr și returnează mereu un double; pentru numere negative dă NaN.