DandelineSpheres-Hyperbola::usage="Spheres tangent to a plane and a cone, but each in different leafs of the cone, and their points of contact with the plane determine the foci of a hyperbola in the space formed by the intersection of the plane and the cone. The difference PF1 - PF2 is equal to the distance C1C2 (distance between the points that are in each orbit of the spheres). It´s an improved approach. Reference: Personal. ";
In[]:=
Manipulatej[x_,y_]:=23.999999683570316`-6.9999999248374145`x;a1=6.9999999248374145`;b1=0;c1=1;d11=23.999999683570316`;γ[t_]:=,,23.999999683570316`-;ζ[t_]:={2Cos[t],2Sin[t],2};φ[t_]:={3Cos[t],3Sin[t],-3};d1[t_]:=N[Norm[γ[t]-{2.799958807004882`,0,4.40029}]];d2[t_]:=N[Norm[γ[t]-{4.200004232657987`,0,-5.400029629352419`}]];d3[t_]:=Abs[d1[t]-d2[t]];d4[t_]:=N[Norm[φ[t]-ζ[t-π]]];p=Grid[{{,,2a},{d1[θ1],d2[θ1],d3[θ1]}},FrameAll,ItemSize->15,ItemStyle->15];o=Grid[{{},{d4[θ1]}},FrameAll,ItemSize->10,ItemStyle->12];Show[surf1=ParametricPlot3D[{vCos[u],vSin[u],v},{u,0,2π},{v,-20,20},PlotStyleDirective[Green,Specularity[White,20],Opacity[0.1]],MeshFalse,PerformanceGoal"Quality"],surf2=ParametricPlot3D[2
Cos[t](-1.086158832487825`*^31+7.6031117457762675`*^31Cos[t])
1.063530513688624`*^31+1.1087871323056389`*^31Cos[2t]
(-1.086158832487825`*^31+7.6031117457762675`*^31Cos[t])Sin[t]
1.063530513688624`*^31+1.1087871323056389`*^31Cos[2t]
6.9999999248374145`Cos[t](-1.086158832487825`*^31+7.6031117457762675`*^31Cos[t])
1.063530513688624`*^31+1.1087871323056389`*^31Cos[2t]
PF
1
PF
2
C
1
C
2
2
Cos[u]Sin[v],22
Sin[u]Sin[v],22
Cos[v]+4,{u,0,2π},{v,0,π},ColorFunction"LightTemperatureMap",MeshFalse,PerformanceGoal"Quality"],surf3=ParametricPlot3D[32
Cos[u]Sin[v],32
Sin[u]Sin[v],32
Cos[v]-6,{u,0,2π},{v,0,π},ColorFunction"LightTemperatureMap",MeshFalse,PerformanceGoal"Quality"],surf4=Plot3D[j[x,y],{x,-5,5},{y,-5,5},PlotStyle->Directive[Red,Specularity[White,20],Opacity[0.2]],MeshFalse,PerformanceGoal"Quality"],curv1=ParametricPlot3D[γ[t],{t,0,θ1},ColorFunctionFunction[{x,y,z},Hue[z]],PerformanceGoal"Quality"],curv2=ParametricPlot3D[ζ[θ],{θ,0,2π},PerformanceGoal"Quality"],curv3=ParametricPlot3D[φ[θ],{θ,0,2π},PerformanceGoal"Quality"],Graphics3D[{Black,Ball[{2.799958807004882`,0,4.40029},0.11]}],Graphics3D[{Black,Ball[{4.200004232657987`,0,-5.400029629352419`},0.11]}],Graphics3D[{Red,Ball[N[γ[θ1]],0.11]}],Graphics3D[{Orange,Ball[N[φ[θ1-π]],0.11]}],Graphics3D[{Orange,Ball[N[ζ[θ1]],0.11]}],Graphics3D[{Black,Dashed,Line[{N[γ[θ1]],{2.799958807004882`,0,4.40029}}]}],Graphics3D[{Black,Dashed,Line[{N[γ[θ1]],{4.200004232657987`,0,-5.400029629352419`}}]}],Graphics3D[{Blue,Thick,Line[{φ[θ1-π],{0,0,0},ζ[θ1]}]}],AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},MeshFalse,AxesTrue,BoxedFalse,PlotRange10,ViewPoint{6,4,-1.3},ImageSize500],Style["Dandeline Spheres - Hyperbola:",Bold,Medium],{{θ1,1,"Angle (θ)"},0.01,2π,0.01},Delimiter,{{p,1,"Vector radius of the hyperbola"}},Delimiter,{{o,3,"Distance between spheres"}},ControlPlacementTopOut[]=

