使用ParametricPlot
我可以绘制以参数坐标表示的lemniscate:
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函数中查找我想知道CoordinateTransformData
或TransformedField
是否可以帮助我,但是没有一个具有适当的坐标转换:"Parametric" -> "Cartesian"
让我感到困惑。
如何做到这一点?
答案 0 :(得分:2)
这取决于您想要多少自动解决方案。
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}]