Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

Fórum: Valaki mondja meg!

  [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]    [11]    [12]    [13]    [14]    [15]    [16]    [17]    [18]    [19]    [20]    [21]    [22]    [23]    [24]    [25]    [26]    [27]    [28]    [29]    [30]    [31]    [32]    [33]    [34]    [35]    [36]    [37]    [38]    [39]    [40]    [41]    [42]    [43]    [44]    [45]    [46]    [47]    [48]    [49]    [50]    [51]    [52]    [53]    [54]    [55]    [56]    [57]    [58]    [59]    [60]    [61]    [62]    [63]    [64]    [65]    [66]    [67]    [68]    [69]    [70]    [71]    [72]    [73]    [74]    [75]    [76]    [77]    [78]    [79]    [80]    [81]    [82]    [83]    [84]    [85]    [86]    [87]    [88]    [89]    [90]    [91]    [92]    [93]    [94]    [95]    [96]    [97]    [98]    [99]    [100]    [101]    [102]    [103]    [104]    [105]    [106]    [107]    [108]    [109]    [110]    [111]    [112]    [113]    [114]    [115]    [116]    [117]    [118]    [119]    [120]    [121]    [122]    [123]    [124]    [125]    [126]    [127]    [128]    [129]    [130]    [131]    [132]    [133]    [134]    [135]    [136]    [137]    [138]    [139]    [140]    [141]    [142]    [143]    [144]    [145]    [146]    [147]    [148]    [149]    [150]    [151]    [152]    [153]    [154]    [155]    [156]    [157]    [158]    [159]    [160]    [161]    [162]    [163]    [164]    [165]    [166]    [167]    [168]    [169]    [170]    [171]    [172]    [173]    [174]    [175]    [176]    [177]    [178]    [179]    [180]    [181]    [182]    [183]    [184]    [185]    [186]    [187]    [188]    [189]    [190]    [191]    [192]    [193]    [194]    [195]    [196]    [197]    [198]    [199]    [200]    [201]    [202]    [203]    [204]    [205]    [206]    [207]    [208]    [209]    [210]    [211]    [212]    [213]    [214]    [215]    [216]    [217]    [218]    [219]    [220]    [221]    [222]    [223]    [224]    [225]    [226]    [227]    [228]    [229]    [230]  

Szeretnél hozzászólni? Jelentkezz be.
[2012] jonas2015-03-04 22:54:07

A lényeg a következő. Először minden olyan csúcsban, ahol a töröttvonalak (láncok) végei találkoznak, találd meg az összes töröttvonalat, és ezeket rakd ciklikus sorrendbe a kiindulási szögük szerint. Utána ez alapján meg tudod találni az összes sokszöget, és mindegyiket az ezek határát alkotó töröttvonalakkal le tudod írni úgy. Ezt úgy lehet megtenni, hogy minden töröttvonalból elindulsz mindkét irányba, és átmész a következő töröttvonalra a csúcsnál, mindig balra fordulva.

Ez után meg kell találnod, hogy melyik pont melyik sokszögbe esik bele. Ha nem túl sok kijelölt pontod van (vagyis itt nem túl sok sokszöged), akkor ezt úgy teheted meg, hogy minden ponthoz és minden sokszöghöz megvizsgálod, hogy a pont beleesik-e a sokszögbe. Ez nagyjából &tex;\displaystyle O(l*n) &xet; ideig tart, ha &tex;\displaystyle l &xet; a szakaszok száma és &tex;\displaystyle n &xet; a kijelölt pontok száma, mert minden ponthoz minden sokszög minden élén végig kell menned, vagyis minden szakszon kétszer. Ha sok kijelölt pontod van, akkor ez túl sokáig tarthat. Van hatékonyabb megoldás is, ami csak kvázi-lineáris időt vesz igénybe, de ez az, amit bonyolult megérteni és bonyolult implementálni is. A könyv, amit idéztem, elmagyarázza az erre szolgáló eljárást.

Előzmény: [2008] Hajba Károly, 2015-03-04 17:49:22
[2011] jonas2015-03-04 22:42:47

Ja, és elméleti leírást szeretnél, hogy megértsd a szükséges algoritmust, vagy pedig inkább gyakorlatibb szoftverkönyvtárt, amivel implementálni tudod?

Előzmény: [2006] Hajba Károly, 2015-03-04 13:31:51
[2010] jonas2015-03-04 22:41:38

Úgy érted, hogy a láncok egymást nem keresztezik, csak a végpontjukban találkoznak, vagy esetleg érintik egymást? Az egyes területek sokszög alakúak, és a láncok teljesen körbezárják őket? Ha jól értem a feladatodat, akkor van rá nagyon hatékony algoritmus, de ez nem egyszerű.

Van erről a témáról egy jó könyv, amit ajánlanék. Magyar nyelvűt nem tudok.

Mark de Berg; Otfried Cheong; Marc van Kreveld; Mark Overmars, Computational Geometry; Algorithms and Applicatoins. Springer, "http://www.springer.com/computer/theoretical+computer+science/book/978-3-540-77973-5". Vigyázz, legalább három különböző korú kiadás van belőle.

Előzmény: [2006] Hajba Károly, 2015-03-04 13:31:51
[2009] Hajba Károly2015-03-04 17:51:28

Igen, a vonal az szakasz. Pongyolán fogalmaztam.

Előzmény: [2007] Erben Péter, 2015-03-04 13:49:33
[2008] Hajba Károly2015-03-04 17:49:22

Hosszú magyarázó szöveget írtam, de OK-zásnál elszállt. Most sem időm, sem lelki erőm nincs újból leírni az egészet. Este otthon újból nekiesek és rajzot is készítek hozzá.

Jelenleg nem éles programozási feladat, csak az eljárást kellene kitalálni, meghatározni.

Elvileg akár milliárd pont és szakasz is lehetséges, de ezek több kisebb adott részből adódnak össze. A koordinátaérték max. százmillió.

Szakasz pontja csak már korábban leírt pont lehet.

Előzmény: [2007] Erben Péter, 2015-03-04 13:49:33
[2007] Erben Péter2015-03-04 13:49:33

Ez egy programozási feladat?

Ha igen, akkor szükség lenne még néhány adatra. Például:

- Legfeljebb hány pont lehet?

- Legfeljebb hány vonal lehet? A vonal az egy szakasz? A szakasz végpontjai a fentebb leírt pontok közül kerülnek ki, vagy ezek más pontok?

- Az előforduló koordináták abszolút értékére van felső becslésünk?

- Hány másodperc alatt kell futnia a programnak?

Előzmény: [2006] Hajba Károly, 2015-03-04 13:31:51
[2006] Hajba Károly2015-03-04 13:31:51

Üdv Mindenkinek!

Az alábbi problémába futottam bele, s ehhez kérném a segítségeteket.

-------

Van sok pontom a koordinátarendszer I. negyedének origóhoz közeli elég nagy, de nem végtelen méretű területén egész számú koordinátákkal meghatározva. Van továbbá sok, egymást nem metsző vonalam két különböző ponttal meghatározva. A pontok és vonalak egyedi, sorszám jellegű azonosítóval rendelkeznek, de a sorszámozás és elem (pont, vonal) helye között nincs összefüggés.

A vonalak valamilyen hosszú, elágazásmentes és folytonos láncot (tört vonal) képeznek. A láncok nem rendelkeznek azonosítóval és nincs meghatározva a lánc és az őt meghatározó vonalak közötti kapcsolat. Több lánc egy területet zár körbe oly módon, hogy a láncok csak végpontjuknál csatlakoznak ill. a csatlakozópontnál legalább 3 láncnak kell találkoznia. Minden körbezárt területen belül található egy önálló pont, mely a terület azonosítóját tartalmazza, de nincs meghatározva a terület és a területet meghatározó láncok kapcsolata.

Feladat:

Létre kell hozni a láncok azonosítóját és a vonalak azonosítója és csakis ennek segítségével, sorrend függő felsorolással meg kell határozni (le kell írni) a lánc és az őt meghatározó vonalak közötti kapcsolatot; továbbá a láncok azonosítója és csakis ennek segítségével, sorrend függő felsorolással meg kell határozni (le kell írni) a terület és az őt meghatározó láncok közötti kapcsolatot ill. hozzárendelni a terület azonosítójához.

-------

Még nem mélyedtem el mélyen a problémába, de minden ötlet vagy már valahol fellelhető magyar nyelvű elméleti leírás, mely közelebb vihet a megoldáshoz érdekel és előre is köszönöm.

[2005] S:R.2015-02-24 20:44:44

Igaz, ez így nem jó.

Előzmény: [2004] Nagypapa, 2015-02-24 18:00:27
[2004] Nagypapa2015-02-24 18:00:27

Ez csak akkor igaz, ha különböző M-ekre MA+MB=állandó, a példában ez nem teljesül.

Előzmény: [2003] S:R., 2015-02-23 21:01:52
[2003] S:R.2015-02-23 21:01:52

Javítsatok ki, ha ez így nem korrekt, de én így csinálnám: Írjuk fel a számtani és mértani közép közötti egyenlőtlenséget az MA és MB szakaszok hosszára! A számtani közép >= mint a mértani közép, egyenlőség esetén minimális. Ez pedig akkor van, ha MA=MB. tehát az MA+MB összeg MA=MB-re minimális

Előzmény: [1999] epsilon, 2015-02-21 16:27:04

  [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]    [11]    [12]    [13]    [14]    [15]    [16]    [17]    [18]    [19]    [20]    [21]    [22]    [23]    [24]    [25]    [26]    [27]    [28]    [29]    [30]    [31]    [32]    [33]    [34]    [35]    [36]    [37]    [38]    [39]    [40]    [41]    [42]    [43]    [44]    [45]    [46]    [47]    [48]    [49]    [50]    [51]    [52]    [53]    [54]    [55]    [56]    [57]    [58]    [59]    [60]    [61]    [62]    [63]    [64]    [65]    [66]    [67]    [68]    [69]    [70]    [71]    [72]    [73]    [74]    [75]    [76]    [77]    [78]    [79]    [80]    [81]    [82]    [83]    [84]    [85]    [86]    [87]    [88]    [89]    [90]    [91]    [92]    [93]    [94]    [95]    [96]    [97]    [98]    [99]    [100]    [101]    [102]    [103]    [104]    [105]    [106]    [107]    [108]    [109]    [110]    [111]    [112]    [113]    [114]    [115]    [116]    [117]    [118]    [119]    [120]    [121]    [122]    [123]    [124]    [125]    [126]    [127]    [128]    [129]    [130]    [131]    [132]    [133]    [134]    [135]    [136]    [137]    [138]    [139]    [140]    [141]    [142]    [143]    [144]    [145]    [146]    [147]    [148]    [149]    [150]    [151]    [152]    [153]    [154]    [155]    [156]    [157]    [158]    [159]    [160]    [161]    [162]    [163]    [164]    [165]    [166]    [167]    [168]    [169]    [170]    [171]    [172]    [173]    [174]    [175]    [176]    [177]    [178]    [179]    [180]    [181]    [182]    [183]    [184]    [185]    [186]    [187]    [188]    [189]    [190]    [191]    [192]    [193]    [194]    [195]    [196]    [197]    [198]    [199]    [200]    [201]    [202]    [203]    [204]    [205]    [206]    [207]    [208]    [209]    [210]    [211]    [212]    [213]    [214]    [215]    [216]    [217]    [218]    [219]    [220]    [221]    [222]    [223]    [224]    [225]    [226]    [227]    [228]    [229]    [230]