Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Jara 21. 08. 2014, 08:27:37

Název: Generování rozptýlených bodů v rovině
Přispěvatel: Jara 21. 08. 2014, 08:27:37
Zdravim,
poradte prosim jak generovat rozptylene body v rovine XY (chci se vyhnout uhlednym mrizkam bodu a misto toho neco rozptyleneho jako kdyz si pocukrujete buchtu). Vysledkem bude textovy soubor se souradnicemi bodu.

Mam predstavu, ze zadam pocet bodu a tvar uvnitr ktereho se to vytvori (kdruh, mezikruzi, trojuhelnik apod.). V dalsim kroku bych uvital i tvorbu shluku bodu.
Dekuji, J.

Název: Re:Generovani rozptylenych bodu v rovine
Přispěvatel: Filip Jirsák 21. 08. 2014, 08:52:24
Vytvoříte si obdélník kolem zadaného tvaru, a generujete náhodné souřadnice x a y v rozsahu toho obdélníku. U každého bodu zjistíte, zda patří do zadaného tvaru, pokud ano, tak jej zapíšete a zvednete čítač o jedničku. Opakujete tak dlouho, dokud nemáte zadaný počet bodů.
V dalším kroku si nejprve musíte nadefinovat, co je shluk bodů.
Název: Re:Generovani rozptylenych bodu v rovine
Přispěvatel: v 21. 08. 2014, 10:05:02
já bych si nejdřív vytvořil funkci, která vygeneruje sadu náhodných bodů v okolí zadaného bodu o daném průměru, v pythonu může vypadat třeba takhle:
Kód: [Vybrat]
def rp(x, y, r, c) :
    for i in range(c) :
        yield (x + (r*uniform(-1.0,1.0)), y + (r*uniform(-1.0,1.0)))
a následně ji použil na sadu počátečních bodů (ne nutně náhodných) nacházejích se v žádané oblasti, např. na kruhu s použitím pythonu:
Kód: [Vybrat]
x, y, C = [], [], 20
for i in range(C) :
    p = cmath.rect(100, i*(2*pi/C))
    for vx, vy in rp(p.real, p.imag, 20, 10) :
        x.append(vx)
        y.append(vy)
v kruhu by pak byl počáteční bod jen jeden, na trojúhelníku by to byly tři sady bodů na třech úsečkách atd.
Název: Re:Generovani rozptylenych bodu v rovine
Přispěvatel: hawran diskuse 21. 08. 2014, 10:12:48
Zdravim,
poradte prosim jak generovat rozptylene body v rovine XY ...
... V dalsim kroku bych uvital i tvorbu shluku bodu.
Dekuji, J.

Zkouška už je tento pátek?
Název: Re:Generovani rozptylenych bodu v rovine
Přispěvatel: František 21. 08. 2014, 10:14:41
Shluky lze vygenerovat mnoha a mnoha různými způsoby, například to patero různých algoritmů:

 
Název: Re:Generování rozptýlených bodů v rovině
Přispěvatel: Jara 21. 08. 2014, 11:19:23
dekuji vsem za namety, to mi staci

hawran: otri brkem sklenenou kouli, dneska mas spatny obraz  ;-)
Název: Re:Generování rozptýlených bodů v rovině
Přispěvatel: sheery 21. 08. 2014, 15:23:38
Přísahal bych že jsem nedávno četl článek který porovnával různé algoritmy pro rozmístění bodů v rovině. Ale nemohu ho najít. Tak alespoň tento rychle nalezený odkaz který ukazuje jednu z těch metod která dává sice nenáhodné ale naopak hezké rozložení http://devmag.org.za/2009/05/03/poisson-disk-sampling/