Math.atan2 vs. (cos, sin)

Onko seuraava funktio "identtinen"

function id(p) {
var ang = Math.atan2(p.x, p.y);
var r = Math.sqrt( p.x**2 p.y**2 );
return {x: r*Math.cos(ang), y: r*Math.sin(ang)};
}

Ei ole, miten siitä atan2kkosesta saa pisteen takas? Pitääkö lisätä PI/4? Sit taas toiset pisteet menee väärin.

/* tässä olis missä oikeastaan yritän käyttää, mut en ymmärrä miks tää ei voi yksinkertasesti mulle selvitä että miten nää kulmat menee. (cos, sin) on yksikköympyrä ihan oikein (1, 0):sta vastapäivään. Mutta
Math.atan2(1,0) == Math.PI/4.
Jos siitä vähentää

Olkoon meillä keskipiste C=(cx, cy) ja sitten piste A = (ax, ay). Halutaan pyöräyttää A:ta kulman theta (radiaaneja) C:n ympäri.

function rot(a, c, theta) {

var r = Math.sqrt( (a.x-c.x)**2 (a.y-c.y)**2 );
var startAng = Math.atan2(a.x-c.x, a.y-c.y); // -Math.PI/4 ???
return { x: c.x r*Math.cos(startAng theta), y: c.y r*Math.sin(startAng theta) };
}

console.log( rot({x: 2, y:2}, {x:1, y:1}, Math.PI/4) )

*/

10

455

    Vastaukset 10

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Turbo-Urpo1

      Nämä Sini, Kosini ja Tangenttit ja kaikki muutkin trigonometria funktiot on syvältä, en niitä ole koskaan ymmärtänyt, jo kouluaikaan ne oli yhtä painajaista, eikä tilanne ole yhtään muuttunut.

    • Toi mun sotku jäi jotenkin kesken
      Jos siitä vähentää... siis sen PI/4:n (ja mistä hemmetistä tää luku tulee?), niin ei se toimi sittenkään

      Onko tämä funktio oikein (eli pitäisi kiertää pistettä p keskipisteen c ympäri kulman ang verran):

      var rotPoint = function(p, ang, c={x:0, y:0}) {
      var x = p.x - c.x;
      var y = p.y - c.y;
      var cosA = Math.cos(ang);
      var sinA = Math.sin(ang);
      return { x: cosA*x - sinA*y c.x, y: sinA*x cosA*y c.y }
      };

      Eli siirretään ensin origoon, sitten kierto (matriisilaskuna) ja sitten siirto takaisin.
      Tässähän ei atan2:sta tarvita, mutta silti jäi mietityttämään, että minkä kulman se antaa

      No, nythän se antaakin

      Math.atan2(1,0)
      1.5707963267948966

      Miten lienen saanut PI/4 viime kerralla?

      • Mä pistin varmaan Math.atan, eli siitä jäi se kakkonen pois ja se laski yksargumenttisa tietenkin Math.atan(1):n joka on neljäsosa pii.

        No nyt selkiskii docseista:
        The Math.atan2() method returns a numeric value between -π and π representing the angle theta of an (x, y) point. This is the counterclockwise angle, measured in radians, between the positive X axis, and the point (x, y). Note that the arguments to this function pass the y-coordinate first and the x-coordinate second.

        Eli y-koordinaatti ensin, miksi helvetissä?!?!


      • Turbo-Urpo1

        Mikähän tuossakin viestissä muka oli sääntöjen vastaista, pelkkää myötä elämistä minkkilaukun ongelman kanssa. Tätä oli jo vaikea käsittää.

        Mikkilaukku: Otan osaa, vaikken voikkaan mitenkään auttaa.

        Vieläköhän tästäkin löytyy jotain sääntöjen vastaista.


    • Turbo-Urpo1

      Nämä minkkilaukun ongelmat ovat aina näin teknisiä juttuja, jotta niihin ei kukaan osaa oikeesti ratkaisua kertoa, huumorilla kuittasin, ja ylläpito poisti käsittämättömästä syystä.

      Olis kyllä hiton mukava tietää mikä siinä oli vikana.

      • Kiitti viestistä, nään sen kyllä "inboxissa" (ja pysty sieltä lukemaankin, kun ei ollu liian pitkä) vaikka onkin poistettu. Oisko tekoäly poistanu jostain kumman syystä(?)

        Ongelma jo selvisikin, eli argumentit täytyy antaa atan2:lle eri järjestyksessä, siis

        a == Math.atan2(Math.sin(a), Math.cos(a))

        kun a on väliltä [-pi, pi].
        Sitä miksi se menee noin perin, on mm. täällä pohdittu: https://stackoverflow.com/questions/1045630/why-are-the-arguments-to-atan2-y-x-rather-than-x-y


    • Turbo-Urpo1

      Hakkumiset, mimittelyt ja sen semmoset roikkuu kyllä ketjuissa, sitten hyvä tahtoiset osan otot poistetaan, mikä siellä päässä oikein mättää.

    • Turbo-Urpo1

      Tuli tuossa mieleen että jos se huumori sattu arkaan paikkaan, ja sinä mikkilaukku poistatit sen viestin, niin ihan varoilta teen julkisen anteeksi pyynnön. En koskaan ole pahalla ajatellut sellaista joka noinkin paljon antaa tälle sivustolle kuin sinäkin olet antanut. Mikäli vastaisuudessa jotain viestiäsi kommentoin, älä ihmeessä ajattele että teen sen ilkeyttäni. Arvostatan suunnattomasti panostasi, ja pidän pouliasi ilkeilijöitä vastaan noustessa.

      Vaikken uskokkaan sinun sitä poistoa vaatineen, niin

      Olen hyvin pahoillani väärinkäsityksestä, ainoastaan hyvän mielen tuottamista tavoittelin. Minä vittuilen vain vittuilijoille jota ovat sen ansainneet.

    • jotainkirjaimia

      Jaa heippa minkkilaukku aina kaikkien rakastama ohjelmoija... olin mökillä, kaikenlaista... uudestaankin joskus lähden lomille, toivottavasti ennen jouluakin.

      Tämä kysymys, perustuu siihen että onko 0=1, onko nolla 0=0...

      Tämä kaataa tietystikin Einsteinin teorin kaikesta jos joku todistaa matemaattisesti sekä fyysisesti että 0=?

      Joka onkin fakta tietysti, kukaan ei tiedä nollan arvoa, joten nollan arvon voi olettaa vaikka olevan 3, kokonaiskuluna. Kuten äärettömyyden arvonkin voi jokainen itse määritellä.

      Jospa sovitaan että 'ääretön' onkin lukuarvontaan 17?

      Matematiikka ja fysiikahan ovat vain täynnä "sovittuja sääntöjä".

    • jotainkirjaimia

      ..jatkan vielä sitten eli yhtälössä silloin nolla ja ääretön olisivat kumpikin 17 (vuotiaita, en sitä tarkoita)... vaan että nollan tilalle yhtälöön 17.

    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Älä unohda minua

      Nainen ethän unohda minua. Asiat olisivat voineet mennä toisin, olisi vain pitänyt uskaltaa lähestyä sinua kun annoit si
      Ikävä
      84
      812
    2. On väärin

      Tykätä ja haluta sua kun tilanne täysin mahdoton mutta minkäs teet. Mun sisällä roihuaa 🔥 kunpa tietäisit mitä sä minus
      Ikävä
      43
      672
    3. Jorma Uotinen läväytti härskin heiton - Paljastus uudesta TTK-romanssista?

      Tuomari Jorma Uotisen linja on välillä hyvinkin rohkea TTK:ssa. Hän näpäytti Jaakko Parkkalille ja Kastanja Rauhalalle v
      Tanssii tähtien kanssa
      12
      658
    4. Valtuuston kokous

      Kyl tuo Anita Ruokani on ihan pihalla,käy aika hitaalla.
      Kemijärvi
      50
      599
    5. Tosi kiva on

      Joo. Mitä olisit menettänyt jos olisit paljastanut itsesi?
      Ikävä
      65
      581
    6. Mitä tunteita

      Sulla vielä on?
      Ikävä
      77
      524
    7. Nyt on nyt

      Turha miettiä menneitä tapahtumia. Niitä ei saa tekemättömäksi. Tärkeintä on mitä tekee nyt ja tulevaisuudessa. Korjausl
      Ikävä
      49
      441
    8. Miehelle

      ❤️
      Ikävä
      27
      426
    9. Näin on!

      Päästy taas iltaan! Jee, päiviä taas yksi vähemmän meidän kohtaamiseen! ❤️
      Ikävä
      42
      394
    10. Saat mut hymyileen suuresti, ja odotan koska saan antaa sulle haleja ja pusuja ihan oikeasti

      En tiedä mikä sussa on, mut sun koko olemus ja ilmeet, ja persoona ja ulkonäkö saa mut vaan hyvälle tuulelle. Oot vaan s
      Ikävä
      14
      389
    11. Martina avautuu

      Martina on päässyt kertomaan Feminassa konkurssistaan. On viettänyt monia unettomia öitä. On elänyt ikäänkuin painekatti
      Kotimaiset julkkisjuorut
      120
      378
    12. Kadutko mies?

      Silloin kuin vielä yritin lähestyä, etkä tarttunut siihen. Asioista pitäisi voida aina keskustella.
      Ikävä
      29
      359
    13. Hyvästi Iisalmen Citymarket.

      Nyt riitti huolimaton kassatoiminta!Nyt sattuu joka toisella käynnillä samaa,joko laskutettu samasta tuotteesta liian mo
      Iisalmi
      18
      352
    14. Hyvää huomenta

      Eräälle Naiselle ❤️‍🩹
      Ikävä
      52
      348
    15. Se oikea.....

      Hän ei ole sinulle se oikea, jos hän pitää sinua vain yhtenä vaihtoehtona.
      Ikävä
      56
      347
    16. Kyllä ymmärrän sinua

      Mutta silti se sattuu….
      Ikävä
      26
      346
    17. Mikä fiilis

      Onko asiat niin kuin hyvin?
      Ikävä
      59
      343
    18. Eläkeikä nousee 70 vuoteen. Joudunko palaamaan työelämään?

      Nyt se on sitten päätetty, että eläkeikä Suomessa nostetaan 70 vuoteen. https://www.is.fi/politiikka/art-2000012324133.h
      Maailman menoa
      115
      340
    19. Kaivatun haluaminen

      seksuaalisesti herättää syvältä selkärangasta esiin villieläimellisiä vaistoja sekä haluja peittäen sivistyneen ihmisenä
      Ikävä
      27
      334
    20. Mitä järkeä kiusata ihmisiä palstalla

      Luuleeko ne kiusaajat oikeasti, että joku tosissaan ajattelisi niiden haukkujen olevan itselle? Hukkaan menee kiusaajill
      Ikävä
      89
      328
    Aihe