Makrodefinicja: shapes(unroundedshapes) | frontshapes(unroundedfrontshapes)
Makrodefinicje pomocnicze: face(unroundedface)

Początek strony

Rysowanie kostek z kształtami

Co to jest kształt

Kształtem jest polecenie LateXa tworzące rysunek. Wypróbowałem następujące polecenia:

\pik (= \ensuremath{\spadesuit})
\kier (= \ensuremath{\heartsuit})
… 
\pgfimage{«nazwa_pliku»}

Dopuszczalne są na pewno pliki w formacie PNG i JPG, niedopuszczalne są formaty GIF i PS.

Plik graficzny musi się znajdować w katalogu z plikiem TEX. Nie trzeba wpisywać rozszerzenia. Jeśli w katalogu bieżącym są pliki Man.png i Man.jpg (lub Man.jpeg), to polecenie

\pgfimage{Man}
„wstawi” plik Man.png.

\shapes (\unroundedshapes)

Prostopadłościan opisany na kostce wygląda tak:

Wartości domyślne są następujące:

size = 3
leftScale = 1.0
rightScale = 1.0
a = leftScale*size
b = rightScale*size
α = 20°
β = 20°

Makrodefinicje rysujące korzystają ze zmiennej size i kilku zmiennych pomocniczych, nie korzystają ze zmiennych a, b, α, β, leftScale i rightScale.

Zmianę wartości domyślnych uzyskujemy poleceniami:

\edef\size{«nowa_wartość_size»}
\computeLeft{«nowa_wartość_α»}{«nowa_wartość_leftScale»}
\computeRight{«nowa_wartość_β»}{«nowa_wartość_rightScale»}
Pierwsze polecenie zmienia wartość zmiennej size, pozostałe dwa zmieniają wartości zmiennych pomocniczych.

Makrodefinicja shapes korzysta z makrodefinicji face, a makrodefinicja unroundedshapes z makrodefinicji unroundedfave.

Makrodefinicje shapes i unroundeddshapes rysują kostkę skierowaną krawędzią do przodu. Mają pięć argumentów:

Przykłady:
\shapes{0}{0}{{\pik/red!20!white,\karo/blue!20!white,\kier/green!20!white}}{2}{3}
\unroundedshapes{0}{0}{{\kier/yellow,\kier/green!20!white,\pik/yellow}}{1}{1}

\frontshapes (\unroundedfrontshapes)

Prostopadłościan opisany na kostce wygląda tak:

Wartości domyślne są następujące:

size = 3
frontScale = 0.75
b = frontScale*size
β = 36°

Makrodefinicje rysujące korzystają ze zmiennej size i kilku zmiennych pomocniczych, nie korzystają ze zmiennych b, β i frontScale.

Zmianę wartości domyślnych uzyskujemy poleceniami:

\edef\size{«nowa_wartość_size»}
\computeFront{«nowa_wartość_β»}{«nowa_wartość_frontScale»}
Pierwsze polecenie zmienia wartość zmiennej size, drugie zmienia wartości zmiennych pomocniczych.

Makrodefinicja frontshapes korzysta z makrodefinicji face, a makrodefinicja unroundedfrontshapes z makrodefinicji unroundedface.

Makrodefinicje frontshapes i unroundedfrontshapes rysują kostkę skierowaną ścianą do przodu. Mają pięć argumentów:

Przykłady:
\frontshapes{3}{0}{{\pik/green!20!white,\trefl/blue!20!white,\karo/green!20!white}}{2}{2}}
\unroundedfrontshapes{0}{0}{{\pik/green!20!white,\trefl/blue!20!white,\pik/green!20!white}}{1.5}{1}
\unroundedfrontshapes{4}{0}{{\pik/white,\trefl/blue!20!white,\pik/white}}{1.5}{1.5}

\face (\unroundedface)

Makrodefinicja face rysuje zaokrąglony kwadrat jednostkowy z kształtem. Ma pięć argumentów:

Makrodefinicja unroundedface różni się od face tylko tym, że rysuje „niezaokrąglony” kwadrat. Przykład: