Given an equation $F(x,y)=0$ and a transformation $t(x,y)$ that, say, scales points by $2$, then to scale the graph of $F=0$, one applies the inverse transformation and plots $F(t^{-1}(x,y))=0$.
transformEQ[t_, vars_, eq_] :=
Function[vars, eq] @@ InverseFunction[t]@vars;
equation = y^4 + 2 y^2*x - 3 x y + 7 x^3 == 176.984;
transformEQ[ScalingTransform[{2, 2}], {x, y}, equation]
(* (7 x^3)/8 - (3 x y)/4 + (x y^2)/4 + y^4/16 == 176.984 *)
In polar coordinates, or in another coordinate system, one either converts the coordinates or the transformation $t$. Since transformations in cartesian coordinates are built into Mathematica, the first point of view seems convenient.
transformEQ[t_, vars_, eq_, "Polar"] :=
Function[vars, eq] @@ Simplify[ (* simplifying is optional *)
Composition[
ToPolarCoordinates,
InverseFunction@t,
FromPolarCoordinates
][vars],
{First@vars > 0, -Pi < Last@vars < Pi}]; (* match the branch cuts of ArcTan[x, y] *)
polar = r == Sqrt[Sin[2 θ]];
transformEQ[ScalingTransform[{2, 2}], {r, θ}, polar, "Polar"]
(* r/2 == Sqrt[Sin[2 θ]] *)
Note: The assumption on the angle generally produces the correct formula, sometimes even when the condition is not met. If a transformed equation seems incorrect, then I would check this first.
This could be extended to other coordinate systems with CoordinateTransformData
.
Scale
$\endgroup$Scale
does not change the scale; it scales the data, although it scales the output, not the input, data. The change you are looking for is called scaling, but you seem to want to transform the input, not the output. $\endgroup$r==Sqrt[Sin[2 θ]]
? $\endgroup$