Jump to content
php.lv forumi

Objektu kartosana uz virsmas


Grey_Wolf

Recommended Posts

Nesmu vel tik taalu ticis, bet taa kaa te dazs labs kliedza ka juura liidz celjiem tad iedoshu

Realu uzdevumu no dziives

 

----------

dots:

1. darba laukums (4sturis) ar mainamiem izmeriem kur augseja kreisaa kordinate ir 0;0

2. darba objekti , kas vienmer ir mazaki par 'darba laukumu' --> nezinams skaits , un katrai var buut savadaks izmers

Principaa var izteloties kaa Desktopu ar ikonnam, tikai ikonnas ir dazaadu izmeru

 

Nepieciesams izkartot shos objektus uz darba laukuma taa lai tie neietu pari malaam ...

Mainot darba laukuma izmeru, objekti parkartojas ,

ja nepietiek vietas tad darba laukumu Driikst palielinaat uz leju, Bet ne platumaa

------------

Objekti atrodas masiivaa (array[0][x]; array[0][y] ....)

 

Objekti var kartooties arii shadi:

AAA  bb xxx 
AAA	 xxx
AAA  cc

Tas ir nav obligati jaabut vienaa liinijaa ...

Pie tam , algoritmam jaspej straadat gan JavaScript, gan PHP ....

 

-------

P.S. Pasam padoma jau ir risinajums , bet paslaik atturesos to izlikt ...

Link to comment
Share on other sites

Labāk pastāsti, kas tas par "darba laukumu - 4stūris - ko tu ar to iedomājies -

vienkarsh laukums ar 4 stuuriem ;)

 

kuraa izvietojas objekti --> kaa piemers varetu buut Desktop Ar ikonnam (mainot Ekrana izmerus , ikonnas arii parkartojas ) --> faktiski ljoti llidzigi , atskjiriiba tik taa, ka Objektu izmeri ir dazaadi ...

// saja gadijumaa tas ir bildes kas katra atrodaas savaa <div> elementaa // un Darba laukums ir liels DIV ...

Realii programmiski tiks mainiitas objektu apsluutas kordinates (x;y) ....

---

Edited by Grey_Wolf
Link to comment
Share on other sites

Aleksejs --> Nee ;) tas nav tas .. Doma ir tieshi kaa sakartot , nepaliek pari neviens lieks Objekts, ja pietruukst vietas tad vienkarshi pagarina , 'darba logu' uz leju..

// japanak windovisks Efekts 'Arange icons' , bet ar nosacijumu , ja teiksim ir 2 lieli objekti (biezi) , un parejie 2reiz mazaki (planaki) tad tie jasakarto aiz lielaa 2 (3 rindaas ) ...

-----

principaa var to visu mazliet vienkarsot un uzskatiit ka objekti viens no otra atskjiras ar preciizam attieciibam gan platumaa gan garumaa,

lai paskaidrotu sikaak --> visiem zinamaa kugju speele // teiksim ir dots 'darba virsma' 100X50 vienibas (rutinjas) un ir zinams ka:

objekts var aiznjemt teiksim no 1-10 rutinjam, vienmer veidojot cetrsturi { teiksim nekad nav pakapienveidiigs } ...

 

nu jaa objekti jau pasa sakumaa ir defineti & jaizkarto pilnigi visi .....

 

nu cerams ka tagad ir mazliet skaidraak ....

 

Edit: ja buutu tikai jasakarto peec kartas tad tas buutu pavisam vienkarshi ...

 

tb. izvada objektu , uzin cik platums palicis, ja nakamais ielien tad izvada utt, kamer neielien , njem 1 rindu zemak rekjinot no plataakaa objekta ... utt..

Bet vajag tieshi Optimizaaciju ... (nu vismaz daudz maz ... )

Edited by Grey_Wolf
Link to comment
Share on other sites

Nav tur nekā grūta ,ja tev nevajag ar scripta palīdzību izkārtot tā lai viņi aizņem pēc iespējas mazāk vietas!

Ja tie zīmējumi var kārtoties jebkāda secība ,neredzu problēmu skaiti tik platumu un kārto rindās!

Ja es visu pareizi sapratu!

Link to comment
Share on other sites

Tāpat nekā grūta :) Sākumā noskaidrojam visu zīmējumu platumu, sakārtojam viņus pēc platuma piemēram mysql tabulā!

Kārtojam visus pēc platuma ,tākā ir zināms platums nav problēmu izskaitļot brīvās vietas un piemeklēt īstos zīmējumus!

Tur tiešām nav nekā sarežģīta :)

Link to comment
Share on other sites

Wuu --> platums UN AUGSTUMS ir dazaads ...

Ne velti shis skaitaas Sarezgjiits Kombinatorikas uzdevums ...

Faktiski viennoziimiiga risinajuma praktiski NAV vispar...

Edit: + aizmirsti par DB izmantosanu Es jau piemineju Jaspej Stradaat arii Uz JavaScript .. tb . Tiira Programmesanas & matimatiskaa Logika ....

 

Edit2: Varbuut nee pilniigi bet shis ir no serijas /Bin_packing_problem/..

Edit 3:

---

Realaja dziive viss buus daudzkart sarezgjiitak , jo 'darba virsma' reali buus dzudzsturis (gan ar visiem taisniem lenkjiem), jo daziem objektiem buus jatrodas

noteiktaa vietaa (pusee), piemeram labajaa apakseejaa stuuri utt...

+ buus arii papildus kartosanas kriteriji (cena/ nosaukums utt... )

 

Bet nu sheit nesarezgiishu to uzdevumu ...

-----

Edited by Grey_Wolf
Link to comment
Share on other sites

Gray_Wolf - kā var nebūt viennozīmīgs risinājums? Ar pilno pārlasi vienmēr var atrast visoptimālāko risinājumu.

Bet nu šis uzdevums vienkāršs nav. NP pilna problēma - t.i. risinājumam nav efektīva algoritma, kurš arī pie liela N darbotos saprātīgā laikā atrodod visoptimālāko pakojumu.

Link to comment
Share on other sites

Aleksejs --> Es paskatijos to domu par mugursomu (Knapsack problem ) .. un arii / cutting stock / ...

peedejaa ir sameraa tuvu ...

----

pirmaja gadijumaa ir dots Galiigs aizpildamais laukums (soma)

otrajaa ir njemts veraa tikai platums ... Manaa gadijumaa arii augstums ....

---

par 'Cutting stock problem' Wuu izteicaas ka tas ir Pavisam vienkarshi ;)

Link to comment
Share on other sites

×
×
  • Create New...