Piste tasossa

Morjens. Mikä olisi helpoin tapa selvittää, onko piste p monikulmion rajoittaman tasoalueen sisäpuolella? Lähinnä 2D-tapaus, mutta miksei myös 3d-tapaus
3157
Äänestä

Muut lukivat myös

Vastaukset 3

Vanhimmat

http://aijaa.com/v.php?i=008898898183.png

Joulun kunniaksi piirsin kuvan ongelmasta. Eli on jokin tunnettu pistejoukon rajoittama monikulmio. Tämän alueen sisällä joko on ei tai ole (onko merkitystä?) piste, joka kuitenkin siirretään alueen sisältä pois. Pisteen koordinaatti kyllä tunnetaan. Nyt pitäisi jotenkin päätellä, onko piste monikulmion sisällä vai ei. Mikäli ei ole, pitäisi se siirtää takaisin monikulmion reunalle monikulmion normaalin suuntaisesti. Ehdotuksia?

Äänestä

En ole aiheeseen sen kummemmin perehtynyt, mutta sivun http://erich.realtimerendering.com/ptinpoly/ mukaan MacMartinin testi taitaa olla ainakin nopein. Testien helppous kai riippuu pitkälti ohjelmointikokemuksesta.

Äänestä
  • Hei ja kiitos vastauksestasi. Perehdyin itsekin aiheeseen lisää ja voidaan täsmentää että rajoitettu alue on konveksi. Löysin myös valmista koodia, joka kaiken muun hyvän lisäksi vieläpä toimii ( http://stackoverflow.com/questions/1119627/how-to-test-if-a-point-is-inside-of-a-convex-polygon-in-2d-integer-coordinates ). Menetelmä perustuu ristituloon, mutta en koodin perusteella osaa sen kummemmin sanoa ajatusta mihin perustuu tarkalleen ottaen, affiinikuvaukset ovat minulle hepreaa.

    Koodi kuitenkin toimii ja on minun tarpeisiini sopivaa, sovellutus ei ole aikakriittinen. Se on vielä selvittämättä, kuinka voidaan päätellä mille sivulle piste "kuuluu". Pisteen etäisyys suorastahan on helppo laskea joten se voidaan palauttaa "oikeaan" paikkaan melko helposti.

    Jos hieman valotan mitä yritän tehdä. Laitetaan satunnainen pistejoukko R2 tai R3 avaruuteen. Pisteet ovat jonkinlaisessa vuorovaikutuksessa keskenään siten, että hylkivät toisiaan jonkin funktion mukaisesti. Ajatuksena olisi, että kun tasapaino saavutetaan niin ne ovat muodostaneet jonkinlaisen luonnollisen kuvion, joka voidaan verkottaa delaunayn menetelmällä. Nähdäkseni ja toivoakseni nämä partikkelit pyrkivät asettumaan jonkinlaiseen minimiinsä. Ongelmana tietenkin on se että ne eivät pysy määrätyllä alueella ilman rajoja, jotka yritän nyt seuraavaksi ohjelmoida. Tässäkin olisi tietenkin esimerkiksi sellainen vaihtoehto että partikkeleille annettaisiin ihan luonnollinen massa ja kiihtyvyys sekä niitä rajoittava alue olisi jollakin tapaa "elastinen" lisäten partikkeliin pinnan normaalin suuntaisen vastavoiman, kun raja ylittyy. Epäilen tosin ettei tässä tapauksessa tasapainoa enää saavutettaisi kovinkaan helposti. Inspiraatio kokeiluihin tuli Per-Olof Perssonin opinnäytteestä "Mesh Generation for Implicit Geometries"
    ( persson.berkeley.edu/thesis/persson-thesis-color.pdf )

    Äänestä

Kommentoi aloitusta


Jukk4 kirjoitti:

Morjens. Mikä olisi helpoin tapa selvittää, onko piste p monikulmion rajoittaman tasoalueen sisäpuolella? Lähinnä 2D-tapaus, mutta miksei myös 3d-tapaus

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu