Na wstępie.....

Witam wszystkich odwiedzających.

Do moich hobby należy testowanie oprogramowania a przede wszystkim , śledzenie rozwoju alternatywnych systemów operacyjnych. Z tego faktu będzie wynikała tematyka moich wypocin. Również będę chciał w tym miejscu zaprezentować swoje osiągnięcia, jak i porażki.

czwartek, 12 czerwca 2008

Kolejne pięć modeli smartfonów z Linuxem

Kolejna firma produkująca smart fony wprowadziła na rynek produkty których iterfejs oparty jest na Linux . Interfejs nosi nazwę NewPlus i pracuje pod specjalnie przygorowaną do tego celu dystrybucją Linux. Firma która to zapowiedziała to Chiński producent Tranzda. Zapewne same telefony nie trafią do Europy , w tym i Polski , ale za to zastosowany w tych urządzeniach interfejs ma szanse na to. Tranzda TFX320, TGP369, TFX326, TGP802 oraz T818, o którym póki co mało jeszcze wiadomo, wyjdą na rynek jako pierwsze modele bazujące na interfejsie NewPlus opartym na Linuksie. NewPlus oferuje między innymi WAP 1.0/2.0, synchronizację z komputerem, narzędzia do obsługi muzyki, wiadomości, e-maili oraz oprogramowania PIM. Więcej na : http://gadzetomania.pl/20...rty-na-linuxie/ Dyskusja toczy się na LivePC.pl : http://www.livepc.pl/topics27/616.htm#6007

środa, 11 czerwca 2008

Kondensator

Kondensator

Pierwszym programikiem którym się pochwalę to aplikacja "symulująca" pracę kondensatora płaskiego. Aplikacja na żywo pokazuje zmianę charakterystyki różnicy napięć na okładkach kondensatora płaskiego . Monitorowany jest proces zarówno ładowania jak i rozładowywania kondensatora.



Teraz mały opis co znajduje się w głównym oknie programu:

W centralnej części mamy pokazany poglądowy kondensator, jest po to by sobie lepiej wyobrazić go i co to w ogóle jest. Zadaniem przycisku, pod rysunkiem kondensatora , jest zresetowanie wszystkich wprowadzonych zmian w parametrach kondensatora i przywrócenie ich do wartości domyślnych.

Tuż pod nim znajduje się wykres na którym jest rysowany przebieg zmian różnicy napięć na okładkach kondensatora. Pod tym wykresem znajduje się przycisk czyszczący zawartość wykresu.


Na lewym panelu znajdują się parametry charakteryzujące kondensator oraz .....:


Pierwszym parametrem jest powierzchnia jaką posiada kondensator. Wartością domyślną jest 20 cm2 . Zmiana tego parametru powoduje wydłużenie się linii, na rysunku kondensatora, przedstawiające okładki.


Kolejnym parametrem mającym wpływ na wygląd kondensatora jest to odległość między okładkami kondensatora płaskiego. Domyślna wartość to 2 * 10-3 cm. Zmiana tego paramteru powduje zmianę położenia okładek względem siebie.


Poniżej znajduje się parametr za pomocą którego ustaiwiamy przykładane napięcie do kondesatroa. Wartością domyślną jest 2 V.


Następny parametr służy do manipulowania szubkością upływu czasu . Domyślna wartość to rzeczywisty upływ czasu . Zmiana tego paramtetry powoduje zmianę upływy czasu a przez to oglądania ładowaniarozładowywania kondensatora w zwolnionym bądż przyspieszonym tępie .


Ostanim parametrem jest rezystacja obwodu. Wartością domyślną jest 7 * 107 Om .


Zadaniem prawego panelu jest wyświetlanie wartości paramtrów kondensatora zależnych od wymienionych wyżej:


Pierwszą wartością jest to pojemność kondensatora któa przedewszystkim zależy od jego wielkości geometrycznych, czyli kształtu.


Poniżej znajduje się wartość ładunku jaką można zgromadzić między okładkami kondensatora. Jest ona zależna od pojemnośći kondensatora jak i przyłożonego napięcia.


Dwie kolejne wartości to czasy po jakich kondensator się naładuję i rozładuje.


Ostania wyświetlana wartość informuje o aktualnej różnicy potencjałów między okładkami kondensatora płaskiego.


Na górnym panelu znajdują się przyciski do zarządzania stanem kondensatora, czli odpowidnieo : Naładowanie , wystrzymanie procesu , rozładowanie , i zresetowanie operacji na kondesatorze. Proges bar informuje przedstawia stan naładowania kondesatora.




Korzystanie z programu jest w pełni bezpłatne. Program został napisany w darmowej wersji Borland C++ Builder 6 i z racji tego korzystanie z aplikacji posiada ograniczenia nałożone przez producenta środowiska programistycznego z którego korzystałem podczas pisania tej aplikacji. Najważniejszym aspektem tych ograniczeń jest fakt , że napisana aplikacja nie może być wykorzystywana w celach komercyjnych ani sama aplikacja nie może być komercyjnym produktem.


Aplikację można pobrać z strony :
http://bigkoma.ovh.org/Programy/Kondensator.zip



Dyskusja na temat tej aplikacji toczy się na najlepszym forum informatycznym LivePC.pl :
http://www.livepc.pl/topics43/637.htm#6253




Podstawowe operacje na obrazach

Podstawowe operacje na obrazach. W tym artykule przedstawię kilka podstawowych algorytmów wykorzystywanych podczas operacji na obrazach. 1. Zacznę od najczęściej wykonywanych przekształceń geometrycznych. a.) Najprostszym przekształceniem geometrycznym jest przesunięcie obrazu o pewien wektor [Xi,Yi]. Przesunięcie to polega na zmianie współrzędnych każdego z pikseli obrazu o określoną wartość zgodnie z zależnością:
X' = Xo + Xi
Y' = Yo + Yi

gdzie:
(Xo,Yo) - współrzędne początkowe pikseli,
(Xi, Yi) - wartości przesunięcia współrzędnych pikseli,
(X', Y') - nowe wartości współrzędnych pikseli obrazu po przesunięciu.
Przykładowa funkcja , która realizuje to przekształcenie :
// Funkcja zwraca punkt z nowymi współrzędnymi 
Punkt Przesun(Punkt Zadany, Punkt Wektor)
{ Punkt P; 
P.x = Zadany.x + Wektor.x ; 
P.y = Zadany.y + Wektor.y ; 
return P; }
b.) Innym, ważnym przekształceniem geometrycznym obrazu jest skalowanie obrazu. Skalowanie odbywa się poprzez pomnożenie współrzędnych obrazu przez współczynnik skalowania, zgodnie ze wzorem:
X' = Xo * Xi
Y' = Yo * Yi

gdzie:
(Xo,Yo) - współrzędne początkowe pikseli,
(Xi, Yi) - wartości współczynników skalowania,
(X', Y') - nowe wartości współrzędnych pikseli obrazu po skalowaniu.

Przykładowa funkcja , która realizuje to przekształcenie :

// Funkcja zwraca punkt z nowymi współrzędnymi 
Punkt Przesun(Punkt Zadany, Punkt Wektor)

Punkt P; 
P.x = Zadany.x * Wektor.x ;
 P.y = Zadany.y * Wektor.y ; 
return P; 
}
c.) Obracanie obrazu jest jedną z operacji geometrycznych wykorzystywanych do oczyszczania (rektyfikacji) obrazu po przypisaniu mu współrzędnych w ramach przyjętego układu odwzorowania. Operację obrotu wykonuje się zgodnie ze wzorem:
X' = Xo * cos(Q) - Yo * sin(Q)
Y' = Xo * sin(Q) + Yo * cos(Q)

gdzie:
(Xo,Yo) - współrzędne początkowe pikseli,
Q - kąt obrotu,
(X', Y') - nowe wartości współrzędnych pikseli obrazu po obrocie.


Przykładowa funkcja , która realizuje to przekształcenie :

// Gdzie ma umieścić , co ma umieścić , Położenie , Ile Obrucić , Punkt wedłóg którego obracamy 
void TForm1::RysObie( TImage * Rysunek , TImage *Obrazek , double Px , double Py , double Obr , double x1 , double y1 ){
// Pomocnicze zmienne 
 double x2,y2,dx=0,dy=0,S=0,a,dxN=0,dyN=0; for ( int ii = 0 ; ii < Obrazek->Width ; ii ++ ) 
 for ( int jj = 0 ; jj < Obrazek->Height ; jj ++ ) { if ( Obrazek->Canvas->Pixels[ii][jj] == clBlack ) {
 if ( Obr != 0 ) { x2 = ii ; y2 = jj ;
//Stare współrzędne 
dx = x2 - x1 ; dy = y2 - y1 ;
//nowe współrzędne 
 dxN = dx*cos(Obr) - dy*sin(Obr); dyN = dx*sin(Obr) + dy*cos(Obr); 
// Wyświetlanie obrazka 
Rysunek->Canvas->Pixels[Px + x1 + dxN][Py + y1 + dyN] = Obrazek->Canvas->Pixels[ii][jj]; }
 else 
 Rysunek->Canvas->
Pixels[Px + ii][Py + jj] = Obrazek->Canvas->Pixels[ii][jj]; } } }