问题标签 [mathematica-8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
378 浏览

wolfram-mathematica - Combinatorica`PlanarQ 不起作用

为什么 PlanarQ 不返回 "True" 或 "False" ?

0 投票
4 回答
799 浏览

wolfram-mathematica - 在 Mathematica 中处理 KMZ

我被困在转换上。

我有一个带有一些坐标的 KMZ 文件。我读了这样的文件:

我得到这样的东西:

我想从每个点中提取 {x,y,z} 以及与这些点关联的地标名称 {1,2,3}。即使我可以从 Geometry->{} 中获取点也可以,因为我可以使用 List@@@ 将它们提取到一个列表中,但是我迷失在无法提取几何的基本部分“规则”。

谢谢你的帮助,

罗恩

0 投票
3 回答
614 浏览

wolfram-mathematica - 如何以编程方式访问有关 Mathematica 8 中“图形”对象的信息?

我正在尝试访问GraphMathematica 8 中的对象内的信息。由于某种原因,该Part命令似乎不起作用。

myGraph是我想要访问的对象。

下面的第一行显示 myGraph。其他人负责检查它。

我的图表

为什么不myGraph[[1]]回来List[1,3,4,2,5] ?[我检查到第 2 级,以防Graph被一些看不见的包装纸包裹着。 Level[myGraph,1],简单地返回{}。并FullForm[myGraph][[1]]返回图形本身的图片。

我必须忽略一些明显的东西。


编辑

这是我用来生成图表的代码。其中大部分与手头的问题无关。但至少您将使用我正在使用的相同代码。

0 投票
2 回答
6291 浏览

image - Mathematica:带有PNG的透明背景

这很可能是 Mathematica 8.0.1 和其他版本中的错误。让我们尝试以下方法:

这是我获得的屏幕截图:

输出

首先要注意的是最后两张图片的尺寸错误。这在某种程度上很好,因为我对 300 或更高的分辨率感到满意。现在看看这个:

我希望将Export其设置为具有高分辨率透明背景的 png 文件。这是我对总是有问题的 Mathematica 的蹩脚尝试。

这是几个 png 文件的屏幕显示。

图片

他们都提出了预期的解决方案:)。但是我的透明背景怎么了?我已经通过我的代码指定了很多次Background -> None,但这并不想工作。我浏览了网络,发现了这个:

http://forums.wolfram.com/mathgroup/archive/2009/Feb/msg00943.html

让我们使用这个想法。

图片

没有背景!!!:) 伟大的。但是我的图像大小发生了什么变化?分辨率在增加,但图像尺寸开始减小。我真的一直在纠结这个问题太久了。我希望你们中的某个人能对这个 Mathematica 错误有所了解,并能找到一个 hack 以实现高分辨率的透明背景 PNG。如果您找到答案,请提及你们正在使用的 Mathematica 版本。

0 投票
1 回答
1954 浏览

wolfram-mathematica - Mathematica:Graphics3D 中的文本相对于图像坐标

Mathematica 文档指出:“三维图形中的文本放置在与指定点 {x,y,z} 的投影相对应的位置。文本绘制在所有其他对象的前面”。您如何相对于图像大小定位文本?

这是如何在 2D 中完成的:

输出

只要PlotRangeClipping设置为,这些标签将始终出现在该位置False。问题是,如果我切换到Graphics3D. 尝试一个简单的。

0 投票
2 回答
5629 浏览

wolfram-mathematica - Mathematica:3D 线框

Mathematica 是否支持去除线框图像的隐藏线?如果不是这种情况,这里有没有人遇到过这样做的方法?让我们从这个开始:

输出

要创建线框,我们可以这样做:

输出

为了达到这种效果,我们可以做的一件事就是将所有表面涂成白色。然而,这是不希望的。原因是如果我们将这个隐藏线线框模型导出为 pdf,我们将拥有 Mathematica 用来渲染图像的所有白色多边形。我希望能够以 pdf 和/或 eps 格式获得带有隐藏线删除的线框。


更新:

我已经发布了这个问题的解决方案。问题是代码运行速度很慢。在当前状态下,它无法为该问题中的图像生成线框。随意玩我的代码。我在帖子末尾添加了一个链接。您还可以在此链接中找到代码

0 投票
2 回答
945 浏览

wolfram-mathematica - Mathematica:连接线段

这是我尝试在 Mathematica 中找到我的问题线框答案的一部分。

给定一组线段,如何连接两个连接并位于同一条线上的线段。例如考虑线段l1 = {(0,0), (1,1)}l2 = {(1,1), (2,2)}。这两条线段可以合并为一条线段,即l3 = {(0,0), (2,2)}。这是因为l1l2共享点(1,1)和每条线段的斜率是相同的。这是一个视觉效果:

输出

需要注意的一点是,在上面的例子中l1l2可以组合成由 3 个点指定的一条线,即{{0,0},{1,1},{2,2}}.

这个问题的第一部分是:给定一组由 2 个点指定的线段,你如何减少这个集合以拥有一个重复点最少的集合。考虑这个组成的例子:

我想要的是一个函数说它REDUCE给我以下输出:

我们需要的唯一副本是{1,1}. 我这样做的方法如下:我将第一行放入R然后我查看了下一行,lines并注意到没有端点与行中的端点匹配,R因此我将此新行添加到R. 中的下一行lines{{2,2},{1,1}},端点{1,1}与中的第一行匹配,R因此我将其附加{2,2}到中R。现在我添加{{1,1}, {0.5,0.5}}R我也添加{{0,1}, {0,2}}. 由于 in 的最后一行lines有一个与 in 匹配的端点,R所以我附加了它,所以我们有{{2,1}, {0,1}, {0,2}}. 最后,我查看所有行,R看看是否有任何端点匹配,在这种情况下,该行{{3,3}, {2,2}}与第一行的右端点匹配R所以我追加{3,3},从而消除了对{2,2}.

这可能不是最好的方法,因为它可能不会给你最好的减少。无论如何,假设我们有这个归约函数,那么我们可以检查我们是否需要所有的点来描述一条线。这可以按如下方式完成:

如果我们有超过 3 个点来描述这条线,请检查前 3 个点是否共线,如果是,则删除中间的点并检查 2 个端点和一个新点的集合。如果它们不共线,则移动一个点并检查接下来的 3 个点。

我问这个问题的原因是因为我想减少描述二维图形所需的点数。尝试以下操作:

输出

以下Mathematica 8函数将 3D 对象更改为描述对象线框的线列表(线是 2 个点的列表):

请注意,在Mathematica 7中,我们必须替换_JoinedCurve_Line. 应用g1我们得到的函数

输出

那里有 90 条线段,但我们只需要 12 条(如果我在计算直线时没有犯任何错误)。

所以你有挑战。我们如何操作lines以获得描述图形所需的最少信息量。

0 投票
2 回答
1101 浏览

wolfram-mathematica - Mathematica:不相交的线段

我们如何告诉Mathematica给我们一组不相交的线?在这种情况下,如果两条线有一个共同点(不是端点),则它们相交。考虑这个简单的案例:

这个想法是创建一个函数,给定一组线,返回一组不相交的线。如果存在这样的功能,split那么输出

将会

检测到的函数{0,0}是集合中两条线之间的交点,为了获得不相交的线,它打破了交点处的线段,从而产生了另外 2 条线。如果原始输入包含更多行,则此过程会变得更加复杂。有谁知道如何在不使用循环的情况下在Mathematica中有效地做到这一点?了解查找两条线是否相交的算法可能会有所帮助。

笔记

这个问题是我试图找出如何在Mathematica中制作带有隐藏线移除的线框的第二部分。请随意添加更多合适的标签。

0 投票
3 回答
5221 浏览

latex - 数学 8.0 和 psfrag

我最近从 Mathematica 7.0 更新到 8.0,现在遇到了使用 psfrag 包用 LaTeX 代码替换我的绘图标签的问题。一切都与早期版本和完全相同的情节完美配合,但现在 psfrag 保持所有标签不变。我在 Ubuntu 11.04 上使用 Kile 进行 LaTeX 编辑。

例如,在 Mathematica 中:

然后在 LaTeX 中:

现在应该用 LaTeX 排版替换标签,但没有任何反应。任何建议如何解决这个问题?有谁知道与早期版本相比,Mathematica 8 对 eps 文件中文本的编码方式是否有所不同?

0 投票
1 回答
1560 浏览

wolfram-mathematica - Mathematica:获取图形基元和指令

如何从Graphics对象中获取图形基元和指令?Leonid Shifrin 在Mathematica: Removing graphics primitives中展示了如何删除它们。我尝试应用类似的东西,但我无法得到我想要的。考虑这个例子:

输出

g2现在是一个图形对象。如果你看一下你InputFormg2发现这个图形对象是由Polygons 和JoinedCurves 组成的。我想做的是能够遍历g2. 如果我们尝试如下迭代

我们获得

我想获得的是一个简单的原语列表,我不希望它们在里面Styles。这是仅获取线条和颜色的一种尝试:

输出

请注意,左侧的图像绘制不正确。此图像仅使用JoinedCurves 和RGBColors 生成。它以某种方式设法错过了一种颜色,这就是为什么我们有一条黑线,然后其余的线有另一种颜色。另一个图像是正确绘制的,我们所做的只是删除所有出现在那里的Polygons和。Thickness我在这里做什么不同?我们不应该获得相同的地块吗?