Makrodefinicja: shapes(unroundedshapes) | frontshapes(unroundedfrontshapes)
Makrodefinicje pomocnicze: face(unroundedface)
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}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»}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:
{kształt1/kolor1,kształt2/kolor2,kształt3/kolor3}
\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}
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»}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:
{kształt1/kolor1,kształt2/kolor2,kształt3/kolor3}
\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}
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:
\face{\trefl}{yellow}{1}{1}{1}
\pgftransformreset
\pgftransformcm{1}{0}{0}{1}{\pgfpoint{4cm}{0cm}}
\unroundedface{\pik}{blue!40!white}{1}{2}{1}
\pgftransformreset
\pgftransformcm{1}{0}{0}{1}{\pgfpoint{0cm}{-6cm}}
\face {\pgfimage {Colors_128}} {blue!20!white} {-1} {5} {1}