18,5/52: PyNK-photo: jeszcze więcej feature'ów i prośba o pomoc.
06 września, 2010r, deetah
Dla PyNK-photo jest to dopiero drugi tydzień - sądzę, że udało mi się dodać do kodu całkiem sporo funkcjonalności. Przede wszystkim - praca nad nim jest dla mnie bardzo przyjemna, chętnie dodaję nowy kod, myślę, czy by tego nie przeportować, spakować w .exe i pokazać znajomym. W tym tygodniu dodałem skalowanie, wyświetlanie zdjęć galerii, przeglądanie list znajomych innych osób, naprawiłem sporo bugów. Kod ciągle wygląda jak kupa, szykuje się przeprojektowanie obiektów i przepisanie (kiedyś). Linki: PyNK, PyNK-photo.
Aktualnie mam problem z rysowaniem zdjęć profilowych po kole - jako, że trygonometria nie jest moją mocną stroną, poprosiłem znajomego o wzór, który rysowałby po kole N obiektów przy danym numerze iteracji I i promieniu R (przy założeniu, że środek koła = (0,0). Oto wzory na współrzędne, jakie dostałem:
deg=i*(360/n)
x=math.sin(deg)*r
y=math.cos(deg)*r
Niestety, ten kod ma sporo wad. Po pierwsze i najważniejsze, obiekty rysowane są nie w kolejności ruchu wskazówek zegara, lecz zależnie od "i" w różnych ćwiartkach. Po drugie, kod nie działa dla N>360 - próbuje wtedy rysować wszystkie obiekty w (0,r). Po trzecie, po przekonwertowaniu n z int na float (myślałem, że to kwestia precyzji), owszem obsługiwane są sytuacje N>360, ale rysowanych są właściwie 32 obiekty, po czym następne nadpisują pozycje starych. Byłbym wdzięczny za odpalenie tego kodu w Pythonie i przetestowanie wyników, może komuś uda się pomóc mi poprawić algorytm.
Drugi problem to zabezpieczenia NK w sprawie JS - po wykonaniu zapytania /friends_list/, NK zorientuje się że tak naprawdę nie mamy włączonego JavaScript i zablokuje zapytanie o listę albumów użytkownika na /profile/{NUMER}/gallery. Próbowałem ustawić cookie js_enabled na '1', ale to nie rozwiązuje sprawy.
( 2 komentarze )
17,5/52 - PyNK i panda3d
30 sierpnia, 2010r, deetah
Tym razem postanowiłem zacząć eksperymentować z wizualizacją danych. Program z tego tygodnia robi prostą pierdółkę - pobiera zdjęcia profilowe Twoich znajomych na NK i układa je w pierścień, pozwalając na dowolne kliknąć aby je powiększyć. W tym celu poszerzyłem PyNK'a o podstawową obsługę zdjęć (dodałem też zaczątki cachingu, więcej pewnie następnym razem) i zainteresowałem się otwartymi enginami 3D pod Pythona - na #python@freenode polecono mi panda3d. Zainstalowałem, skopiowałem kod z tutoriala pt. "Asteroids" i dzięki pomocy z #panda3d@freenode rozwinąłem o teksturowanie modeli zdjęciami z NK konwertowanymi dzięki PIL do PNG. Potem dodałem obsługę kolizji łącząc kod z tutoriali na stronie z tutorialem "Chessboard" i dzięki temu dodałem też powiększanie. Ma parę bugów (właściwie to całkiem sporo), a kod nie wygląda najładniej (moje pierwsze kroki w interfejsie tasków), ale to już zadania na następny tydzień. Jako, że kodu jest całkiem sporo, nie wrzucę go do treści strony.
pynk.py (358L, 17216B) - [WKLEJ.ORG] [GIST.GITHUB.COM]
photos.py (121L, 4241B) - [WKLEJ.ORG] [GIST.GITHUB.COM]
Plik square.egg.pz to models/plane.egg.pz, triangle.png to textures/ship.png, oba z katalogu Asteroids z [TEJ PACZKI]
Screen TUTAJ, paczka z całością TUTAJ (odpalać photos.py, potrzebne liby do panda3d)
( 1 komentarz )
16,5/52: PyNK - przepisane XPathy
23 sierpnia, 2010r, deetah
Czyszczenia PyNKa ciąg dalszy. Poprawiane na raty jakieś dwa, może trzy wieczory, zainspirowane komentarzem fluxida. Kod poniżej i tutaj.