{f,g,h}={1,5,7}
u={1,0,2 g}
v={0,1,-2 f}
e=Cross[u,v]
{a,b,c}=e
d=e.{f,g,h}
Plot3D[(-a/c)*x+(-b/c)*y+d/c,{x,f-1,f+1},{y,g-1,g+1}]
Manipulate[u={1,0,2 g};
v={0,1,-2 f};
e=Cross[u,v];
{a,b,c}=e;
d=e.{f,g,h};
Plot3D[Tooltip[(-a/c)*x+(-b/c)*y+d/c],{x,-50,50},{y,-50,50},PlotRange->{-100,100},PlotLabel-> {f,g,h},Mesh->{{{f, Thick}},{{g, Thick}}}], {{f,0,"initial x"},-50,50},{{g,0,"initial y"},-50,50},{{h,0,"initial z"},-50,50}]

{x1,y1,z1}={0,0,0}

e=(y1*{1,0,2 y1}+{0,1,-2 x1})
For[i=0,i<30,i++,Print[{x1,y1,z1}={x1,y1,z1}+(10*{1,0,2 y1}+7*{0,1,-2 x1})/Norm[10*{1,0,2 y1}+7*{0,1,-2 x1}]]]

{x1,y1,z1}={9.,1.,100.};
cur[0] = {x1, y1, z1};
vec1[0]={1,0, 2*y1};
vec2[0] ={0, 1, -2*x1};
For[i=1, i<80,i ++,
cur[i]=cur[i-1]+1*(vec1[i-1]+vec2[i-1]);
vec1[i]={1, 0, 2*cur[i][[2]]};
vec2[i] ={0,1,-2*cur[i][[1]]};
{f,g,h}=cur[i];
u={1,0,2 g};
v={0,1,-2 f};
e=Cross[u,v];
{a,b,c}=e;
d=e.{f,g,h};
equ[i] = (-a/c)*x+(-b/c)*y+d/c]
(*Plot3D[{Array[equ,29]},{x,0,15},{y,0,10}]*)
Array[cur, 29]
ListPointPlot3D[Array[cur, 59]]

Clear[u,v,e, f,g,h]
{f,g,h}={0,0,0};
Animate[u={1,0,2 g};
v={0,1,-2 f};
e=Cross[u,v];
{a,b,c}=e;
d=e.{f,g,h};
Plot3D[(-a/c)*x+(-b/c)*y+d/c,{x,-10,10},{y,-50,50},PlotRange->{-100,100},Mesh->{{{f, Thick}}, {{g,Thick}}}], {g, -50,50,1}]

{x1,y1,z1} = {0.0,0,0};
point = {x1, y1,z1};
pointList = {point};
θ = Pi/24;
u = {1,0, 0};
v = {0,1, 0};
v1 = {1,0,0};

interations= 100;
For[i=0, i < interations, i ++,
u = {1.0,0, 2*point[[2]]};
v = {0,1, -2*point[[1]]};
n = Cross[u,v];
n = n/Norm[n];
vtemp = ((v1 -(v1.n)*n)/Norm[(v1 -(v1.n)*n)])*Norm[v1];
v2 = vtemp*Cos[θ] + (Cross[n,vtemp])*Sin[θ];
newpoint = point + v2;
pointList = Append[pointList, newpoint];

point = newpoint;
v1 =v2;

]
(*Print[pointList];*)
ListPointPlot3D[pointList]
Graphics3D[Line[pointList]];
pointList[[1]]

Animate[{f,g,h}=pointList[[i]];
u={1,0,2 g};
v={0,1,-2 f};
e=Cross[u,v];
{a,b,c}=e;
d=e.{f,g,h};
Plot3D[(-a/c)*x+(-b/c)*y+d/c,{x,-10,10},{y,-10,10},PlotRange->{-60,0},Mesh->{{{f, Thick}}, {{g,Thick}}}], {i, 1,interations,1}]

{x1,y1,z1} = {0.0,0,0};
point = {x1, y1,z1};
pointList = {point};
θ = Pi/24;
u = {1,0, 2*point[[2]]};
v = {0,1,-2*point[[1]]};
v1 = {1,0,0}

interations= 100;
For[i=0, i < interations, i ++,
u = {1,0, 2*point[[2]]};
v = {0,1,-2* point[[1]]};
n = Cross[u,v];
n = n/Norm[n];
vtemp = v1*Cos[θ] + (Cross[n,v1])*Sin[θ];
v2 = ((vtemp -(vtemp.n)*n)/Norm[(vtemp -(vtemp.n)*n)])*Norm[vtemp];
newpoint = point + v2;
pointList = Append[pointList, newpoint];

point = newpoint;
v1 =v2;

]
(*Print[pointList];*)
ListPointPlot3D[pointList];
Graphics3D[Line[pointList]];