Mathematica中用于为数学书制作图形的简单编程技巧/技巧?

bal*_*boa 36 wolfram-mathematica

我试着用它.这对于一些Plots来说真的很不错,但是当它以三角形为例时我发现它非常复杂.我想出了如何绘制三角形,但如何添加角度标记,那些曲线?

因为我刚开始从事这项工作,写一本书,任何人都可以推荐我,这是获得好看图形的最佳方法,例如如下图所示.哪种程序最好用. 在此输入图像描述

感谢您提出任何建议和意见.

Arn*_*ing 19

这是第一个执行第一个的简单/基本方法:

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}]
 }
}]
Run Code Online (Sandbox Code Playgroud)

Mathematica图形

以下是完全相同的事情,但在Manipulate角度包装和参数化alpha:

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]}]
Run Code Online (Sandbox Code Playgroud)

如果移动滑块,内容将相应更改:

Mathematica图形

  • 您是否扩展了图像上传器调色板以支持动画?我想这样做,但还没有时间!如果你这样做了,你可以通过任何机会邮寄吗?:-) (2认同)

Sza*_*lcs 14

编辑你也可以从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} = Sort@N[{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]]]}]}]
Run Code Online (Sandbox Code Playgroud)

Mathematica图形

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}
 ]
Run Code Online (Sandbox Code Playgroud)

Mathematica图形


Tim*_*Tim 9

Geometricta支持的一款出色的Wolfram产品.它不是一个便宜的附加装置,价格为495美元,但它会比你在原始MMA Mathematica中制作的图表容易得多.它基本上是评论中Szabolcs方法的一个非常大的扩展 - 一个绘制东西的函数库.


Dr.*_*ius 8

我很喜欢Mathematica.但是有更好的几何绘图选项.

在这里,您可以使用几何表达式完成五分钟草图(使用的分辨率非常低):

在此输入图像描述

Geometry Expressions可以进行一些很好的平面几何计算,并可以将结果导出到Mma在线.


cor*_*ion 5

是的,Mathematica的内置图形工具在某些地方有点古怪,并且有一些恼人的遗漏.但是有很多基本的图形,而且从好的方面来说,你只需要几次击键就可以找到纠正图形编辑器某些缺陷所需的数学工具.需要弧线?只需在下面计算并复制/粘贴即可.使用Adobe Illustrator无法做到这一点!方程式和希腊字符也可以广泛使用.没有别的东西可以帮助它.

这是第一个 - 这不是完全不可接受的...... :)

mathematica内置图形

  • 这是在Mathematica中使用绘图工具完成的.圆,线,设置线条的宽度,选择虚线样式,选择颜色,等等.至于代码,我输入`Graphics [Circle [{0,0},1,{0,Pi/3}]]`并将弧粘贴到我正在处理的图形中. (3认同)

mag*_*gma 5

演示是MMA编写的优秀且低成本(50美元)的图形(以及更多)包,由David Park编写. http://home.comcast.net/~djmpark/DrawGraphicsPage.html

它在我们的stackoverflow工具包中被称为资源n.2 .您的Mathematica工具包中有什么?