Sử dụng các đoạn thẳng vẽ biểu tượng Superman

Tư liệu:

superman

Giai đoạn 1 (Vẽ thô): Trên một tờ giấy carô, trên trục hoành chia ra 25 ô, trên trục tung chia ra 15 ô. Chọn gốc tọa độ tại góc trái dưới:

toado

Chấm các điểm sau đây lên hệ trục tọa độ:

Start (12,0)(24,12)(20,16)(4,16)(0,12)(12,0)Stop

Vẽ ngũ giác:

sn1

Lần lượt vẽ các đa giác đi qua các điểm liên tiếp:

Start (2,12) (4,10) (4,12) (5,14) (7,15) (5,15) (2,12) Stop

Start (12,2) (15,5) (9,5) (12,2) Stop

Start (5,9) (8,8) (12,8) (16,7) (14,6) (12,6) (10,7) (7.5,6) (5,9) Stop

Start (19,9) (22,12) (20,14) (20,12) (16,12) (14,14) (12,15) (8,14) (7,13)  (8,12) (12,11) (16,11) (19,9)  Stop

Start 16,15) (17,15) (17,14) (16,15) Stop

Ta được một hình vẽ thô như sau:

sn2

code \LaTeX như sau:

\documentclass{standalone}
\usepackage{pstricks-add}
\pagestyle{empty}
\begin{document}
\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dimen=middle,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\begin{pspicture*}(-1,-1)(25,17)
\multips(0,-1)(0,1.0){18}{\psline[linestyle=dashed,linecap=1,dash=1.5pt 1.5pt,linewidth=0.4pt,linecolor=lightgray]{c-c}(-1,0)(25,0)}
\multips(-1,0)(1.0,0){26}{\psline[linestyle=dashed,linecap=1,dash=1.5pt 1.5pt,linewidth=0.4pt,linecolor=lightgray]{c-c}(0,-1)(0,17)}
\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1.,ticksize=-2pt 0,subticks=1]{->}(0,0)(-1,-1)(25,17)

\newcommand{\tamdt}[9]{
\psline[linewidth=3.6pt,,plotpoints=200]#1#2
\psline[linewidth=3.6pt,plotpoints=200]#2#3
\psline[linewidth=3.6pt,plotpoints=200]#3#4
\psline[linewidth=3.6pt,plotpoints=200]#4#5
\psline[linewidth=3.6pt,plotpoints=200]#5#6
\psline[linewidth=3.6pt,plotpoints=200]#6#7
\psline[linewidth=3.6pt,plotpoints=200]#7#8
\psline[linewidth=3.6pt,plotpoints=200]#8#9
}

\newcommand{\bondt}[5]{
\psline[linewidth=3.6pt,plotpoints=200]#1#2
\psline[linewidth=3.6pt,plotpoints=200]#2#3
\psline[linewidth=3.6pt,plotpoints=200]#3#4
\psline[linewidth=3.6pt,plotpoints=200]#4#5
}

\newcommand{\namdt}[6]{
\psline[linewidth=3.6pt,plotpoints=200]#1#2
\psline[linewidth=3.6pt,plotpoints=200]#2#3
\psline[linewidth=3.6pt,plotpoints=200]#3#4
\psline[linewidth=3.6pt,plotpoints=200]#4#5
\psline[linewidth=3.6pt,plotpoints=200]#5#6
}

\newcommand{\saudt}[7]{
\psline[linewidth=3.6pt,plotpoints=200]#1#2
\psline[linewidth=3.6pt,plotpoints=200]#2#3
\psline[linewidth=3.6pt,plotpoints=200]#3#4
\psline[linewidth=3.6pt,plotpoints=200]#4#5
\psline[linewidth=3.6pt,plotpoints=200]#5#6
\psline[linewidth=3.6pt,plotpoints=200]#6#7
}

\newcommand{\badt}[4]{
\psline[linewidth=3.6pt,plotpoints=200]#1#2
\psline[linewidth=3.6pt,plotpoints=200]#2#3
\psline[linewidth=3.6pt,plotpoints=200]#3#4
}

\namdt{(12,0)}
{(24,12)}
{(20,16)}
{(4,16)}
{(0,12)}
{(12,0)}

\saudt{(2,12)}
{(4,10)}
{(4,12)}
{(5,14)}
{(7,15)}
{(5,15)}
{(2,12)}
\badt{(12,2)}
{(15,5)}
{(9,5)}
{(12,2)}

\tamdt{(5,9)}
{(8,8)}
{(12,8)}
{(16,7)}
{(14,6)}
{(12,6)}
{(10,7)}
{(7.5,6)}
{(5,9)}

\tamdt{(19,9)}
{(22,12)}
{(20,14)}
{(20,12)}
{(16,12)}
{(14,14)}
{(12,15)}
{(8,14)}
{(7,13)}

\bondt{(7,13)}
{(8,12)}
{(12,11)}
{(16,11)}
{(19,9)}

\badt{(16,15)}
{(17,15)}
{(17,14)}
{(16,15)}
\end{pspicture*}
\end{document}

Giai đoạn 2 (Tô màu): Để tô màu, ta viết phương trình các đoạn thẳng (và do đó không cần dùng tọa độ nữa):
Có ba lớp màu: màu nền xanh dương, màu đỏ của ngũ giác và màu vàng. Nguyên tắc lớp màu sau sẽ đè lên lớp màu trước:
Lớp màu 1:
snxd

Lớp màu 2:

snd

Lớp màu 3:

snv

Bỏ lưới tọa độ:

sn

code:

\documentclass{standalone}
\usepackage{pstricks-add}
\pagestyle{empty}
\usepackage{pagecolor}
\begin{document}
\pagecolor{blue}
\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dimen=middle,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\begin{pspicture*}(-1,-1)(25,17)

\pscustom[fillstyle=solid,fillcolor=red]{
\psplot[linewidth=3.6pt,plotpoints=200]{0}{4}{x+12}
\psplot[linewidth=3.6pt,plotpoints=200]{4}{20}{16}
\psplot[linewidth=3.6pt,plotpoints=200]{20}{24}{-x+36}
\psplot[linewidth=3.6pt,plotpoints=200]{24}{12}{x-12}
\psplot[linewidth=3.6pt,plotpoints=200]{12}{0}{-x+12}
}

\pscustom[fillstyle=solid,fillcolor=yellow]{
\psplot[linewidth=3.6pt,plotpoints=200]{16}{17}{15}
\psplot[linewidth=3.6pt,plotpoints=200]{17}{16}{-x+31}
}

\pscustom[fillstyle=solid,fillcolor=yellow]{
\psplot[linewidth=3.6pt,plotpoints=200]{9}{15}{5}
\psplot[linewidth=3.6pt,plotpoints=200]{15}{12}{x-10}
\psplot[linewidth=3.6pt,plotpoints=200]{12}{9}{-x+14}
}

\pscustom[fillstyle=solid,fillcolor=yellow]{
\psplot[linewidth=3.6pt,plotpoints=200]{2}{5}{x+10}
\psplot[linewidth=3.6pt,plotpoints=200]{5}{7}{15}
\psplot[linewidth=3.6pt,plotpoints=200]{7}{5}{0.5*x+11.5}
\psplot[linewidth=3.6pt,plotpoints=200]{5}{4}{2*x+4}
\psplot[linewidth=3.6pt,plotpoints=200]{4}{2}{-x+14}
}

\pscustom[fillstyle=solid,fillcolor=yellow]{
\psplot[linewidth=3.6pt,plotpoints=200]{5}{8}{-.333*x+10.666}
\psplot[linewidth=3.6pt,plotpoints=200]{8}{12}{8}
\psplot[linewidth=3.6pt,plotpoints=200]{12}{16}{-0.25*x+11}
\psplot[linewidth=3.6pt,plotpoints=200]{16}{14}{0.5*x-1}
\psplot[linewidth=3.6pt,plotpoints=200]{14}{12}{6}
\psplot[linewidth=3.6pt,plotpoints=200]{12}{10}{-0.5*x+12}
\psplot[linewidth=3.6pt,plotpoints=200]{10}{7.5}{0.4*x+3}
\psplot[linewidth=3.6pt,plotpoints=200]{7.5}{5}{-1.2*x+15}
}

\pscustom[fillstyle=solid,fillcolor=yellow]{
\psplot[linewidth=3.6pt,plotpoints=200]{7}{8}{x+6}
\psplot[linewidth=3.6pt,plotpoints=200]{8}{12}{0.25*x+12}
\psplot[linewidth=3.6pt,plotpoints=200]{12}{14}{-0.5*x+21}
\psplot[linewidth=3.6pt,plotpoints=200]{14}{16}{-x+28}
\psplot[linewidth=3.6pt,plotpoints=200]{16}{20}{12}
\psplot[linewidth=3.6pt,plotpoints=200]{20}{22}{-x+34}
\psplot[linewidth=3.6pt,plotpoints=200]{22}{19}{x-10}
\psplot[linewidth=3.6pt,plotpoints=200]{19}{16}{-0.666*x+21.666}
\psplot[linewidth=3.6pt,plotpoints=200]{16}{12}{11}
\psplot[linewidth=3.6pt,plotpoints=200]{12}{8}{-0.25*x+14}
\psplot[linewidth=3.6pt,plotpoints=200]{8}{7}{-x+20}
}
\end{pspicture*}
\end{document}

One response to “Sử dụng các đoạn thẳng vẽ biểu tượng Superman

  1. Thầy ơi… Thầy có ở đây không Thầy? Lâu rồi Thầy không lên blog….

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s