有没有办法强制ContourPlot重新检查它的递归算法的每个阶段的所有点?

Ale*_*kov 6 wolfram-mathematica

由于Yaroslav Bulatov 对算法的这种出色的分析Plot,我现在理解为什么Plot3D并且ContourPlot没有顺利地绘制具有中断和不连续性的函数.

例如,在以下情况下,ContourPlot无法绘制轮廓x ^ 2 + y ^ 2 = 1:

ContourPlot[Abs[x^2 + y^2 - 1], {x, -1, 1}, {y, -1, 1}, Contours -> {0}]
Run Code Online (Sandbox Code Playgroud)

这是因为该算法没有深入到x ^ 2 + y ^ 2 = 1附近的区域.它在初始阶段"丢弃"该区域,并且不会尝试进一步研究它.MaxRecursion在这个意义上,增加没有任何作 甚至没有文档的选项Method -> {Refinement -> {ControlValue -> .01 \[Degree]}}也无济于事(但会Plot3D更加顺畅).

上面的功能只是一个简单的例子.在现实生活中,我正在使用无法通过分析解决的非常复杂的隐式函数.

有没有办法ContourPlot在断裂和不连续处附近进入这些区域?

Dr.*_*ius 3

这些是标准图。

在此输入图像描述

在此输入图像描述

轮廓为 10^-20

在此输入图像描述

它们对我来说非常清楚。

您期望更准确的信息吗?

编辑

如果您想使用 Contours->{0} 选项,您可以使用:

在此输入图像描述