Makrodefinicja: letters(unroundedletters) | frontletters(unroundedfrontletters)
Makrodefinicje pomocnicze: face(unroundedface)

Początek strony

Rysowanie kostek z literami

\letters (\unroundedletters)

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 letters korzysta z makrodefinicji face, a makrodefinicja unroundedletters z makrodefinicji unroundedface.

Makrodefinicje letters i unroundedletters rysują kostkę skierowaną krawędzią do przodu. Mają pięć argumentów: pierwsze dwa to współrzędne najniższego punktu (punkt $P$), trzeci to ciag trzech liter, które zostaną wypisane na widocznych ścianach. Kolejność: prawa ściana, lewa ściana, górna ściana. Czwarty parametr to kolor napisów, a piąty to kolor wypełnienia ścian – krawędzie są czarne.

\fontsize{0.8cm}{0.96cm}\selectfont 
\unroundedletters{4}{0}{{A,B,C}}{blue}{yellow}
\edef\size{2}
\unroundedletters{6.5}{0}{{A,B,C}}{blue}{yellow}
\fontsize{0.6cm}{0.72cm}\selectfont \letters{4}{0}{{$\alpha$,$\beta$,$\gamma$}}{blue}{yellow} \edef\size{2} \letters{6.5}{0}{{$\alpha$,$\beta$,$\gamma$}}{blue}{yellow}

\frontletters (\unroundedfrontlettersletters)

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 frontletters korzysta z makrodefinicji face, a makrodefinicja unroundedfrontletters z makrodefinicji unroundedface.

Makrodefinicje frontletters i unroundedfrontdletters rysują kostkę skierowaną lewą ścianą do przodu. Mają pięć argumentów: pierwsze dwa to współrzędne niższego punktu wspólnego dla ścian przedniej i bocznej (punkt $P$), trzeci to ciag trzech liter, które zostaną umieszczone na widocznych ścianach. Kolejność: ściana boczna, ściana przednia, ściana górna. Czwarty parametr to kolor napisów, a piąty to kolor wypełnienia ścian – krawędzie są czarne.

\fontsize{0.8cm}{0.96cm}\selectfont
\unroundedfrontletters{4}{0}{{A,B,C}}{blue}{yellow}
\edef\size{2}
\unroundedfrontletters{6}{0}{{A,B,C}}{blue}{yellow}
\fontsize{0.6cm}{0.72cm}\selectfont \frontletters{4}{0}{{$\alpha$,$\beta$,$\gamma$}}{blue}{yellow} \edef\size{2} \frontletters{6}{0}{{$\alpha$,$\beta$,$\gamma$}}{blue}{yellow}

Lewe kostki mają domyślną długość krawędzi pionowej ($3$), polecenie

\edef\size{2}
zmieniło długość tej krawędzi na $2$.

\face (\unroundedface)

Makrodefinicja face rysuje zaokrąglony kwadrat jednostkowy z literą. Ma cztery argumenty: pierwszy to kolor napisu, drugi to kolor wypełnienia kwadratu – krawędzie są czarne, trzeci to litera, a czwarty decyduje czy narysowana zostanie litera, czy jej odbicie symetryczne względem osi $Oy$.

\face{white}{red}{B}{1}
\pgftransformreset
\pgftransformcm{1}{0}{0}{1}{\pgfpoint{3cm}{0}}
\face{white}{red}{B}{-1}

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

\unroundedface{black}{white!50!red}{B}{1}
\pgftransformreset
\pgftransformcm{1}{0}{0}{1}{\pgfpoint{3cm}{0}}
\unroundedface{black}{white!50!red}{B}{-1}