![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 15.11.2012 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
No więc z php rozpocząłem swoją przygodę nie dawno (na początku października), w tej chwili pracuje na frameworku- Codeigniter, i stanąłem przed takim zadaniem muszę napisać w php i mysql algorytm który będzie przypisywał mi trzy współrzędne X,Y,Z dodawanego obiektu (punktu) na obszarze (np. obrazku) o wielkości 2560x1240 px . A teraz do rzeczy: Dane: punkt (0,0,0) znajduję się w lewym górnym rogu grupy powierzchni roboczej. X - szerokość Y- wysokość Z- losowa wartość od 1 do 10 area- grupa do której należy obiekt (od 1 do 20 ) baza zawierająca dane obiektu: (IMG:http://www.wyslij.nazwa.pl/praca/baza.png) obszar jest podzielony na 20 części, każda ma swoją gęstość która będzie miała wyliczana dzięki danym z bazy (ilość wystąpień np 1 w kolumnie area) , (IMG:http://www.wyslij.nazwa.pl/praca/obszar.png) No i na czym polega trudność - przy dodawaniu nowego obiektu muszę zbadać gęstość każdego obszaru (1-20) następnie wybrać ten z najmniejsza gęstością i przypisać ją do obiektu, przypisać w obszarze (np.2) losowe współrzędne (z zakresu X- 0:512 i Y - 0:248 Z- losowo od 1 do 10). Nie wiem jak się do tego wszystkiego zabrać, jakieś podpowiedzi z jakich bibliotek, funkcji php,mysql mógłbym skorzystać przy tym zadaniu? Z góry dziękuję za pomoc (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy dobrze zrozumiałem, ale obszar o najmniejszej gęstości (tj. najmniejszej liczby przypisanych punktów) możesz zrealizować jednym prostym zapytaniem.
Jako wynik otrzymasz nazwę (identyfikator) obszaru oraz liczbę przypisanych punktów. Nie wiem jak ustanawiasz te obszary, ale jeśli np. w bazie są współrzędne początku i końca obszaru, to teraz je pobierasz na podstawie wyniku poprzedniego zapytania. Załóżmy, że otrzymujesz już taki wynik:
I to chyba tyle? Ten post edytował b4rt3kk 15.11.2012, 17:32:59 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 15:56 |