In[]:=
ConfocalParaboloidsFamily::usage="If a > b, the equation paraboloids + = 2 z - u, for u < b one obtains a family of elliptical paraboloids, forb < u < a one obtains a family of hyperbolic paraboloids. For b < u < c it's another family of elliptical paraboloids. The elements of the family are orthogonal to each other.That a family of confocal paraboloids are orthogonal to each other means that, at each point of the three-dimensional space where two paraboloids of different surfaces of the same family are intercepted, their tangent planes are perpendicular, that is, their normal vectors are orthogonal.Reference: https://mathcurve.com; AI Assistant; Personal ";
2
x
a-u
2
y
b-u
Animation:
In[]:=
Manipulatea0=9;b0=4;zSurface[a_?NumericQ,b_?NumericQ,u_?NumericQ][x_,y_]:=++;surfaceType[a_?NumericQ,b_?NumericQ,u_?NumericQ]:=Which[u<b,"Elliptic paraboloid",b<u<a,"Hyperbolic paraboloid",True,"Another family of elliptical paraboloids"];ShowPlot3D[zSurface[a0,b0,u0][x,y],{x,-4,4},{y,-4,4},Mesh->None,PlotRange->All,MaxRecursion->3,PlotStyle->Directive[Opacity[0.8],ColorData["Rainbow"][Rescale[u0,{-3,10}]]],BoundaryStyle->None],Axes->True,AxesLabel->{x,y,z},BoxedFalse,AxesOrigin{0,0,0},BoxRatiosAutomatic,PlotLabel->Row"Confocal family: ",TraditionalForm+==2z-u0," (",surfaceType[a0,b0,u0],")",ImageSize->Large,{{u0,-1.0},-3,10}
u
2
2
x
2(a-u)
2
y
2(b-u)
2
x
a0-u0
2
y
b0-u0
Out[]=
Verification with two elements:
In[]:=
F[x_,y_,z_]:=0.236967-1.28205-2z+4.78;G[x_,y_,z_]:=0.10101+0.204082-2z-0.9;Solve[{F[x,y,z]==0,G[x,y,z]==0},{x,y}]
2
x
2
y
2
x
2
y
Out[]=
x-0.000670664
2.22916×+3.71533×z
,y-0.001298746
10
7
10
2.32033×+906380.z
,x-0.0006706646
10
2.22916×+3.71533×z
,y0.001298746
10
7
10
2.32033×+906380.z
,x0.0006706646
10
2.22916×+3.71533×z
,y-0.001298746
10
7
10
2.32033×+906380.z
,x0.0006706646
10
2.22916×+3.71533×z
,y0.001298746
10
7
10
2.32033×+906380.z
6
10
Let z = 1 and let’s take the first values:
In[]:=
x1=-0.0006706642455506794`
2.229163`*^6+3.71533`*^7
y1=-0.0012987357269572712`2.320327`*^6+906380.`
In[]:=
-4.2087835434620855`;
In[]:=
-2.3329237979334967`;P={-4.2087835434620855`,-2.3329237979334967`,1};
In[]:=
F[x_,y_,z_]:=0.236967-1.28205-2z+4.78;G[x_,y_,z_]:=0.10101+0.204082-2z-0.9;σ=/.{x-4.2087835434620855`,y-2.3329237979334967`,z1};ρ=/.{x-4.2087835434620855`,y-2.3329237979334967`,z1};ShowContourPlot3D[{0.236967-1.28205-2z+4.78==0,0.10101+0.204082-2z-0.9==0},{x,-6,6},{y,-6,6},{z,-6,7},ContourStyleOpacity[0.2],MeshFalse],ParametricPlot3D-0.0006706642455506794`
2
x
2
y
2
x
2
y
Grad[F[x,y,z],{x,y,z}]
Norm[Grad[F[x,y,z],{x,y,z}]]
Grad[G[x,y,z],{x,y,z}]
Norm[Grad[G[x,y,z],{x,y,z}]]
2
x
2
y
2
x
2
y
2.229163`*^6+3.71533`*^7z
,-0.0012987357269572712`2.320327`*^6+906380.`z
,z,-0.0006706642455506794`2.229163`*^6+3.71533`*^7z
,0.0012987357269572712`2.320327`*^6+906380.`z
,z,0.0006706642455506794`2.229163`*^6+3.71533`*^7z
,-0.0012987357269572712`2.320327`*^6+906380.`z
,z,0.0006706642455506794`2.229163`*^6+3.71533`*^7z
,0.0012987357269572712`2.320327`*^6+906380.`z
,z,{z,-5,5},PlotStyleThick,Graphics3D[{Black,Ball[{-4.2087835434620855`,-2.3329237979334967`,1},0.2]}],Graphics3D[{Brown,Point[{-4.2087835434620855`,-2.3329237979334967`,1}],Arrowheads[.05],Arrow[Tube[{{-4.2087835434620855`,-2.3329237979334967`,1},{-4.2087835434620855`,-2.3329237979334967`,1}+5σ}]]}],Graphics3D[{Blue,Point[{-4.2087835434620855`,-2.3329237979334967`,1}],Arrowheads[.05],Arrow[Tube[{{-4.2087835434620855`,-2.3329237979334967`,1},{-4.2087835434620855`,-2.3329237979334967`,1}+5ρ}]]}],BoxRatiosAutomaticσ.ρOut[]=
Considering that we do not use all decimals in the equations of the elements of the family, the result can be considered as zero, the surfaces are orthogonal.

