Kahden janan mahdollisen leikkauskohdan laskeminen

jana1-jana2

Jos on kaksi janaa, niin millä tavalla voidaan laskea niiden mahdollinen leikkauspiste kaksiulotteisessa koordinaatistossa.

Janojen päätepisteiden koordinaatit ovat siis tiedossa.

8

1033

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • janattelija
    • laskee

      Muodostetaan kummankin janan päätepisteiden kautta kulkevan suoran yhtälö ja ratkaistaan suorien leikkaupiste. Lisäksi on tarkistettava suorien leikkauspisteen sisältyvyys kumpaankin janaan.

    • Että_näin
      • janaT

        Tutkitaan, pelkkä 2D riittää tässä tapauksessa.

        Tarkoitus olisi laskea monikulmion pinta-ala. Ongelma tulee silloin, jos monikulmio menee "ristiin" itsensä kanssa.

        Esimerkiksi etäisesti numeroa 8 muistuttava kuuden nurkkapisteen monikulmio summautuu käyttämälläni kaavalla nollaksi.

        Kulmien pisteet voisivat olla esimerkiksi (x,y)

        p1 = (0,2)
        p2 = (-1,1)
        p3 = (1,-1)
        p4 = (0,-2)
        p5 = (-1,-1)
        p6 = (1,1)

        Tuossahan janat menevät ristiin kohdassa (0,0).

        Se piste tulisi saada mukaan, jolloin pinta-alakin summautuu oikein (tässä tapauksessa ala on 4), eli kulmapisteet olisivat sen jälkeen:

        p1 = (0,2)
        p2 = (-1,1)
        p3 = (0,0) tämä siis leikkauspiste
        p4 = (-1,-1)
        p5 = (0,-2)
        p6 = (1,-1)
        p7 = (0,0) leikkauspiste taas
        p8 = (1,1)


      • Että_näin

        Tiedän ongelman, mutta näissä tapauksissa on kyse vain pelkästä matemaattisesta ongelmasta, koska reaalisia, itseään leikkaavia monikulmiokappaleita ei ole olemassa. On vain kaksi monikulmiota, joilla on yksi yhteinen kulmapiste.

        Jos olet kehittämässä käytännön algoritmia janojen leikkauspisteiden määritykseen, niin ei kannata käyttää suoraan tuota antamani linkin algoritmia, vaan ensin on syytä tehdä ns. boksitarkastelu, eli tutkia, onko janat sisältävillä suorakaiteilla yhteistä alaa. Tämä onnistuu pelkillä vertailuilla. Jos tällaista on, sitten voidaan laskea potentiaalista leikkauspistettä.


      • jana2jana
        Että_näin kirjoitti:

        Tiedän ongelman, mutta näissä tapauksissa on kyse vain pelkästä matemaattisesta ongelmasta, koska reaalisia, itseään leikkaavia monikulmiokappaleita ei ole olemassa. On vain kaksi monikulmiota, joilla on yksi yhteinen kulmapiste.

        Jos olet kehittämässä käytännön algoritmia janojen leikkauspisteiden määritykseen, niin ei kannata käyttää suoraan tuota antamani linkin algoritmia, vaan ensin on syytä tehdä ns. boksitarkastelu, eli tutkia, onko janat sisältävillä suorakaiteilla yhteistä alaa. Tämä onnistuu pelkillä vertailuilla. Jos tällaista on, sitten voidaan laskea potentiaalista leikkauspistettä.

        Tarkoitus olisi laskea pinta-alaa jatkuvasti. Kolmannen kulmapisteen kohdallahan saadaan jo ensimmäinen tulos. Sen jälkeen seuraavat kulmapisteet voivat olla satunnaisesti missä vaan.

        Jotain rajoituksiahan on ehkä annettava, jottei homma karkaa lapasesta, koska muutenhan kirjanpito menee vaikeaksi mikä alue kuuluu joukkoon ja mikä ei.

        Esimerkiksi tuollaisen viisikulmaisen tähden pinta-alan laskeminen voi mennä hankalaksi, jos kulmapisteiden järjestys annetaan "kuten se piirretään".

        https://en.wikipedia.org/wiki/Star_polygon


      • Että_näin

        Ehdottaisin, että keskittyisit yksinkertaistamaan kuvion pelkäksi ulkoprofiiliksi poistamalla kuvion sisäpuolen "ylimääräiset" janat. Tämän jälkeen pinta-alan laskenta on todella yksinkertaista.

        Ulkoprofiilin saa suhteellisen helposti selville vaikka järjestämättömästä janajoukosta, ylimääräisten janojen poisto voi vaatia enemmänkin päättelyä.


    • WPieru

      Olkoot janan 1 päätepisteet (a0,b0) ja (a1,b1) .
      Janan 2 päätepisteet ovat (c0,d0) ja (c1,d1).
      Esitetään janan 1 kautta kulkevan suoran pisteet parametrimuodossa
      x = r*a0 (1-r)a1, y = r*b0 (1-r)*b1.
      Kun r on välillä [0,1], niin piste (x,y) on janalla.
      Vastaavalla tavalla janan 2 kautta kulkevan suoran pisteet ovat muotoa
      x = s*c0 (1-s)c1, y = s*d0 (1-s)*d1.
      Suorien leikkauspistettä vastaavat r-ja s-arvot saadaan yhtälöryhmästä
      r*a0 (1-r)a1 = s*c0 (1-s)c1,
      r*b0 (1-r)*b1 = s*d0 (1-s)*d1.

      Jos saadut r- ja s-srvot ovat välillä [0,1], niin janat leikkaavat. Niiden leikkauspiste saadaan sijoittamalla esim. r-arvo suoran 1 parametriesitykseen.

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

    Luetuimmat keskustelut

    1. Et siis vieläkään

      Et ilmeisesti ole vieläkään päässyt loppuun asti mun kirjoituksissa täällä. Kerro ihmeessä sit, kun valmista 😁 tuskin k
      Ikävä
      51
      2264
    2. Hyvä että lähdit siitä

      Ties mitä oisin keksinyt jos oisit jäänyt siihen, näit varmaan miten katoin sua.... 😘🤭😎💖
      Ikävä
      25
      1068
    3. Aavistatko että moni tietää

      Vai ollaanko hyvin vedätetty pokerinaamalla. No kun vähiten odotat niin yllätämme sinut
      Ikävä
      82
      982
    4. Yritin saada

      Vastauksia mutta et voinut olla rehellinen ja kaiken kannoin yksin. Halusin kovasti ymmärtää mutta en voi enää ymmärtää.
      Ikävä
      11
      914
    5. Koronarokotus sattui oudon paljon nyt sairaanhoitaja Tanja 46 istuu pyörätuolissa

      Pitkä piina piikistä Kun Tanja Vatka käy suihkussa, tuntuu kuin ihoa revittäisiin raastinraudalla irti. Hän on kärsinyt
      Maailman menoa
      54
      883
    6. Onko vielä

      mahdollista nähdä?
      Rakkaus ja rakastaminen
      68
      873
    7. Olisitko mies valmis?

      Maksamaan naisellesi/vaimollesi/tyttöystävällesi elämisestä syntyvät kulut, ruokailun, vuokran ja muut välttämättömät me
      Ikävä
      126
      853
    8. Kronikat..

      Mikä hele… on tää yks kronikat mikä suoltaa facessa kaikkea julkaisua ja AINA samoista firmoista imatralla??? Eikö ne mu
      Imatra
      10
      783
    9. vieläkin sanoa voin...

      💖💛💖💛💖💛💖💛💖 💛 Beijjjbeh 💛 Kaks vuotta tänään täällä. Miten hitossa jotkut on jaksaneet kymmeniä vuos
      Ikävä
      22
      763
    10. Täällä istun ja mietin

      Miten paljon haluaisin katsoa sinua juuri niin kuin haluaisin katsoa sinua. Rakastavin silmin. Näkisit vihdoin senkin pu
      Ikävä
      49
      759
    Aihe