metapost

填写FOR循环中构建的Metapost图
metapost

填写FOR循环中构建的Metapost图

我正在尝试在 Metapost 中创建一个齿轮,并希望为其填充颜色。我想出了以下代码: vardef sin(expr xx) = sind(xx) enddef; vardef cos(expr xx) = cosd(xx) enddef; beginfig(1) inc := 15; inner_radius := 1.0cm; outer_radius := 1.3cm; for ang = 0 step 2 * inc until 360: draw (inner_radius * sin(ang), inner...

Admin

我的代码无法按照我希望的方式编译
metapost

我的代码无法按照我希望的方式编译

\documentclass{article} \everymath{\displaystyle} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[estonian]{babel} \usepackage[a4paper]{geometry} \usepackage{amssymb} \usepackage{amsmath} \usepackage{graphicx} \usepackage[shellescape]{gmp} \DeclareMathOperator{\ch}...

Admin

您可以从列表中绘制路径,或者以其他方式避免分段联合声明吗?(在 metapost 中)
metapost

您可以从列表中绘制路径,或者以其他方式避免分段联合声明吗?(在 metapost 中)

假设我有一个想要绘制的数学函数。 绘制该图形的最简单方法是沿着绘图域以小步骤对其进行评估并生成点。 例如 f(0); f(0.1); f(0.2) ... 转换为 (0, f(0)); (0.1, f(0.1)); (0.2, f(0.2)) ... 如果想画一条曲线而不是点,可以这样做 draw (0, f(0))--(0.1, f(0.1)); draw (0.1, f(0.1))--(0.2, f(0.2)); 循环内部。换句话说,你编写一个循环,存储前一次计算的结果,计算 x 的当前值,绘制直线段,更新 x 并继续。 是否可以这样做,...

Admin

Metapost 绘制 B-Spline 递归公式给出奇怪的结果
metapost

Metapost 绘制 B-Spline 递归公式给出奇怪的结果

我目前正在尝试使用元帖子制作通用 B 样条基绘图仪。 基函数的定义是维基百科在属性下。 ab 样条曲线的节点应具有模式 0,其次数等于样条曲线的顺序,一段时间内值不断增加,最后一个值重复以匹配顺序 例如对于 3 阶样条曲线:[0,0,0,1,2,3,4,5,6,6,6] 会生成一个节点向量。 为此,我尝试编写该精确公式并打印我制作的结矢量,以确保我做的事情正确: 上面是 2 阶样条函数之一,它应该看起来像一个线性上升然后下降的函数(金字塔),但它看起来像 1 阶基函数。我尝试更改顺序,但我的所有函数都返回相同的模式。 例如 3 阶函数:...

Admin

Metapost 如何在递归函数中返回值?
metapost

Metapost 如何在递归函数中返回值?

我正在尝试编写 B 样条的递归定义,但我无法编写递归,我的代码无法编译,因为我试图将“vacuous 分配给numeric”, 根据在线资源,要返回一个值,您需要省略末尾的分号。 但是这不能编译: vardef calculate_basis(expr t, i, order)= numeric ret; if order=0: index := knots[i]; if (t >= index) and (t < knots[i+1]): label.top(tex...

Admin

如何在一个文件中定义元字体函数以避免每次创建新文件时重新定义它们?
metapost

如何在一个文件中定义元字体函数以避免每次创建新文件时重新定义它们?

我有一个通过调用 4 个函数生成的元字体图,我知道我将使用不同的参数多次使用这些函数。 为了避免疯狂地复制粘贴,我希望将这些函数放在自己的文件中,并且仅在相关或必要时将它们包含在 tex 文件中。 但是,现在我甚至不知道如何让它们成为自己的命令,更不用说从其他文件中包括它们了: 结果: 代码: \documentclass[border=10cm]{standalone} \usepackage{luamplib} \mplibnumbersystem{double} \usepackage[margin=0.5cm]{geometry} ...

Admin

\reuseMPgraphic 是否改变从 ConTeXt 传递的文本?
metapost

\reuseMPgraphic 是否改变从 ConTeXt 传递的文本?

在我的演示文稿中,我经常用不同的文本填充金字塔,这些文本被框在垂直居中、中间对齐的框架中。我有一个环境,其中定义了一个模板,\startuseMPgraphic我可以在模板中传递外部宏。 \setuppapersize [S3] \defineframedtext [Cadre] [align={middle,lohi}] \startusableMPgraphic{test} label ("\Cadre{\Legende{}}", origin); \stopusableMPgraphic \startreusableMPgraphic{Test}...

Admin

为什么这种语法在 METAFUN/METAPOST 下会输出错误?
metapost

为什么这种语法在 METAFUN/METAPOST 下会输出错误?

鉴于此 MWE(在 ConTeXt 下编译) \starttext \startMPpage %variables u:=1mm ; numeric l[]; l[1]:=30 ; l[2]:=70 ; draw (0,0) -- (0,100u) ; %this does not work %fill unitsquare xscaled (l[2]-l[1])*u yscaled 100*u shifted (l[1]*u,0) withcolor red ; %this does fill unitsquare xscaled (l[2]*u-...

Admin

平均能量损失
metapost

平均能量损失

假设有一个规则的金字塔,T.ABCD其中 P是TC这样的TP:PC = 1:3 RBC是这样的扩展BR:BC = 1:3 Q任意位于平面上TAD,但既不在外部也不在边界上 画出平面PQR切割金字塔的横截面。 平均能量损失 我自己的解决方案如下,但我正在寻找其他更简单的方法(如果有的话)。 \documentclass[pstricks,border=0pt,12pt]{standalone} \usepackage{pst-eucl} \newpsstyle{aux} { linestyle=dashed, linecolo...

Admin

如何有条件地在 ConTeXt 中绘制 MetaPost 图形的各个部分?
metapost

如何有条件地在 ConTeXt 中绘制 MetaPost 图形的各个部分?

我的问题的基础是我正在制作一个 14x14 的填字游戏,我有来自外部文档的 196 个单元格中的每一个的数据,但只需要内部带有文本的单元格有边框。 我尝试使用 MetaPost 来解决这个问题。为简单起见,我在这里将代码简化为 14x1 网格示例。 我创建了一个外部脚本,它为我提供了网格内应包含的所有值。例如,如果第一行有“cat”,则它会给出以下内容: \setvalue{1}{c} \setvalue{2}{a} \setvalue{3}{t} \setvalue{4}{} \setvalue{5}{} \setvalue{6}{} \setval...

Admin

在 Blockly 中实现 METAPOST
metapost

在 Blockly 中实现 METAPOST

有人调查过这个问题吗? Blockly 是 Google 开发的可视化代码编辑器:https://developers.google.com/blockly/ 并且至少已经实现了一种图形语言OpenSCAD:https://www.blockscad3d.com/ 如果不是 METAPOST,那么最好的图形绘制语言是什么? ...

Admin

如何在 METAPOST 中绘制圆与路径的交点
metapost

如何在 METAPOST 中绘制圆与路径的交点

如何仅绘制减去粗红线后剩下的圆的两条边? \documentclass{article} \usepackage{luacode} \usepackage{luamplib} \usepackage{calc} \usepackage{xcolor} \usepackage{forloop} \setlength{\unitlength}{1bp} \setlength{\parindent}{0sp} \begin{document} \pagestyle{empty} \begin{picture}(0,0) \put(0,-72){ \beg...

Admin

绘制康托函数
metapost

绘制康托函数

我想知道是否有一种(简单的?)方法可以使用 LaTeX 绘制康托函数(魔鬼楼梯)。 使用 TikZ 手动进行绘制似乎有点疯狂,而且我对使用 TikZ 进行绘制的了解也非常有限。话虽如此,我在数学脚本中多次看到过绘制,那么它是如何完成的呢?有人知道吗? 以下是对康托函数。 ...

Admin

错误的“numberprecision”已被忽略
metapost

错误的“numberprecision”已被忽略

我刚刚读到,可以使用二进制数系统(mpost -numbersystem binary)运行 METAPOST,并且可以通过为变量分配值来指定位数numberprecision。 如果我尝试,numberprecision := 64我会收到以下错误: !错误的‘numberprecision’已被忽略。 我尝试通过谷歌搜索解决方案,但一无所获。 值得一提的是,我使用的是 1.902 版本。 有什么建议么? 提前致谢。 ...

Admin