您的位置:首页 > 其它

Asymptote 学习记录(3) 画赵爽弦图练习

2013-02-18 13:08 288 查看
我在看下面这个很好的文档.

看完了第一部分,我自己试着画了个赵爽弦图.代码如下:

import settings;
settings.tex = "pdflatex";
pdfviewer="/usr/bin/okular";
outformat="pdf";
size(400);
texpreamble("\usepackage{CJKutf8}\AtBeginDocument{\begin{CJK}{UTF8}{gbsn}}\AtEndDocument{\clearpage\end{CJK}}");
import math;
add( scale(1cm) * grid(7, 7, heavygray) );
add( shift(0,3cm) * rotate(-aTan(3/4)) * scale(1cm) * grid(5, 5, heavygray) );
fill( box((3cm,3cm), (4cm,4cm)), opacity(0.3)+yellow );
filldraw((4cm,0)-- (4cm,3cm) -- (0,3cm) -- cycle,fillpen=opacity(0.1)+red, drawpen=red+0.5mm);
filldraw((7cm,4cm)-- (4cm,4cm) -- (4cm,0) -- cycle,fillpen=opacity(0.1)+red, drawpen=red+0.5mm);
filldraw((3cm,7cm) -- (3cm,4cm) -- (7cm,4cm) -- cycle,fillpen=opacity(0.1)+red, drawpen=red+0.5mm );
filldraw((0,3cm) -- (3cm,3cm) -- (3cm,7cm) -- cycle,fillpen=opacity(0.1)+red, drawpen=red+0.5mm );
label("朱实", (2cm,4cm),red);
label("黄实", (3.5cm,3.5cm),yellow);
label("弦实", (5cm,4cm),orange);
label( Label("勾三",Rotate(S)), (4cm,0)--(4cm,3cm), LeftSide );
label( Label("股四",Rotate(E)), (4cm,3cm)--(0,3cm), LeftSide );
label( Label("弦五",Rotate((4,-3))), (0,3cm)--(4cm,0), LeftSide );


在终端里先用asy命令启动Asymptote,然后将如上代码复制到终端里运行,编译得到如下图像:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: