Pythona można używać nie tylko jako interpreter skryptów. Jednym ze sposobów uruchomienia Pythona jest interaktywna konsola.
W systemach unixopodobnych (Linux, Mac, itp.) wystarczy wykonać polecenie python, aby uruchomić Pythona w trybie interaktywnym.
Pod Windows można uruchomić program gdzieś w menu Start, lub za pomocą edytora Idle.
python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) [GCC 4.5.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Za znakami '>>>' możemy wpisywać polecenia.
>>> print 'aaa' aaa
Co ciekawe - w trybie interaktywnym wyświetlane są wszystkie zwracane wartości:
>>> 1+3
4
>>> x=3*2 >>> 1+x 7
Ostatnio piszę głównie o grafice trójwymiarowej, więc trzymajmy się tematu:
>>> from visual import *
>>> a=arrow()
Jest zima, ale nie ma śniegu - coś na to poradzimy.
Wiele form występujących w przyrodzie posiada cechy samopodobieństwa - to znaczy że mały fragment jest podobny do całości. Jest to także cecha specyficzna fraktali, za pomocą których możemy opisać na przykład góry, rośliny i... płatki śniegu.
Dzisiaj zaprezentuję jak korzystając z biblioteki Visual narysować śnieżkę Kocha. Początkującym radzę, żeby się nie zrażali, bo rzeczy związane z fraktalami, czy ogólnie z rekurencją nie dla każdego są jasne od samego początku, ale - będzie dobrze. Śnieżkę Kocha rysuje się w następujący sposób:
Za pomocą linii rysujemy trójkąt równoboczny.
Każdą z linii dzielimy na 3 części
W miejscu środkowej części dodajemy dwie linie tak aby powstał trójkąt równoboczny.
Usuwamy podstawę trójkąta
Dla wszystkich istniejących linii, wykonujemy punkty od 2 do 5, do momentu aż się nam znudzi.
Na początek niezbędne formalności:
#!/usr/bin/env python from __future__ import division (obsługa dzielenia niecałkowitego za pomocą znaku "/") from visual import *
Tworzymy funkcję sniezka(), która:
Przyjmuje parametry:
etapy - ilość podziałów do wykonania
l - długość boku trójkąta
r - promień linii, którą rysujemy
Tworzy ogólną ramkę "gwiazdka", która ma w sobie zawierać cały fraktal
Tworzy 3 ramki dla każdej linii
Obraca ramki w taki sposób, by narysowane w nich obiekty tworzyły zamknięty trójkąt
Oblicza wysokość trójkąta, aby następnie narysować 3 linie w swoich ramkach
Następujące parametry dotyczą wszystkich obiektów z biblioteki VPython:
visible - jeśli ma wartość False, obiekt nie jest wyświetlany; na przykład:kulka.visible = False Użyj kulka.visible = True żeby kulka znów była widoczna.
frame - umieść obiekt w ramce, na przykład kulka = sphere(frame = f1)
make_trail = True - możesz określić, czy poruszające się obiekty typu: arrow, box, cone, cylinder, ellipsoid, pyramid, ring, lub sphere mają pozostawiać za sobą ślad.
display - kiedy uruchamiasz program, VPython tworzy okno i nadaje mu nazwę scene. Domyślnie obiekty które tworzysz trafiają do tego okna. Możesz wybrać inne okno w którym mają być wyświetlane obiekty w następujący sposób:
okno2 = display( title = "Drugie okno" )
kulka = sphere( display = okno2 )
Wykonanie kodu: aktywny_ekran = display.get_selected() zwróci identyfikator ekranu, na którym aktualnie domyślnie wyświetlane są wszystkie nowe obiekty. Aby ustawić wybrany ekran jako domyślny użyj np.: okno2.select(), co spowoduje że nowe obiekty będą na nim wyświetlane jeśli nie zdecydujesz inaczej.
Istnieje funkcja rotate(), którą możesz używać dla wszystkich obiektów, które nie są typu "tablicowego", czyli innych niż: curve, convex, extrusion, faces, text i points (które możesz wstawić do ramki i obrócić ramką: ramka.rotate()).
__class__ Nazwa klasy obiektu - na przykład kulka.__class__ to sphere. Są dwa znaki podkreślenia przed i za słowem class.
VPython jest programistyczną biblioteką 3D dla języka Python. Projekt powstał po to, żeby umożliwić studentom fizyki (którzy zazwyczaj nie mieli styczności z programowaniem) modelowanie różnych zjawisk fizycznych.
Najważniejszą cechą biblioteki VPython jest prostota. Od kiedy zobaczyłem jak łatwo można tworzyć trójwymiarowe programy - Python stał się moim ulubionym językiem programowania.
Instalacja
Pliki instalacyjne można pobrać ze strony projektu dla systemów Windows, Mac i Linux. Ważne żeby pliki zainstalować w domyślnej lokalizacji.
Moim zdaniem korzystając z Linuksa, wygodniej będzie jednak zainstalować bibliotekę korzystając z repozytoriów danej dystrybucji.
Niestety wersja znajdująca się w repozytorium Ubuntu 11.10 jest trochę przestarzała i brakuje w niej tylko kilku bardziej zaawansowanych funkcji takich jak wyciągnięcia, ale z tego co wyczytałem na liście dyskusyjnej developerów VPython, trwają prace nad włączeniem aktualnej wersji do najbliższego wydania Ubuntu.
Fedora ma już nowsze pakiety. Można je zainstalować w następujący sposób:
su - yum install python-visual gtkglextmm-devel
Test
Najprostszy program wygląda następująco:
#!/usr/bin/env python from visual import * box()
Zapisujemy go w pliku z rozszerzeniem .py
Jeśli korzystasz z systemu Linux, lub Mac, możesz nadać mu uprawnienia do wykonania:
chmod +x plik.py
Program można uruchomić kliknięciem, lub w konsoli:
./plik.py
lub
python plik.py
Jeżeli wszystko przebiegło poprawnie, powinieneś otrzymać następujący efekt:
Aha - obracać można z wciśniętym prawym przyciskiem myszy, a przybliżać można trzymając wciśnięte oba przyciski.