Osuuko piste kolmioon.

aloittelijaa

Teen tässä aikani kuluksi peliä ja olisi sellainen ongelma, että pitäisi tehdä "collision detection".

Eli laskea osuuko piste kolmioon, jonka nurkkapisteet tiedetään ja ovat 3 ulotteisina vektoreina, kuten myös itse pisteen sijainti.

Sen ei saa olla ihan tarkka (koska piste liikkuu hyppäyksittäin kun aikaa porrastetaan eteenpäin, jolloin se tuskin osuu koskaan ihan juuri kohdalle), vaan riittää kun tietää, jos piste tulee tietylle etäisyydelle kolmion pinnasta.

8

<50

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • kkkkrrrrrr

      Milloin piste (a,b) on monikulmion sisällä? Määrätään niiden monikulmion sivujen lukumäärä, jotka leikkaavat puolisuoraa x = a, y > b Jos se on pariton luku, niin piste on monikulmion sisällä. Ongelmana on vielä tapaus, missä puolisuora kulkee jonkin kulmapisteen kautta (tai on hyvin lähellä sitä). Silloin voisi käyttää suuntaan kulkevaa puolisuoraa.

    • kukkuuluuuruuu

      Kertoisitko mikä on ongelmasi? Oletatko, että täällä joku avulias Aatu tekee pelin puolestasi ajankulukseen?

      • aloittelijaaa

        Oletan, että joku joka on kiinnostunut tällaisista ongelmista, tietää tähän fiksun ratkaisun. Yleensä ihmiset, jotka ovat kiinnostuneet jostakin asiasta, jakavat tietoansa mielellään. Niin minä ainakin teen, ihan vahingossakin.

        Kysy minulta mitä vaan vaikka pelistäni, jaan kyllä mielelläni mitä olen tehnyt ja miten, jos haluat tehdä perässä . . .


    • Näin_sen_tekisin

      Nopein ja yksinkertaisin lienee laatikkotarkastelu. Siinä ensin määrität kolmiolle koordinaattiakseleiden suuntaisen minimilaatikon, mikä onnistuu helposti min-max-testeillä. Sen jälkeen tutkit, onko tarkasteleva piste laatikon sisällä. Kaikkeen tähän tarvitaan pelkkiä vertailuja, laskea ei tarvitse mitään.

      Algoritmin ongelmana on se, että sen hyväksymisetäisyys vaihtelee kolmion koon ja aseman mukaisesti, mutta olet etsimässäkin likimenetelmää.

    • Ruudinsekoittaja
    • Ohman

      Kolmion nurkkapisteiden paikkavektorit olkoot R1,R2 ja R3.Näiden kautta kulkeva taso olkoon

      (1) ax by c z = d eli (A.R) = d (= (A,R1) = (A,R2) = (A,R3))

      Jotta tuo liikkuva piste P sijaitsisi haluamallasi tavalla, sen tulee olla sellaisen kolmikulmaisen laatikon sisällä jonka laatikon pohja ja katto ovat tason 1 suuntaiset ja näiden muodostamat tasot ovat etäisyyksillä e1 ja e2 tasosta (1). Lienee tarkoitus valita e1 = e2 = e.

      Nämä tasot ovat

      (2) ax by cz = d f ja (3) ax by cz = d - f (f > 0).

      Tasojen (2) ja (3) etäisyys tasosta (1) on e =f /sqrt(a^2 b^2 c^2).Pisteen P pitää olla korkeintaan etäisyydellä e tasosta (1). Pelissä määritellään kuinka suuri e saa korkeintaan olla. Ensin siis tarkastetaan, että liikkuva piste P toteuttaa tämän ehdon.

      Tason (1) yhtälö saadaan siitä, että sen(eräs) normaali on vektori A = ai b j c k.

      Toisaalta normaali on (R2 - R1) x (R3 - R1) joten a,b ja c ovat laskettavissa.
      Toinen yksikkönormaali on N = 1/ sqrt(a^2 b^2 c^2) (a i b j c k) ja sekä N että -N ovat yksikkönormaaleja.Ja d = (A,R1) = (A,R2) = (A,R3)

      Pisteen P paikkavektori olkoon R(P). Pisteen P kautta kulkeva tason (1) suuntainen taso on

      (4) (A,R) = (A,R(P))

      joten P:n etäisyys tasosta (1) on g = l d - (A,R(P)) l / sqrt/(a^2 b^2 c^2). Osuma tulee kun

      (5) g <= e.

      Mutta osumaan tarvitaan myös että P on tuon laatikon sisällä myös pohjan (ja kannen) suunnassa.Jos nyt g toteuttaa ehdon (5) niin pisteen R(P) /- g N, joka on siis P:n projektio tasolle (1), ja jossa tai - merkki valitaan niin että normaali osoittaa tason (1) suuntaan pisteestä P, on oltava alkuperäisen kolmion sisällä.

      Kolmion kärjet olivat R1,R2 ja R3, joten täytyy olla

      (6) R(P) / - g N = t1 R1 t2 R2 t3 R3

      missä barysentriset koordinaatit t(i) ovat ei-negatiiviset ja t(1) t(2) t(3) = 1.

      Jos P toteuttaa ehdot (5) ja (6) niin osuma tuli.

      Ohman

      • martta00

        näinhän se suunnilleen menee..


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

    Luetuimmat keskustelut

    1. 154
      4453
    2. Katso: Ohhoh! Miina Äkkijyrkkä sai käskyn lähteä pois Farmi-kuvauksista -Kommentoi asiaa: "En ole.."

      Tämä oli shokkiyllätys. Oliko tässä kyse tosiaan siitä, että Äkkijyrkkä sanoi asioita suoraan vai mistä.... Tsemppiä, Mi
      Tv-sarjat
      115
      4040
    3. Voi kun mies rapsuttaisit mua sieltä

      Saisit myös sormiisi ihanan tuoksukasta rakkauden mahlaa.👄
      Ikävä
      25
      2720
    4. Kyllä poisto toimii

      Esitin illan suussa kysymyksen, joka koska palstalla riehuvaa häirikköä ja tiedustelin, eikö sitä saa julistettua pannaa
      80 plus
      28
      1901
    5. "Joka miekkaan tarttuu, se siihen hukkuu"..

      "Joka miekkaan tarttuu, se siihen hukkuu".. Näin puhui jo aikoinaan Jeesus, kun yksi hänen opetuslapsistaan löi miekalla
      Yhteiskunta
      23
      1764
    6. Haluan jutella kanssasi Nainen

      Olisiko jo aika tavata ja avata tunteemme...On niin paljon asioita joihin molemmat ehkä haluaisimme saada vastaukset...O
      Ikävä
      15
      1659
    7. Poliisiauto Omasp:n edessä parkissa

      Poliisiauto oli parkissa monta tuntia Seinäjoen konttorin edessä tänään. Haettiinko joku tai jotain pankista tutkittavak
      Seinäjoki
      21
      1643
    8. Hermo mennyt sotealueeseen?

      Nyt hammaslääkäriaika peruttiin neljännen kerran. Perumiset alkoi tammikuussa. Nyt uusi aika elokuulle!????
      70 plus
      91
      1571
    9. Haluan tavata Sinut Rakkaani.

      Olen valmis Kaikkeen kanssasi...Tulisitko vastaa Rakkaani...Olen todella valmistautunut tulevaan ja miettinyt tulevaisuu
      Ikävä
      30
      1553
    10. Onko mies niin,

      että sinulle ei riitä yksi nainen? Minulle suhde tarkoittaa sitoutumista, tosin eihän se vankila saa olla kummallekaan.
      Tunteet
      18
      1511
    Aihe