(* kwadryki w R^3 postaci ax^2+by^2+cz^2==r2 *)
a=1;b=1;c=1;r2=16;
Manipulate[ContourPlot3D[a x^2+b y^2+c z^2==r2,{x,-10,10},{y,-10,10},{z,-10,10},PlotRange->Full,Mesh->False,ImageSize->300],{a,-2,2,Appearance->"Labeled"},{b,-2,2,Appearance->"Labeled"},
{c,-2,2,Appearance->"Labeled"},{r2,-8,16,Appearance->"Labeled"},SaveDefinitions->True]

(* plaskie kwadrki jako przekroje plaszczyzny ze stozkiem 
x^2+y^2-z^2==0 w R^3, czyli afiniczne czesci jednej kwadyki w P^2(R) *)
stozek:=ContourPlot3D[x^2+y^2-z^2==0,{x,-10,10},{y,-10,10},{z,-10,10},ContourStyle->Directive[Orange],PlotRange->Full,Mesh->False,ImageSize->300]; 
Manipulate[Show[
stozek,ParametricPlot3D[{x,a x +2 z -4,z},{x,-10,10},{z,-10,10},PlotStyle->Directive[Blue],PlotRange->Full,Mesh->False,ImageSize->300]],{a,-2,10},SaveDefinitions->True]

(* kwadrki bedace przekrojem hiperplaszczyzny ze stozkiem 
xy+zw=0 w R^4, , czyli afiniczne czesci jednej kwadyki w P^3(R) *)
a=0;b=0;c=0.14;d=-0.5; (* manipuluj c *)
Manipulate[ContourPlot3D[x y+z (a x +b y+c z+d)==0,{x,-5,5},{y,-5,5},{z,-5,5},PlotRange->Full,ContourStyle->Orange,Mesh->False,ImageSize->300],{a,-2,2,Appearance->"Labeled"},{b,-2,2,Appearance->"Labeled"},{c,-0.2,0.2,Appearance->"Labeled"},{d,-2,2,Appearance->"Labeled"},SaveDefinitions->True]

(* kwadrki bedace przekrojem hiperplaszczyzny ze stozkiem 
x^2+y^2+zw=0 w R^4, czyli afiniczne czesci jednej kwadyki w P^3(R) *)
a=0;b=0;c=-1.59;d=-0.5; (* manipuluj c *)
Manipulate[ContourPlot3D[x^2+y^2-z(a x +b y+c z+d)==0,{x,-1,0.5},{y,-0.5,0.5},{z,-0.5,0.5},PlotRange->Full,ContourStyle->Orange,Mesh->False,ImageSize->300]
,{a,-3.5,2,Appearance->"Labeled"},{b,-2,3,Appearance->"Labeled"},{c,-2,2,Appearance->"Labeled"},{d,-2,2,Appearance->"Labeled"},SaveDefinitions->True]