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
[edytuj]Niniejszy 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ę
[edytuj]Jak 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
[edytuj]Pliki ź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
[edytuj]Aby 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?
[edytuj]mptopdf
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
[edytuj]Zadanie -- 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
[edytuj]Zadanie -- 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
[edytuj]Zadanie -- 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
[edytuj]Zadanie -- narysować ilustracje do przybliżonej kwadratury koła Adama Adamandego Kochańskiego
Wikipedysta:Delimata/Brudnopis/MetaPost/Elementy programowania→MetaPost/Elementy programowania
Pętle "for"
[edytuj]Zadanie -- zilustrować metodę Newtona numerycznego znajdowania miejsc zerowych funkcji.
Wikipedysta:Delimata/Brudnopis/MetaPost/Kierunki→MetaPost/Kierunki
Kierunki
[edytuj]Zadanie -- 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
[edytuj]Zadanie -- zilustrować całkę oznaczoną funkcji od do zadanej wartości.
Zadanie -- zilustrować definicję całki oznaczonej Riemanna.
Zadanie -- zilustrować drugie prawo Keplera

Polecenie clip
[edytuj]Zadanie - wykonać Longimetr Steinhausa

Kolor w systemie MetaPost
[edytuj]Zadanie -- 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)
