Tlola o ye mo diteng
DikaiBula setseleganyi ↗

atan2

→ atan2()

E busa sekhutlo se se bopiwang ke ntlha, ntlha ya 0, 0, le mothalo wa x. **Y e tla pele.**

atan2(y, x)

Ela tlhoko thulaganyo ya dipalo: atan2(y, x) — y e tla PELE, x e latela. Se ke sengwe se se fapaanang le tsotlhe tse dingwe mo Bopa, kwa x e tlang pele ka metlha (thalaSediko(x, y, bogolo), thalaMothalo(x1, y1, x2, y2)). Ke thulaganyo ya dipalo e e sa fetogeng mo dipuong tsotlhe, ka jalo Bopa ga e e fetole — mme ke phoso e e dirwang thata.

Se e se dirang ke go araba potso e nngwe fela: selo se se kwa kae? Fa o na le ntlha, atan2 e go naya sekhutlo go tswa mo ntlheng ya (0, 0) go ya kwa go yona.

Mokgwa o o dirisiwang thata ke go supa selo kwa go se sengwe:

metlha sekhutlo = atan2(y2 - y1, x2 - x1);

Ka tlwaelo matswela a magareng ga -PI le PI; ka dikirii, magareng ga -180 le 180.

Leina le sala jaaka le ntse — bona sin.

LeinaMofutaTlhaloso
ypaloBoemo jwa y jwa ntlha. Bo tla pele.
xpaloBoemo jwa x jwa ntlha.
Mela e e supang fa gare
tiro setaLoeto() {
  thalaKanefase(400, 400);
  bokamorago(19, 24, 34);
  boketeMothalo(2);

  metlha fagareX = 200;
  metlha fagareY = 200;

  gopheta (diri x = 40; x < 400; x = x + 60) {
    gopheta (diri y = 40; y < 400; y = y + 60) {
      // Y PELE, X MORAGO — sekhutlo go tswa mo ntlheng go ya fa gare
      metlha sekhutlo = atan2(fagareY - y, fagareX - x);

      mothaloMmala(lekanyetsa(sekhutlo, -PI, PI, 70, 250), 160, 220);
      thalaMothalo(x, y, x + cos(sekhutlo) * 26, y + sin(sekhutlo) * 26);
    }
  }
}
atan2 e farologanya ditsela tse atan e sa di kgoneng
tiro setaLoeto() {
  thalaKanefase(400, 400);
  bokamorago(244);

  seeloSaSekhutlo(DEGREES);

  // Dintlha tse pedi tse di lebaganeng — serepodi se a lekana
  kwala(atan(4 / 3));
  kwala(atan(-4 / -3));

  // Mme atan2 e a di farologanya
  kwala(atametsa(atan2(4, 3)));
  kwala(atametsa(atan2(-4, -3)));

  boketeMothalo(3);
  mothaloMmala(60, 130, 200);
  thalaMothalo(200, 200, 200 + 3 * 30, 200 + 4 * 30);
  mothaloMmala(220, 120, 70);
  thalaMothalo(200, 200, 200 - 3 * 30, 200 - 4 * 30);
}

atan, sin, cos, seeloSaSekhutlo, sekgala