Wikipedysta:Delimata/Brudnopis/Metapost
Z Wikibooks, biblioteki wolnych podręczników.
- 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
[edytuj] Wprowadzenie
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
[edytuj] Zaczynamy zabawę
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.
[edytuj] Plik źródłowy
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.
[edytuj] Kompilacja
Aby skompilować plik o nazwie plik.mp należy wywołać polecenie
mpost plik.mp
[edytuj] Co dalej?
\includegraphics{plik.1}
\usepackage{graphicx}
\DeclareGraphicsRule{*}{mps}{*}{}
[edytuj] A nie można inaczej?
mptopdf
http://www.tlhiv.org/MetaPost/tools/mptosvg/
Wikipedysta:Delimata/Brudnopis/MetaPost/Jednostki, rysowanie odcinków, etykiety→Metapost/Jednostki, rysowanie odcinków, etykiety
[edytuj] Jednostki, rysowanie odcinków, etykiety
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
[edytuj] Punkty przecięcia
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
[edytuj] Krzywe
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
[edytuj] Okręgi, półokręgi i ćwierćokręgi
Zadanie -- narysować ilustracje do przybliżonej kwadratury koła Adama Adamandego Kochańskiego
Wikipedysta:Delimata/Brudnopis/MetaPost/Elementy programowania→MetaPost/Elementy programowania
[edytuj] Pętle "for"
Zadanie -- zilustrować metodę Newtona numerycznego znajdowania miejsc zerowych funkcji.
Wikipedysta:Delimata/Brudnopis/MetaPost/Kierunki→MetaPost/Kierunki
[edytuj] Kierunki
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
[edytuj] Wypełnienia
Zadanie -- zilustrować całkę oznaczoną funkcji
od 1 do zadanej wartości.
Zadanie -- zilustrować definicję całki oznaczonej Riemanna.
Zadanie -- zilustrować drugie prawo Keplera
[edytuj] Polecenie clip
Zadanie - wykonać Longimetr Steinhausa
[edytuj] Kolor w systemie MetaPost
Zadanie -- zilustrować syntezę addytywną i substraktywną kolorów.
[edytuj] Inne podręczniki
- MetaPost by Doing (en)
- Podręcznik Johna Hobby (en)
- Tłumaczenie podręcznika Johna Hobby (pl)