Poprzedni temat «» Następny temat
Kurs atrybutów "Ink Efects"
Autor Wiadomość
Wolf
Nikt


Program: TGF
Pomógł: 2 razy
Wiek: 30
Dołączył: 18 Wrz 2005
Posty: 28
Skąd: Ostrów Wlkp
Ostrzeżeń:
 6/3/6
Wysłany: 2005-10-03, 21:23   Kurs atrybutów "Ink Efects"

Jak każdy pewnie zauważył, obiekty aktywne mają w swoich preferencjach zakładke "Advanced" czyli zaawansowane z ciekawą listą rozwijaną - "Ink Effect". Czyli efekt atramentu. Część z was już załapała także o co chodzi z niektórymi atrybutami, np. takimi jak "Semitransparent". W tym kursie przybliżę wszystkie właściwości obiektów.

1.Transparent
Z angielskiego znaczy tyle co "nieprzeźroczysty". Także każdy piksel oznaczony wartościami R=0, G=0 i B=0 będzie przeźroczysty czyli widać będzie co sie pod nim znajduje. W TGF kolor czarny pełni rolę przeźroczystego, rolę jego przejmuje bliski sąsiad - R=1, G=1, B=1.
Co to jest to R,G i B? Początkujący pewnie się głowiaco ja im tu truje. Otóż z plastyki powinniśmy wiedzieć ż kolory składają się z trzech lub czterech barw - paleta standardowa (dla malarzy, nie informatyków) to żółć, czerwień i niebieski. Dla informatyków natomiast istnieją palety "RGB" i "CMYK". "RGB" to to samo co "Red, Green, Blue" czyli czerwony, zielony i niebieski. "CMYK" to kolory Cyjan, Magneta, Yellow czyli żółty i blacK czyli czarny. Paleta "RGB" moze przyjmować wartości od 0 do 255 dla każdego kanału koloru. Dlatego 0,0,0 to czarny, a 255,255,255 to biały.
Wróćmy teraz do kursu. Następny atrybut to...

2.Opaque
Czyli nieprzeźroczysty ( wcale nie untransparent! ). Po wybraniu tego atrybutu kolor 0,0,0 przestaje pełnić rolę przeźroczystego... A co ją pełni? Nic! No przecież to "nieprzeźroczysty" kolor ! :P

3.Semitransparent
Półprzeźroczysty kolor. Po wybraniu uaktywnia się nam pole edycji gdzie mozemy wpisać wartośc w procentach przeźroczystości. OD 0 do 100% rzecz jasna ;) . Im więcej procent tym obiekt "bledszy" czyli piksele przeźroczyste gęściej są rozsiane. Niestety w TGF nie można ustalać przeźroczystości z poziomu kodu.

4.Inverted
Być może to jest ostatni punkt który zrozumiecie :P . Inverted to tyle co "odwrócony". Tak wiec kolor 255,0,0 będzie kolorem 0,255,255 ( z czerwieni przechodzimy na cyjan). Przy wklejaniu obiektu w tło wklejane są normalne kolory. Daje to czasem niezłe wizualnie efekty.

5.XOR
Negacja sumy. Teoretycznie suma kolorów jest negowana ale to nie jest artmetyczna suma.
I tu przychodzi logika. Troche przemieszam wam w głowach i wytłumaczę na prostej algebrze Boula. Ogranicza sie ona niestety do systemu dwójkowego czyli jedynki i zera. Ale i moze dlatego prościej. Powiedzmy że jeśli kanał ma wartość 0 to oznaczamy go 0 a jak ma wartość 255 to 1. Według algebry Boula suma daje jeden jesli którykolwiek z argumentów równa się jeden. Dopowiem zanim przedstawie przykład że występuje tu też negacja.
Tworzymy obiekt aktywny - czerowny kwadrat (255,0,0 czyli 1,0,0 jak się umówiliśmy). Nadajemy mu Ink effect - XOR. I co widzimy? Cyjanowy kwadrat( Cyjan to 0,1,1). Nie ma podspodem obiektu, wiec narazie suma nie zachodzi. Kolor jednak się zmienił pod wpływem negacji ( zupełnie jakbyśmy uzyli atrybutu inverted ). Policzmy
Kod:
(1,0,0)N=(0,1,1)

N-ka to negacja. Teraz stwórzmy kwadrat o kolorze cyjan ( 0,1,1) i nadajmy mu XOR. Zrobił się czerwony, tak jak przypuszcaliśmy, prawda ;) ? A teraz nałóżmy na siebie kwadraty. Czarny. Czarna magia? Niee. Obliczmy:
Kod:
(1,0,0 + 0,1,1)N=(1+0,0+1,0+1)N=(1,1,1)N=0,0,0

Zsumowaliśmy kolorki i wyszedł czarny bo znegowaliśmy otrzymany po konwersji biały. Dodam jeszcze dla tych co nie czytają uważnie:
1+1=1 (nie 2 !!) {według algebry Boula}
Przechodzimy do następnego atrybutu...

6.AND
Iloczyn (część wspólna). Bez negacji , z negacją byłoby NAND. Wytłumaczę prosto i zwięźle - 1 wychodzi tylko gdy oba atrybuty ( mieszane kanały kolorów w tym wypadku) wynoszą "całość" czyli 1.
Ustawmy naszym kwadratom uprzednio rozdzielając je atrybuty AND. Przybrały swój kolor. Nałóżmy je na siebie. Także wyszedł czarny kolor. A to dlatego że:
Kod:
1,0,0 <= pierwszy kwadrat
0,1,1 <= drugi kwadrat
______
0,0,0 <= tam gdzie w kolumnie jest przynajmniej jedno zero wychodzi takze zero.

Podsumowanie lekcji logiki:
Kod:
0+0=0
1+0=1
0+1=1
1+1=1
------
0*0=0
1*0=0
0*1=0
1*1=1


7.OR
Po przeczytaniu części artykułu ( mniej więcej do tego momentu) rzuciliście pewno artykuł, w nadziei że jak zrobicie dwa kwadraty czerwony i niebieski i ustawicie im OR to "się doda". O nie. Tutaj TGF korzysta z wszystkich warstw, także tła. Oczywiście że jak podsuniecie jakis kolorowy backdrop pod obiekty z poprzednich punktów to kolory się zmienią, ale tu występuje prawdziwe dodawanie, włącznie z kolorem białym ( tzn występuje przepełnienie). O co mi chodzi - nie dodajemy tu logicznie tylko zwyczajnie z nadzieją że nie przepełniliśmy wiaderka. Teraz myslicie "Co ten Wolf mi tu gada?? ". No to potestujmy. Kwadrat czerwony uczyń obiektem o atrybucie OR. Zniknął. A teraz podsuń quick backdrop czarny. Widać go w pełnej okazałości. Co sie stało?
Obliczamy:
Kod:
1,0,0 <=kwadrat
1,1,1 <=tło ( białe czyli full po 255 na kanał)
______
1,1,1 <= wystarczy jeden argument by było 1

Kod:
1,0,0 <=kwadrat
0,0,0 <=tło ( czarne czyli puste po 0 na kanał)
______
1,0,0 <= wystarczy jeden argument by było 1

Proste? Opróżniliśmy wiaderka R,G i B i powsadzaliśmy tylko potrzebne nam ( tutaj: kanał R aż 255 litrów farby ;) ).

8.Podsumowanie
Myślę że i tak część połowy nie zrozumiała, ale domyślam się że naprowadziłem też część na dobrą drogę.


3 październik 2005 ; Wolf
_________________
http://www.wolfsoft.neostrada.pl/temp/k2_coder.gif
http://img78.imageshack.u...1/states7qy.jpg
http://wolf.gaa.pl/uploads/galery/panel.gif
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Template modified by Mich@