12:45 Restate my assumptions:
1. Mathematics is the language of nature.
2. Everything around us can be represented and understood through numbers.
3. If you graph the numbers of any system, patterns emerge.
Therefore, there are patterns everywhere in nature.
'Pi'
the film
Zabójcza Hipoteza
Programy matematyczne [Mathematical tools]

WYKRESY4DX9 (Początek projektu 2002-6m. Wersja 2008-3m-31d) [Archiwum RAR 534 KB].
[Archiwum EXE 636 KB]. Wersja mini [274 KB].
(Wymagana biblioteka msvcr71.dll)
Przykładowo wygenerowane przez program obrazy wykresów funkcji:
GALERIA WYKRESÓW
[English: Wykresy4DX9 visualize mathematical functions.
It can handle 3 unknowns (u,v,t) and can produce a 4D function with 3 space and 1 time dimension.
It is an interactive DirectX based function grapher for Windows written in C++.
Every animation can run very smooth and fast. It visualizes any mathematical function 2 or 3 unknowns in 3D or 4D (3D animation) dotted, wireframe or solid surface.
It can be interactively controlled with the mouse and the keyboard.]
Wykresy4DX9 jest to program do wykreślania i wizualizacji wykresów funkcji w 4-wymiarowej przestrzeni (animacje 3D).
Są to dynamicznie generowane wykresy funkcji 3D. Funkcje można podawać w współrzędnych:
kartezjańskich, cylindrycznych i sferycznych oraz w ogólnej postaci parametrycznej.
Oczywiście można używać zapisu funkcji w prostej postaci np. Z = f(x,y).
Program posiada przeróżne metody wizualizacji: od wykresów w postaci punktów i siatek poprzez różnie cieniowane ścianki
aż do metalicznych i przezroczystych płaszczyzn. Dostępnych jest dużo różnych sposobów renderingu obiektów: teksturowanie,
mapowanie środowiskowe, mieszanie kolorów wierzchołków z kolorami materiałów i tekstur itp. Aplikacja umożliwia operowanie jednocześnie 10 wykresami.
Można wczytywać różne tekstury z plików (bmp, jpg i inne).
Szybki parser wyrażeń arytmetycznych pozwala na bardzo płynną animację wykresów,
generowanych w czasie rzeczywistym!
Na generowanych obiektach można dokonywać interaktywnych operacji takich, jak: obrót, translacja, skalowanie, zmiana zakresów zmiennych i wiele innych.
Na wszystko mamy bezpośredni wpływ. Mnogość możliwości konfiguracji funkcji klawiszy i myszki oraz wiele innych możliwości
pozwala na różne sposoby oglądać generowane obiekty. Program zapewnia dużą wygodę oglądania prezentowanych wykresów,
tzn. operując myszką i klawiaturą (tak jak w grach 3D FPP) można dowolnie poruszać się w przestrzeni,
aby oglądać dany wykres lub animację ze wszystkich stron. (Najlepiej używać myszki z trzema przyciskami.)
Program ten wyróżnia się spośród podobnych tym, że najszybciej generuje wykresy
(m.in. dzięki wykorzystaniu bibliotek DirectX szybszych od OpenGL),
a poza tym jest bardzo mały objętościowo (exe tylko 81 KB!) oraz całkowicie po polsku.
Do programu dołączony jest także bogaty help, kilkaset przykładowych funkcji i kilkanaście projektów.
Program jest darmowy, czyli freeware tzn. można go dowolnie kopiować, rozpowszechniać i wykorzystywać do czego się chce.
Pobierz program i poznaj piękno matematycznych obrazów funkcji!
Aplikację wystarczy rozpakować z archiwum .rar i uruchomić plik .exe.
Uwaga: Przy niektórych
(źle dobranych, np. tylko do chipsetu a nie do modelu karty lub niedopracowanych) sterownikach do kart graficznych
mogą wystąpić problemy z odpowiednim rysowaniem kolorów obiektów. Ponadto program ma pewne wymagania co do sprzętu i
może nie uruchamiać się na słabych lub starszych kartach grafiki, np. wbudowanych w płytę główną.
Aplikacja napisana jest pod DirectX 9, całkowicie w WinAPI. (Bardzo oszczędna gospodarka pamięcią i mały plik exe).
Jest to jeden z moich najbardziej rozbudowanych projektów (ponad 6000+1800 (na parser) moich linii kodu).
Bardzo proszę o testowanie, komentarze, wskazówki itp., gdyż program może być rozwijany.
Więcej informacji o projekcie.
- Wykresy4DX8
- to stara wersja powyższego programu (19d-7m-2005) [727 KB] pod DirectX 8.1 (jeżeli nie masz zainstalowanego DX9).
Jednak polecam W4DX9.
WYKRESY4D (wer. 19d-7m-2005) [tylko 88 KB!] Zobacz!:
[1] [2] [3]
[4] [5] [6]
[7] [8] (niektóre ze starszej wersji)
Pierwotna wersja powyższego programu napisana w Direct3D 7 w trybie utrzymywania (Retained).
Napisałem ją całkowicie w czystym WinAPI (bez żadnych MFC czy OWL).
Program wymaga zainstalowanego DirectX 8.x, ale chyba powinien działać także na wersji 7.
Program jest freeware tzn. można go dowolnie kopiować, rozpowszechniać i wykorzystywać do czego się chce.
Więcej informacji (nie całkiem aktualne)

satorparserv.dll - NAJSZYBSZY na świecie parser wyrażeń arytmetycznych
dla dowolnej liczby zmiennych dla C++ dla liczb rzeczywistych typu double i long double!
[English: In other words: Mathematical Expression Parser (MEP) for programmers, Mathematical Expression Evaluator,
STRING Calculator, Sophisticated Equation Processor, Fast Math Parser, Equation parser -calculator, ultra fast math expression parser.
Many applications require the parsing of mathematical expressions. The main objective of this project is to provide a fast and easy way of doing this.
Satorparserv.dll is a standard DLL very easy to use programming component for software developers which allows programs
to evaluate math / algebraic expressions defined at runtime. It is a high performance math parser library.
The math parser is aimed to parse and extremely fast evaluate scientific, engineering and math expressions on-the-fly.
It is designed for use in loops which repeat the same operation with different values.
This library supports conventional math operators and functions, as well as infinite number of user variables.
It includes over 40 built in functions including sin, log, exp, etc., 15 constants and implements all calculations in 8-byte (64-bit) double floating point.
The program can handle all possible calculation errors and give very precise information about it.
Ease of use and speed are at the core of the product's design. It is the fastest math-parser ever made (faster than UCalc) and it's freeware!
Here
is english language version for MS Visual C++ (ver. type double - 64 bits), 2007-1m18d) [93 KB] with example of usage in Visual C++ 2003 project.]
(Inaczej: ewaluator wyrażeń matematycznych, parser wzoru funkcji, parser matematyczny, analizator, parser wyrażeń matematycznych)
Jest to biblioteka DLL do obliczania wartości z pobieranych w postaci tekstu wyrażeń matematycznych
w czasie wykonywania programu. Zawiera w sobie analizator składniowy. Parser ten jest w postaci
bardzo wygodnej w użyciu klasy.
Można go wygodnie stosować przy tworzeniu własnych programów, pobierających od użytkownika funkcje
- wyrażenia arytmetyczne o dowolnej liczbie zmiennych i późniejszym super szybkim
wyznaczaniu ich wartości bez każdorazowego przetwarzania podanego ciągu znaków (przeczytaj dokumentację). Biblioteka parsera zawiera ponad 40 wbudowanych funkcji, np. sin, log, exp oraz 15 stałych.
Pełna funkcjonalność: sprawdzanie gramatyki wyrażenia, szczegółowe informacje w języku polskim o wszelkich możliwych błędach
w wyrażeniu lub obliczaniu wyrażenia, ze wskazaniem na konkretny atom i ekstremalna szybkość działania!
Biblioteka ta jest bardzo bezpieczna: sprawdza wszystkie dziedziny funkcji, przekroczenie zakresów, obsługuje wszelkie możliwe błędy obliczeń
(np. z biblioteki math.h: DOMAIN, SING, OVERFLOW, PLOSS, TLOSS, UNDERFLOW).
Parser ten ma możliwość obliczania stałych wyrażeń podczas parseringu/kompilacji wyrażenia.
Porównując różne inne takie parsery (np. komponent do Delphi za $20, mathexpr_c, muParser, fastmath (za $300), ucalc i inne w C++ (nawet za $450!))
okazuje się, że mój parser jest najwygodniejszy w użyciu, często bardziej rozbudowany i przede wszystkim najszybciej oblicza
wyrażenia matematyczne. Naprawdę jest to najszybszy ewaluator wyrażeń, jaki istnieje! Biblioteka ta jest napisana tylko w C++, bez użycia Assemblera.
Przykład: Najszybsza wersja biblioteki; Wyrażenie: "1-(sin(x*3)*4+cos(y*4)*2+sqrt(z))^2/6"; Zmienne: x=2; y=3; z=4; Czas obliczania 10 000 000 razy: około 16s; Procesor Duron 900 MHz, 384MB SDRAM. To jest około 625 000 obliczeń tego wyrażenia na sekundę.
Zobacz tutaj, jak łatwo korzysta się z tego parsera: main.cpp.
Tu biblioteka .dll dla MS Visual C++
(wer. double (8 Bajtów) 2008-6m-19d) [101 KB] wraz z przykładem jej użycia w projekcie Visual C++ 6.0+SP6.
Jest to bardzo szybka wersja biblioteki, dzięki dobremu kompilatorowi firmy Microsoft.
Tutaj
jest wersja najszybsza ale pozbawiona precyzyjnych wskazań opisów błędów obliczeń.
Tu biblioteka .dll dla Borland Builder C++
(wer. double (8 Bajtów) 2008-06m-19d) [101 KB] wraz z przykładem jej użycia w projekcie Borland C++ Builder 6
(patrz także niżej na stronie: Wykresy2D, KalkulatorSator). Dostępna jest także wersja dla liczb long double (10 Bajtów)
Biblioteka skompilowana w Builderze jest równie szybka, jak ta dla MS Visual C++.
Tu biblioteka .dll dla Dev-C++
(wer. double (8 Bajtów) 2007-1m-18d) [39 KB] wraz z przykładem użycia.
Niestety wersja biblioteki skompilowana w Dev-C++ 4.9.9.2 jest wolniejsza od tej w MS Visual C++.
Tu biblioteka .dll dla MinGW Dev. Studio 2.05 (wer. double (8 Bajtów) 2007-1m-18d) [27 KB] wraz z przykładem użycia.
Również ta wersja biblioteki jest wolniejsza od wersji skompilowanej w MS Visual C++.
Biblioteki te można wykorzystywać do wszelkich niekomercyjnych programów, pod warunkiem zamieszczenia informacji w programie
o autorze tej biblioteki. Jeśli ktoś chciałby najnowszą wersję proszę o e-mail.
Więcej informacji o implementacji.
To samo w pliku rtf
[7 KB]. Plik pomocy dla końcowego użytkownika - możliwości obliczeń.
(Jeżeli ktoś pokaże mi szybszy parser od mojego, to ujawnię kody źródłowe mojego parsera.)
Przetwarzanie wprowadzonych przez użytkownika funkcji matematycznych
stanowi wąskie gardło optymalizacji szybkości działania takich programów, jak Wykresy4DX,
czyli dynamicznie tworzone animacje wykresów z podanych wzorów funkcji czy też np. AdvancedVisualizationStudio (wtyczka wizualizacji w Winamp'ie).
Szybkość obliczania wartości przez parser wpływa w znacznej mierze na szybkość działania takich programów.
Zatem potrzebny jest wtedy bardzo szybki parser i taki właśnie starałem się zrobić.
- Tester szybkości parsera arytmetycznego -
(wer. 2008-03m-31) Jest to kalkulator, który wylicza wielokrotnie dane wyrażenie arytmetyczne i podaje czas tych obliczeń.
Dzięki temu programowi można zobaczyć, jak szybki jest powyższy parser matematyczny.

[z] KalkulatorSator [Archiwum RAR 582 KB]
[EXE 684 KB] (Początek 2004-5m; Wersja 2009-1m-28d) [zobacz]
Profesjonalny i bardzo wygodny kalkulator. Program oblicza wartości z podawanych naraz całych wyrażeń arytmetycznych,
z możliwością zdefiniowania trzech zmiennych. Oprócz systemu dziesiętnego, można także używać zapisu liczb
w 3 innych systemach: dwójkowym, ósemkowym i szesnastkowym. Ponadto program ma możliwość wyświetlania wyniku
w systemach (reprezentacjach liczb): 2 - 16 oraz potrafi bardzo szybko sfaktoryzować liczby (rozłożyć na liczby pierwsze).
W wyrażeniach arytmetycznych używać można bardzo wiele różnych standardowych funkcji matematycznych oraz stałych.
Dostępne są także funkcje logiczne, np.: AND, OR, NOT, operujące na liczbach 64-bitowych.
KalkulatorSator umożliwia także obliczanie rekurencji!, np.: Oblicz 1000 razy R:=R+sqrt(R) zaczynając od R=1.0.
Główną zaletą programu jest to, że wyrażenie do obliczenia można wpisywać w całości do programu (np. 2x+sin(5y)^3) i można je cały czas
edytować oraz wykorzystywać w kolejnych obliczeniach.
Ponadto program zawiera kalkulator dat:
umożliwia obliczanie liczby dni i godzin pomiędzy podanymi datami oraz datę, jaka będzie po upłynięciu podanej liczby dni
od danej daty.
Namawiam serdecznie do używania tego programu.
Naprawdę ułatwia on życie.
Dzięki możliwości widzenia całego wyrażenia do obliczenia (odpowiednika serii działań na zwykłym kalkulatorze) i przede wszystkim edytowania go (dowolnego fragmentu) o wiele szybciej można dokonywać poprawek w naszych obliczeniach.
W normalnym-tradycyjnym kalkulatorze często, po jakimś błędzie, musimy przeprowadzić cały ciąg obliczeń od nowa.
W KalkulatorSator nie musimy tego robić - wystarczy tylko zmienić (wyedytować) dowolną część naszego wyrażenia.
Ponadto ułatwia on formowanie naszych wyrażeń - tego co chcemy obliczyć.
W normalnym kalkulatorze trzeba, dla skomplikowanych wyrażeń, przemyśleć kolejność przeprowadzanych fragmentarycznie obliczeń.
W KalkulatorSator można użyć dowolnej własnej kolejności przeprowadzania obliczeń (np. dzięki użyciu nawiasów).
Tu możemy dowolnie edytować sobie nasze wyrażenie.
Różnica między KalkulatorSator a konwencjonalnym kalkulatorem jest m.in. taka, jak między edytorem tekstu na komputerze a maszyną do pisania.
Rzeczywiste korzyści są znacznie większe niż w tym porównaniu.
To jeden z najczęściej używanych przeze mnie moich programów i podstawowe narzędzie do obliczeń. Aplikacja jest darmowa, tzn. freeware. Polecam!
A tutaj KOD ŹRÓDŁOWY [BCB] (stara wersja 14d-1m-2006)
[45 KB] - wykorzystanie mojego parsera wyrażeń arytmetycznych.
- Mniejsza wersja kalkulatora napisana w Visual C++ MFC - [tylko 48 KB].
- [z] WykresySator
+ help (wer. 22d-5m-2004 z parserem wer. 9d-12m-2004) [261 KB] [zobacz]
- program do rysowania wykresów dowolnych funkcji jednej zmiennej z możliwością 'interaktywnego' skalowania, translacji itp.
Stanowi pierwsze wykorzystanie mojej implementacji problemu przetwarzania wyrażeń arytmetycznych.
A tutaj KOD ŹRÓDŁOWY [BCB] [42 KB].

Wykresy2Dplus (wer. 2007-2m-20d) [298 KB]
[Archiwum EXE 345KB] Zobacz:
[1] [2]
[3] [4]
Bardzo wygodny program do wykreślania wykresów dwuwymiarowych. Posiada możliwość rysowania wielu wykresów. Funkcje podawane są parametrycznie
(tzn. dla każdej współrzędnej X,Y można podać osobną funkcję).Oczywiście parametryczna definicja funkcji umożliwia także
zapis funkcji w postaci np. y = f(x); wtedy ustalamy X()=x; Y()=f(x), gdzie f() to nasza definicja funkcji np. sin(x)+2x.
Ponadto funkcje można definiować we współrzędnych kartezjańskich i biegunowych.
Dodatkowo można ustalić dwa parametry dla każdej definicji funkcji. Program umożliwia wygodne
dynamiczne skalowanie i translację wykresów.
Dla każdego wykresu można rysować wykresy funkcji odwrotnych, pochodnych i całek (funkcji pierwotnych).
Wygenerowane wykresy można zapisać do pliku bitmapy lub wydrukować. Bardzo polecam!
- Kalkulator prosty
(wer. 11d-12m-2004) [188 KB] [zobacz] -
Prosty kalkulator działający na zasadzie zwykłego kalkulatora, jak np. windowsowy calc.exe. (Kody źródłowe udostępniam wraz dokumentacją) Tu ciekawostka:
Natknąłem się na pewien zwykły elektroniczny kalkulator, który po wpisaniu ciągu np.: 4/2+3*4 dawał w wyniku 20
(czyli niby (4/2+3)*4). Widać urządzenie to było na tyle prymitywne, że nie potrafiło ustalić odpowiedniej kolejności obliczeń.
Na szczęście mój program, jest bardziej inteligentny.
Całkowanie numeryczne
(wer. 2007-1m-16) [306 KB] [zobacz] - program liczy wartość całki oznaczonej z podanej funkcji zmiennej x na podanym przedziale.
Całki liczone są za pomocą kwadratur złożonych przy użyciu wzorów Trapezów i Simpsona.
Funkcję zmiennej x można dowolnie definiować dzięki użyciu parsera wyrażeń arytmetycznych.
- Minimalizacja dowolnej funkcji dowolnej liczby zmiennych metodą pełzającego sympleksu. (wer. 2005r.)
- LiczbySystem (wer. 30d-6m-2005) -
Program zamienia liczby z dowolnego systemu na dowolny (od 2 do 36).
URGauss
(wer. 27d-12m-2004) [Tylko 8,32 KB] [zobacz] -
rozwiązuje układ równań liniowych metodą eliminacji Gaussa oraz ponadto
oblicza wyznacznik macierzy współczynników. Układ równań wczytujemy z pliku lub podajemy na formularzu.
Wyniki obliczeń można także dopisać do podanego pliku.
- [z] Szeregowanie zadań
- [zobacz] mój pierwszy właściwy program w C++ Builderze (mój własny alg. szeregowania) + kod źródłowy.
- Iloczyn jednomianów. (Początek: 2008-10-03; Wersja: 2008-10-03) -
Program liczy współczynniki wielomianu, będącego iloczynem podanych jednomianów (x - A),
gdzie A, to podane kolejno liczby
Liczba wejść na witrynę od dnia 2004-12-26: 431570. Twój IP: 38.103.63.61
Strona umieszczona na serwerze epokaY.net
- Freelance studio - grupy niezlażnych projektantów (marketing internetowy, projekty graficzne, programowanie)
epokaY.net polaca książkę: Marketing internetowy w wyszukiwarkach
Po przeczytaniu tej książki przestaniesz myśleć o reklamie internetowej jako o kosztach koniecznych,
a zaczniesz ją postrzegać jako inwestycję.