Wikipedysta:Delimata/Brudnopis/Metapost
- Wikipedysta:Delimata/Brudnopis/Metapost/Okładka→MetaPost/Okładka
- Wikipedysta:Delimata/Brudnopis/Metapost/Wersja do druku→Metapost/Wersja do druku
Spis treści
- Wprowadzenie
- Zaczynamy
- Jednostki, rysowanie odcinków, etykiety
- Punkty przecięcia
- Krzywe
- Okręgi, półokręgi i ćwierćokręgi
- Elementy programowania
- Kierunki
- Wypełnianie obszarów
Dodatki:
- Galeria przykładów
- Lista słów kluczowych systemu MetaPost
Wikipedysta:Delimata/Brudnopis/MetaPost/Wprowadzenie→MetaPost/Wprowadzenie
Wprowadzenie
edytujNiniejszy podręcznik jest pomyślany przede wszystkim jako zbiór praktycznych ćwiczeń i przykładów pozwalających na szybkie rozpoczęcie tworzenia rysunków w systemie MetaPost.
Część zamieszczonych tu przykładów została zaczerpnięta z pewnymi modyfikacjami z tutoriala MetaPost by Doing autorstwa André Heck.
Wikipedysta:Delimata/Brudnopis/MetaPost/Zaczynamy→MetaPost/Zaczynamy
Zaczynamy zabawę
edytujJak i czym skompilować. Co z tym można zrobić.
MetaPost jest językiem programowania przeznaczonym do tworzenia grafiki wektorowej, głównie będącej ilustracjami książek. Rysunki w systemie MetaPost powstają jako wynik procesu kompilacji kodu źródłowego.
MetaPost został stworzony przez Johna Hobby w oparciu o system METAFONT prof. Donalda Ervina Knutha. Pliki wynikowe MetaPosta nadają się do włączenia do dokumentów tworzonych w systemie LaTeX.
Plik źródłowy
edytujPliki źródłowe systemu MetaPost posiadają rozszerzenie .mp. W jednym pliku źródłowym można zawrzeć kilka rysunków. Rysunki rozpoczyna się i kończy poleceniami odpowiednio beginfig i endfig. Ostatnim i wymaganym słowem przetwarzanym przez system MetaPost w pliku jest słowo end. Tak jak w systemie LaTeX w kodzie można umieszczać komentarze (treści nie interpretowane przez kompilator). Komentarz taki ciągnie się od znaku % do końca linii. Struktura najprostszego pliku źródłowego MetaPosta wygląda więc następująco:
beginfig(1) %... endfig; beginfig(2) %... endfig; end;
Powyższy kod nie zawiera jeszcze żadnych treści. Znaki komentarza uwidaczniają miejsca w których powinien pojawić się kod poszczególnych rysunków.
Kompilacja
edytujAby skompilować plik o nazwie plik.mp należy wywołać polecenie
mpost plik.mp
Co dalej?
edytuj\includegraphics{plik.1}
\usepackage{graphicx}
\DeclareGraphicsRule{*}{mps}{*}{}
A nie można inaczej?
edytujmptopdf
http://www.tlhiv.org/MetaPost/tools/mptosvg/
Wikipedysta:Delimata/Brudnopis/MetaPost/Jednostki, rysowanie odcinków, etykiety→Metapost/Jednostki, rysowanie odcinków, etykiety
Jednostki, rysowanie odcinków, etykiety
edytujZadanie -- zilustrować geometryczny dowód tw. Pitagorasa
beginfig(1) u := 1cm; draw (0,0)--(3u,0)--(0,4u)--cycle; draw (0,0)--(3u,0)--(3u,-3u)--(0,-3u)--(0,0); draw (0,0)--(0,4u)--(-4u,4u)--(-4u,0)--(0,0; draw (3u,0)--(0,4u)--(4u,7u)--(7u,3u)--(3u,0); draw (-0.5u,0)--(-3.5u,4u); draw (0,3.5u)--(-4u,0.5u); draw (1.5u,2u)--(5u,2u); draw (5u,1.5u)--(5u,5u); draw (5.5u,5u)--(2u,5u); draw (2u,5.5u)--(2u,2u); endfig; end;
Wikipedysta:Delimata/Brudnopis/MetaPost/Punkty przecięcia→MetaPost/Punkty przecięcia
Punkty przecięcia
edytujZadanie -- zilustrować tw. Cevy, Menelaosa.
beginfig(1); z0=(0cm,0cm); z1=(5cm,0cm); z2=(3cm,3cm); label.llft(btex $A$ etex, z0); label.lrt(btex $B$ etex, z1); label.top(btex $C$ etex, z2); draw z0 -- z1 -- z2 -- cycle; z3=(4cm,1cm); z4=whatever[z0,z3]=whatever[z1,z2]; z5=whatever[z1,z3]=whatever[z2,z0]; z6=whatever[z2,z3]=whatever[z0,z1]; draw z0 -- z4; draw z1 -- z5; draw z2 -- z6; label.urt(btex $A'$ etex, z4); label.ulft(btex $B'$ etex, z5); label.bot(btex $C'$ etex, z6); endfig;
Wikipedysta:Delimata/Brudnopis/MetaPost/Krzywe→MetaPost/Krzywe
Krzywe
edytujZadanie -- zilustrować sumę, różnicę, część wspólną zbiorów.
Wikipedysta:Delimata/Brudnopis/MetaPost/Okręgi, półokręgi i ćwierćokręgi→MetaPost/Okręgi, półokręgi i ćwierćokręgi
Okręgi, półokręgi i ćwierćokręgi
edytujZadanie -- narysować ilustracje do przybliżonej kwadratury koła Adama Adamandego Kochańskiego
Wikipedysta:Delimata/Brudnopis/MetaPost/Elementy programowania→MetaPost/Elementy programowania
Pętle "for"
edytujZadanie -- zilustrować metodę Newtona numerycznego znajdowania miejsc zerowych funkcji.
Wikipedysta:Delimata/Brudnopis/MetaPost/Kierunki→MetaPost/Kierunki
Kierunki
edytujZadanie -- zilustrować pochodną funkcji jako tangens kąta jaką tworzy styczna do wykresu w danym punkcie z osią odciętych.
Wikipedysta:Delimata/Brudnopis/MetaPost/Wypełnianie obszarów→MetaPost/Wypełnianie obszarów
Wypełnienia
edytujZadanie -- zilustrować całkę oznaczoną funkcji od do zadanej wartości.
Zadanie -- zilustrować definicję całki oznaczonej Riemanna.
Zadanie -- zilustrować drugie prawo Keplera
Polecenie clip
edytujZadanie - wykonać Longimetr Steinhausa
Kolor w systemie MetaPost
edytujZadanie -- zilustrować syntezę addytywną i substraktywną kolorów.
Inne podręczniki
edytuj- MetaPost by Doing (en)
- Podręcznik Johna Hobby (en)
- Tłumaczenie podręcznika Johna Hobby (pl)