You need to join this project to post message / question. See Help for details.
Ví dụ về phép quay¶
Tác giả: Kỳ Anh
Cập nhật: 2/9/2009
Biên dịch¶
Lưu mã nguồn với tên ex200.mp rồi biên dịch và chuyển đổi dạng hình như sau
$ mpost ex200.mp $ convert -quality ex200.1 round.jpg
Mã nguồn¶
u := 8cm;
prologues := 3;
verbatimtex
%&latex
\documentclass[12pt]{article}
\def\xxx{\ldots and you?}
\usepackage{utopia}
\begin{document}
\fontsize{35}1
\selectfont
etex;
beginfig(1);
pickup pencircle scaled 1pt;
pair center, zshift;
picture mylabel;
zshift = (0,.5u);
center = (0,0);
mylabel := thelabel.lft(btex I hate Facebook etex, center);
draw mylabel shifted zshift withrgbcolor (.1,0,0);
draw mylabel shifted zshift rotatedaround(center, 60) withrgbcolor (0,.2,0);
draw mylabel shifted zshift rotatedaround(center, 120) withrgbcolor (0,0,.4);
draw mylabel shifted zshift rotatedaround(center, 180) withrgbcolor (.6,0,0);
draw mylabel shifted zshift rotatedaround(center, 240) withrgbcolor (0,.8,0);
draw mylabel shifted zshift rotatedaround(center, 300) withrgbcolor (0,0,1);
draw thelabel(btex \xxx etex, center);
endfig;
bye
Kết quả¶
Bình luận¶
Ở trên ta đã sử dụng 5 phép quay để đưa hình gốc ban đầu đến các vị trí khác nhau. Nếu bỏ qua màu sắc thì các phép quay trên có thể được trình bày ngắn gọn hơn trong vòng for như sau đây
for i:=0 upto 5: draw mylabel shifted zshift rotatedaround(center, 60*i); enfor
Rõ ràng cách trình bày rất gọn gàng, trong sáng. Để bổ sung thêm màu sắc trong cách dùng vòng for này thì công việc phức tạp hơn, mất thời gian hơn, do hoặc ta phải chỉ ra quy luật biến đổi màu sắc, hoặc ta phải dùng mảng màu thích hợp... :)