我试过使用它。对于一些情节来说,这真的很好,但是当它制作一个三角形时,我发现它非常复杂。我想出了如何绘制三角形,但如何添加角度标记,那些曲线?Mathematica中用于制作数学书籍图形的简单编程技巧/技巧?
因为我是初学者,所以写书的时候,任何人都可以推荐我这是最好的方法来完成好看的图形,例如下图所示。哪些程序最适合使用。
感谢您的任何建议和建议。
我试过使用它。对于一些情节来说,这真的很好,但是当它制作一个三角形时,我发现它非常复杂。我想出了如何绘制三角形,但如何添加角度标记,那些曲线?Mathematica中用于制作数学书籍图形的简单编程技巧/技巧?
因为我是初学者,所以写书的时候,任何人都可以推荐我这是最好的方法来完成好看的图形,例如下图所示。哪些程序最适合使用。
感谢您的任何建议和建议。
一个优秀的,支持Wolfram的产品是Geometrica。这不是一个便宜的附加组件,价格为495美元,但它会产生像您的图表,比以原始形式制作 MMA Mathematica更容易。它基本上是Szabolcs方法在评论中的一个非常大的扩展 - 用来绘制内容的函数库。
编辑您也可以从Demonstrations项目中获得灵感。 These are the triangle-related demonstrations.快速浏览后,我认为您应该看到Jay Warendorff与几何相关的演示。他做了很多这些,他们使用一组结构化的几何相关函数,这些函数很可能可以重用。
这里是一个angleArc
功能,让你开始。这只是你可以使用的帮助函数的一个小例子,还有很大的改进空间。
angleArc[Polygon[vertices_List, ___], r_, i_] :=
Module[{a, b, c, phi1, phi2},
{a, b, c} = Take[RotateLeft[vertices, i-2], 3];
{phi1, phi2} = [email protected][{ArcTan @@ (a - b), ArcTan @@ (c - b)}];
If[phi2 - phi1 > Pi, phi1 += 2 Pi];
Circle[b, r, {phi2, phi1}]
]
poly = Polygon[{{0, 0}, {1, 2}, {2, 1}}];
Graphics[{EdgeForm[Thick], FaceForm[None], poly,
Table[angleArc[poly, .2, i], {i, Length[poly[[1]]]}]}]
Manipulate[
With[{poly = Polygon[{a, b, c}]},
Graphics[
{EdgeForm[Thick], FaceForm[None], poly,
Table[angleArc[poly, .2, i], {i, Length[poly[[1]]]}]},
PlotRange -> 2 {{-1, 1}, {-1, 1}}, Frame -> True
]
],
{{a, {0, 0}}, Locator}, {{b, {1, 0}}, Locator}, {{c, {0, 1}}, Locator}
]
我喜欢数学了很多。但是几何绘图有更好的选择。
在这里,您有(用非常低的分辨率)Geometry Expressions做了5分钟素描:
几何表达式做了一些不错的平面几何计算,并可以在网上将结果导出为MMA。
我只是试过这个程序,它很容易使用。它具有用户友好的环境。就在你要将图形输出到EPS的时候 - 不要,因为它不起作用。它看起来很糟糕,但BMP看起来不错。顺便说一句,你知道如何隐藏对象后,我把它藏起来? – balboa 2012-01-06 00:30:26
@balboa要隐藏/取消隐藏,请使用视图菜单下的“切换” – 2012-01-06 13:40:24
@balboa不,我从来没有从GE – 2012-01-06 13:42:59
这里做一个简单/基本途径的第一个:
Graphics[{
(* The dashed circle segment *)
{
Dashing[{.04, .01}],
Darker[Orange],
AbsoluteThickness[2],
Circle[{0, 0}, 1, {1, 2 \[Pi]}]
},
(* The solid circle segment *)
{
Orange,
AbsoluteThickness[2],
Circle[{0, 0}, 1, {0, 1}]
},
(* The radial lines and the small circle segment *)
Line[{{0, 0}, {1, 0}}],
Line[{{0, 0}, {Cos[1], Sin[1]}}],
Circle[{0, 0}, .2, {0, 1}],
(* Various text labels *)
{
Text[Style["\[Theta]", 24], .3 {Cos[.5], Sin[.5]}],
Text[Style["s", 24], 1.1 {Cos[.5], Sin[.5]}],
Text[Style["r", 24], {.5, -.1}]
}
}]
以下是完全一样的事情,但在角度alpha
包裹在Manipulate
和参数 :
Manipulate[
Graphics[{
{Dashing[{.04, .01}], Darker[Orange], AbsoluteThickness[2],
Circle[{0, 0}, 1, {\[Alpha], 2 \[Pi]}]},
{Orange, AbsoluteThickness[2], Circle[{0, 0}, 1, {0, \[Alpha]}]},
Line[{{0, 0}, {1, 0}}],
Line[{{0, 0}, {Cos[\[Alpha]], Sin[\[Alpha]]}}],
Circle[{0, 0}, .2, {0, \[Alpha]}],
{Text[Style["\[Theta]",
24], .3 {Cos[\[Alpha]/2], Sin[\[Alpha]/2]}],
Text[Style["s", 24], 1.1 {Cos[\[Alpha]/2], Sin[\[Alpha]/2]}],
Text[Style["r", 24], {.5, -.1}]}
}],
{{\[Alpha], 1}, 0, 2 \[Pi]}]
如果移动滑块,内容将会相应改变:
爱它。非常感谢你,只有一个问题:如何学习绘制这样的图形?如果你可以参考教程,我的意思是你是如何学到的?谢谢! – balboa 2012-01-05 22:29:17
如果你打算创建很多这样的图形,我会建议阅读Graphics上的帮助页面(http://reference.wolfram.com/mathematica/ref/Graphics.html?q=Graphics&lang=en)以及指令中的页面(http://reference.wolfram.com/mathematica/guide/GraphicsDirectives.html),它们修改了图形基元。 – 2012-01-05 22:45:12
您是否扩展了图片上传器调色板以支持动画?我想这样做,但没有时间!如果你这样做了,你可以邮寄吗? :-) – Szabolcs 2012-01-06 08:49:02
是,Mathematica的内置图形工具在地方有点古怪,并有一些恼人的遗漏。但是基础图形的范围很广,从好的方面来说,您只需要从数学工具中轻击几下,就可以纠正图形编辑器的一些缺陷。需要一个弧线?只需在下面进行计算并将其复制/粘贴即可。无法使用Adobe Illustrator来做到这一点!还有广泛的方程式和希腊字符。当没有别的东西需要处理时,它可能会有所帮助。
这里的第一个 - 这不是完全不能接受的... :)
“只需在下面计算并复制/粘贴它即可......”我想你忘记了包含代码。 – abcd 2012-01-05 22:46:58
我没有得到它,在哪个程序中你做了这个(Mathematica?)。看起来很好。 “只是在下面计算它” - 你能更具体一些,也许发布一个图形代码?感谢您的回答 – balboa 2012-01-05 22:52:08
这是在Mathematica中使用绘图工具完成的。圆形,线条,设置线条的宽度,选择虚线样式,选择颜色等等。至于代码,我在'Graphics [Circle [{0,0},1,{0,Pi/3}]]'中键入'并将弧粘贴到我正在处理的图形中。 – cormullion 2012-01-05 23:12:30
演示是一款优秀且成本低($ 50),图形(以及更多)封装在MMA,以书面形式大卫公园。 http://home.comcast.net/~djmpark/DrawGraphicsPage.html
它在我们的计算器工具包提到资源N.2 What is in your Mathematica tool bag?
数学绝对可以让你在显示作为例子的所有图形,但它不会帮助你让他们很容易。您需要定义自己的函数,以便轻松绘制诸如角度弧之类的东西。一旦完成,应该会更容易。我认为Mathematica是非常好的,如果你需要使你的绘图非常精确,你更愿意使用程序代码和方程来描述它们。 (虽然它确实有交互式编辑。)当交互式编辑更好时,我会使用类似http://zirkel.sourceforge.net/(对于您显示的我使用ZuL而不是Mma) – Szabolcs 2012-01-05 19:15:12
要闭合器:这是Mathematica标签的一个完全合法的编程问题,因为Mathematica以编程方式获取数学书籍的图形等内容。 – 2012-01-05 19:17:30
对于一般背景,您可能对此演示文稿感兴趣:http://www.wolfram.com/mathematica/customer-stories/developing-interactive-textbooks-with-cdf.html。它不仅仅是静态图像,它们也是可能的,甚至可能更容易获得更多动态图像的“快照”。 – 2012-01-05 19:21:31