Hirdetés

Új hozzászólás Aktív témák

  • 3man
    csendes tag

    sziasztok,

    készítettem egy részecskemodellt, azonban az a baj vele, hogy nagyon lassú, ugyanis minden (i,j) részecskepárra meg kell vizsgálni, hogy ütköznek-e, vagy van-e köztük valamilyen erő. n db részecske egy n elemű tömbben, nagyjából így fest a dolog:

    for (i=0;i<n;i++)
    {
    for (j=0;j<0;j++)
    collision( ... );
    //...
    //reszecskek sebessege valtozik
    //reszecskek pozicioja valtozik...
    }

    for (i=0;i<n;i++)
    draw(array[i]);

    a fő baj, hogy ez minden képfrissítésre n*n/2 + n komplexitású, na ez egy kicsit sok. Van valami megoldás, amivel drasztikusan csökkenthető lenne? A kirajzolást nyilván meg lehetne oldani máshogy, hogy ne kelljen még egy for ciklus, de az az n^2-hez képest már elhanyagolható.

    Annyit kell tenned, hogy cellakra osztod a jatekterer, es minden cellahoz rendelsz egy reszecske-listat. Ezek utan nem kell minden reszecsket mindegyikkel vegignezni, csak az egy cellaval erintkezo cellak listait kell vegigvenni. A sebessegnovekedes drasztikus.
    A cellak merete a legnagyobb targy meretnel kicsit nagyobbra kell venni. Elony, ha a targyak nagyjabol egyformak, kulonben nemi bonyolitasra lesz szukseg. Mivel itt most reszecske-rendszerrol van szo, ez a problema kiesik.
    A cellak meretet itt az ero hatotavolsaga fogja meghatarozni.

Új hozzászólás Aktív témák