TagiHTML, JavaScriptGrudzień 10, 2017
Napisał(a) Kawałek Kodu
Jeśli doszedłeś już do etapu kiedy to klonowanie elementów nie jest wiedzą tajemną i nie sprawnia Ci żadnych problemów, to być może przed kolejnym etapem natrafiłeś na inny problem.
Podczas kopiowania zaznaczonego elementu radio ten traci swoje zaznaczenie.
TagiHTML, JavaScriptListopad 29, 2017
Napisał(a) Kawałek Kodu
Nadawanie unikalnych atrybutów dla kolonowanych elementów formularza może przyprawić o ból głowy. Jeśli chodzi o atrybut id, to element nie musi go posiadać, ale jeśli powiążemy do niego etykietę (LABEL), która nie otacza tego elementu, to należałoby etykiecie nadać atrybut for, a co za tym idzie elementowi atrybut id. Co do atrybutu name, to oczywistym jest, że chcemy go mieć, jeśli dane będziemy przesyłać dalej. A jeśli to element klonowany, to pewnie wartości całej grupy takich elementów będziemy odbierać jako tablicę, czyli tu na pewno musimy mieć unikalne name w formie tablicowej.
Pracując z elementem CANVAS spotykam się często z dwoma zagadnieniami: pobrania koloru piksela i kreślenia piksela. Jeśli chodzi stawianie punktu, to zazwyczaj spotykamy się z następującą metodą:
Z zmiennej ctx mamy obiekt RenderingContext pozwalający na dostęp przez dwie współrzędne (stąd parametr '2d'). Punkt stawiamy poprzez nakreślenie wypełnionego prostokąta o wymiarach 1x1 (parametr 3 i 4) na współrzędnych 100,100 (parametr 1 i 2). Wcześniej ustawiliśmy kolor czerwony dla wypełnienia. Domyślny kolor wypełnienia to czarny, a domyślny kolor tła CANVAS to biały. I ta metoda oczywiście się sprawdza, ale niekoniecznie przy dynamicznych efektach na CANVAS, kiedy potrzebujemy postawić tych punktów tysiące lub dziesiątki tysięcy.
Jeśli jako dziecko nie poznałeś smaku (a właściwie wyglądu) nowego kolorowego telewizora w Twoim domu, to spróbuję Ci go dziś przybliżyć. Przyblizyć teoretycznie i jeszcze bardziej wizualnie.
Jak zapewne wiesz, kolor na ekranie urządzenia, które teraz używasz powstaje z połączenia trzech barw: czerwonej, zielonej i niebieskiej (RGB). W zależności od natężenia każdej ze składowej ich połączenie tworzy inny kolor. Tyle, że ten kolor jest złudny, bo tworzą go trzy elementy (plamki) reprezentujące każdą ze składowych. Plamki są na tyle blisko, że ich nie zauważasz. Kiedy świecą mocno wszystkie trzy, Ty widzisz jeden punkt w kolorze białym. Skoro trzy plamki tworzą piksel, to każdy piksel zmieńmy w plamkę, a ich potrójna grupa utworzy nasz nowy, duży piksel. Każdy z dotychczasowych pikseli będzie reprezentował inną składową. Pozostaje tylko wybrać w jakim układzie będą reprezentować duży piksel.
TagiHTML, JavaScriptPaździernik 28, 2017
Napisał(a) Kawałek Kodu
Arcus tangens, to nie straszliwy władca Gór Wschodnioserbskich. Jest to jedna z funkcji cyklometrycznych, które stanowią grupę funkcji odwrotnych do funkcji trygonometrycznych. Skoro istnieje tangens, to arcus tangens jest jego "złym" bliźniakiem. "Zły", bo właśnie nie jest taki straszny jak go malują, a przy jego pomocy można malować fajniejsze rzeczy niż z pomocą tangensa.
Tangens przyjmując za argument kąt zwraca nam pewną wartość, a arcus tangens jako, że jest "odwrotny", zwraca kąt (w radianach) dla pewnej wartości. I tu się zaczyna jego urok.
Może już widziałeś ten piękny graficzny wzór, choć nie wiesz, że miałeś do czynienia z fraktalem. Fraktal to obiekt nieskończenie powtarzalny, albo samopodobny. Oznacza to, że w jego fragmencie jest zawarta całość. Mamy do czynienia z nimi nie tylko w formie komputerowej grafiki, ale również w otaczającym świecie (choć nie są to nieskończenie powtarzalne konstrukcje). Fraktalem jest kalafior czy brokuł, którego kawałek wyglądem przypomina całość. Banknoty niestety nie są fraktalami. Drzewo jest fraktalem. Wygląda na to, że cały wszechświat jest również fraktalem, którego odwzorowanie możemy znaleźć w żywej komórce.
Z fraktalami nieodłącznie wiąże się rekurencja. Dzięki niej powstaje trójkąt Sierpińskiego, kiedy to w duży trójkąt wrysowujemy odwórcony mniejszy, a pozostałe trzy miejsca są zapełniane w ten sam sposób jak duży. I tak dopóki starczy sił albo czasu.
Ale nie zawsze się wiąże. Możemy skorzystać z innej cechy liczb jaką jest możliwość ich reprezentacji binarnej i operacji logicznych na nich. W ten sposób możemy stworzyć fraktal Sierpińskiego oparty na trójkącie prostokątnym.