跳转到内容

Asymptote

0% developed
来自 Wikibooks,开放世界的开放书籍


这是一份由用户维护的关于Asymptote标记语言的参考。旨在为所有用户提供有用的资源,从希望学习的新手到需要快速参考的老手。

操作指南

[编辑 | 编辑源代码]

本节应包含不同任务的方案。

命令参考

[编辑 | 编辑源代码]

请帮助创建命令页面

asy -l <module> | grep '('

并将函数添加到命令页面,并附带信息和示例。

这是默认的 Asymptote 基本文件,定义了绘图语言的关键部分(例如图片结构)。默认情况下,在翻译文件和在交互模式下执行第一个命令之前,会隐式地进行私有导入 plain;。这同样适用于翻译模块定义文件(当然,翻译 plain 时除外)。这意味着在 plain 中定义的类型和函数在几乎所有 Asymptote 代码中都可以访问。使用 -noautoplain 命令行选项可以禁用此功能。

abort abs acos acosh add alias align all angle arc ArcArrow ArcArrows arcarrowsize arcdir arclength arcpoint arctime arrow Arrow arrow2 arrowhead arrowheadbbox Arrows arrowsize asin asinh ask atan atan2 atanh atexit attach AvantGarde axialshade azimuth bar Bar Bars barsize basealign baseline bbox BeginArcArrow BeginArrow BeginBar beginclip BeginDotMargin begingroup BeginMargin BeginPenMargin beginpoint Blank Bookman box cap cast cbrt cd ceil Ceil circle clear clip close cmyk colatitude colors complement concat conj controls copy cos cosh Courier cross csv cubiclength cubicroots curl cycle cyclic deconstruct defaultpen degrees Degrees dimension dir dirtime dot DotMargin DotMargins dotsize Dotted _draw draw Draw ecast ellipse empty EndArcArrow EndArrow EndBar endclip EndDotMargin endgroup endl EndMargin EndPenMargin endpoint eof eol erase erf erfc error _eval eval execute exitfunction exp expi fabs fft fill Fill filldraw fillrule filltype find finite firstcut floor Floor flush fmod font fontcommand fontsize format gamma getc getint getpair getreal getstring gouraudshade graphic gray grestore gsave gui GUI GUIop GUIreset Helvetica hypot identity image init initdefaults input insert inside interact interp intersect intersectionpoint inverse invisible italic J label Label labelmargin labels Landscape lastcut latitude latticeshade layer legend length line linecap linejoin lineskip linetype linewidth log log10 longitude Longitude makedraw makepen map margin Margin Margins marginT Mark marker marknodes markroutine markuniform math max maxbound maxcoords merge MidArcArrow MidArrow midpoint min minbound minipage NewCenturySchoolBook newpage nib NoFill NoMargin none None nullexitfcn orientation output overwrite Palatino pattern pause Pen PenMargin PenMargins point polar polygon Portrait postcontrol postscript pow10 precision precontrol prepend quadraticroots quiet quotient radialshade RadialShade rand read1 read2 read3 readGUI readline realmult rectify reflect relative
相对 - 指定相对位置。
relativedistance reldir relpoint reltime remainder replace resetdefaultpen restore restoredefaults reverse rfind rgb rotate round Round scale scroll search Seascape seek sequence sgn shift shiftless shipout sin single sinh size slant solve sort spec sqrt srand straight subpath substr suffix sum Symbol system tab tan tanh tell tension tex texify TeXify texpreamble time TimesRoman transpose tridiagonal trim TrueMargin unfill UnFill unit uptodate VERSION write xinput xoutput xpart xscale xtrans Y ypart yscale ytrans ZapfChancery ZapfDingbats zpart

单纯形

[编辑 | 编辑源代码]

此软件包使用单纯形法解决双变量线性规划问题。 它由模块 plain 用于自动调整图片大小。

此软件包使用点在多边形内和相交算法以及矩阵运算扩展了 Asymptote 的数学功能。

aCos aSin aTan Cos cot csc determinant drawline extension frac grid interpolate node nonsquare normal partialsum quadrant radians rectangular sec Sin slope square square2 square3 Tan unitnormal value zero zeta

此模块提供了几何包的基础。它目前包含三角形结构以及用于绘制三角形内弧和垂直符号的函数。

参见 http://svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/base/geometry.asy?revision=1629&view=markup

perpendicular square

此包实现了一个高斯随机数生成器以及一组统计例程,包括直方图和最小二乘法。

Gaussian Gaussrand Gaussrandpair frequency halfbox histogram kurtosis kurtosisexcess leastsquares mean rms skewness stdev unitrand variance variancebiased

此包实现 Postscript 平铺模式,并包含一些方便的模式生成例程。

brick checker crosshatch hatch tile tiling

此包实现了一个动态二叉搜索树的示例。

contains lookup newtree

绘制树

[编辑 | 编辑源代码]

这是一个简单的树绘制模块。

drawAll layout makeNode

费曼图

[编辑 | 编辑源代码]

此包可用于绘制费曼图。

currentarrow currentmomarrow do_overpaint drawDoubleLine drawFermion drawGhost drawGluon drawMomArrow drawPhoton drawScalar drawVertex drawVertexBox drawVertexBoxO drawVertexBoxX drawVertexO drawVertexOX drawVertexTriangle drawVertexTriangleO drawVertexX fmdefaults gluon momArrowPath momarrowsize photon texshipout

roundedpath

[edit | edit source]

此包用于对路径的锐角进行圆角处理。

roundedpath

pdfanim

[edit | edit source]

此模块生成可移植的可点击高质量 PDF 动画。

embed

[edit | edit source]

此模块提供了一个接口,用于将 LaTeX 包用于将电影、声音和 3D 对象嵌入到 PDF 文档中。

embed hyperlink

slide

[edit | edit source]

此包提供了一个简单但高质量的工具,用于制作演示文稿幻灯片,包括可移植的嵌入式 PDF 动画。

background center checkposition equation figure incrementposition item newslide nextpage numberpage outline remark skip step subitem title titlepage vbox

MetaPost

[edit | edit source]

此包提供了一些有用的例程,可以帮助 MetaPost 用户将旧的 MetaPost 代码迁移到 Asymptote。

cutafter cutbefore

unicode

[edit | edit source]

在文件开头导入此包以指示 LaTeX 接受 unicode (UTF-8) 标准化国际字符。

latin1

[edit | edit source]

如果您没有安装对 unicode 的 LaTeX 支持,可以通过导入模块 latin1 来启用对西欧语言 (ISO 8859-1) 的支持。

babel

[edit | edit source]

此模块在 Asymptote 中实现了 LaTeX babel 包。

babel

annotate

[edit | edit source]

此模块支持使用 Adobe Reader 查看的 PDF 注释。

此包提供基本的笔定义和测量函数,用于根据 DIN 15 进行简单的二维 CAD 绘图。

graph

[edit | edit source]

此包实现了二维线性和对数图,包括自动刻度和刻度选择。

Arc 底部 底部顶部 断裂 圆形 格式 左右 左刻度 线性 对数 对数格式 无刻度 右刻度 缩放 样条 直线 刻度 顶部 X等于 X零 Y等于 Y零 自动缩放 轴覆盖 布尔 范围 检查轴 条件 裁剪 除数 绘制刻度 错误条 错误条 图形 连接 标注轴 标注刻度 标注x轴 标注y轴 限制 线性 对数轴覆盖 下一个 极坐标图 科学记数法 次级X轴 次级Y轴 刻度 刻度最大值 刻度最小值 刻度标签 刻度标签偏移 刻度定位 刻度 上调 值时间 向量
向量场 - 在路径上绘制向量场
x轴 x轴位置 x等于 x轴限制 x轴刻度 y轴 y轴位置 y等于 y轴限制 y轴刻度

调色板

[edit | edit source]

自动 蓝白红彩虹 蓝白红彩虹2 全部 灰度 调色板刻度 彩虹 范围 数据) 调色板 范围 转置

三维

[edit | edit source]

此模块将 Asymptote 中的引导和路径概念完全扩展到三维。

acos1 aim alias aspect bbox3 cast concat controls copy curl3 cycle3 distort init intersection invert lookAt nodes nullpath3 oblique obliqueX obliqueY obliqueZ orthographic perspective plane project projection scale3 spec split splitCubic tension3 theta void xscale3 xypart yscale3 zscale3

光照

[edit | edit source]

提供三维照明效果的简单实现。

defaultshade defaultshading light shade

graph3

[edit | edit source]

实现图模块中函数的三维版本。

G Spline Straight autolimits dir graph graph3 join perpendicular phi polargraph projecttime surface v xcrop ycrop zaxis zcrop zlimits

实体

[edit | edit source]

定义了一种旋转结构,可用于填充和绘制旋转曲面。

base cone cylinder perp revolution sphere tangent

曲面

[edit | edit source]

用于绘制贝塞尔曲面的包,贝塞尔曲面是贝塞尔曲线的自然二维推广。

featpost3D(已过时)

[edit | edit source]

aCos angline anglinen aSin aTan bracket bstr cartaxes cb circleshadowpath coarse_line conorm Cos cot cover crossingpoint crossingpointf csc cstr determinant director_invisible doitnow draw_all_test draw_invisible drawline drawsegment ellipticpath ellipticshadowpath emptyline extension face face_drawfill face_invisible facepath faceraytrace faceshadowpath fieldlinepath fieldlinestep fill_faces fillfacewithlight flip frac generatedirface generatedirline generateonebiax getangle getanglepair getcossine getready goodcirclepath grid head_on_circle hexagonaltrimesh insidedge insidethisface insidethistriangle insideviewsphere insideviewtriangle interpolate kindofcube lineraytrace LinFunc magnetictrajectorypath makeface makeline masscenter maycrossviewplan maycrossviewplanf N ncrossprod nDotprod node nonsquare normal parSurFunc partialsum partrimesh pathofstraightline positivecharge produce_vga_border projectpoint ps quadrant radians rectangular resolvec rigorouscircle rigorouscone rigorousdisc rigorousfearpath rigorousfearshadowpath rp sec setthearena setthestage sharpraytrace signalshadowvertex signalvertex simplecar Sin slope smoothtorus spatialhalfcircle spatialhalfsfear square square2 square3 squareangline SurFunc Tan tdarrow themarkisinview trajectorypath tropicalglobe twocyclestogether unitnormal value VecFunc verygoodcone whatisthis X Z zero zeta

流程图

[edit | edit source]

提供辅助绘制流程图的例程。

bevel diamond path rectangle roundrectangle

等高线

[edit | edit source]

此包绘制等高线。

addseg case1 case2 case3 checktriangle contour join

slopefield

[编辑 | 编辑源代码]

curve func slopefield

其他参考

[编辑 | 编辑源代码]

文件输入和输出

[编辑 | 编辑源代码]
华夏公益教科书