将 ParametricPlot 参数表达式转换为 ContourPlot 笛卡尔表达式

Converting a ParametricPlot parametric expression to a ContourPlot cartesian expression

使用 ParametricPlot 我可以绘制以参数坐标表示的双纽线:

  ParametricPlot[1/(1 + Sin[t]^2) {Cos[t], Cos[t] Sin[t]}, {t, 0, 2 [Pi]}]

我想使用 Mathematica 找到等效的笛卡尔表达式并使用我知道的 ContourPlot 绘制它:

ContourPlot[(x^2 + y^2)^2 == (x^2 \[Minus] y^2), {x, -1, 1}, {y,-1,1}]

在 MMA 函数中查找我想知道 CoordinateTransformDataTransformedField 是否可以帮助我,但其中 none 具有适当的坐标转换:"Parametric" -> "Cartesian" 这让我莫名其妙。

如何做到这一点?

这取决于你想要多少自动解决方案。

eq = Thread[{x, y} == 1/(1 + Sin[t]^2) {Cos[t], Cos[t] Sin[t]}];
cont = Eliminate[eq, t] // Simplify
y != 0 && x^4 + y^2 + 2 x^2 y^2 + y^4 == x^2
ContourPlot[Evaluate@Last@cont, {x, -1, 1}, {y, -1, 1}]