In[]:=
ConfocalParaboloidsFamily::usage="If a > b, the equation paraboloids​
2
x
a-u
+
2
y
b-u
= 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 ";
Animation:
In[]:=
Manipulatea0=9;b0=4;​​zSurface[a_?NumericQ,b_?NumericQ,u_?NumericQ][x_,y_]:=​​
u
2
+
2
x
2(a-u)
+
2
y
2(b-u)
;​​​​surfaceType[a_?NumericQ,b_?NumericQ,u_?NumericQ]:=Which[​​u<b,"Elliptic paraboloid",​​b<u<a,"Hyperbolic paraboloid",​​True,"Another family of elliptical paraboloids"];​​​​Show​​Plot3D[​​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},BoxedFalse,AxesOrigin{0,0,0},BoxRatiosAutomatic,​​PlotLabel->Row"Confocal family: ",​​TraditionalForm
2
x
a0-u0
+
2
y
b0-u0
==2z-u0,​​" (",surfaceType[a0,b0,u0],")",​​ImageSize->Large​​,​​{{u0,-1.0},-3,10}​​
Out[]=
​
u0
Verification with two elements:
In[]:=
F[x_,y_,z_]:=0.236967
2
x
-1.28205
2
y
-2z+4.78;​​G[x_,y_,z_]:=0.10101
2
x
+0.204082
2
y
-2z-0.9;​​Solve[{F[x,y,z]==0,G[x,y,z]==0},{x,y}]​​
Out[]=
x-0.000670664
2.22916×
6
10
+3.71533×
7
10
z
,y-0.00129874
2.32033×
6
10
+906380.z
,x-0.000670664
2.22916×
6
10
+3.71533×
7
10
z
,y0.00129874
2.32033×
6
10
+906380.z
,x0.000670664
2.22916×
6
10
+3.71533×
7
10
z
,y-0.00129874
2.32033×
6
10
+906380.z
,x0.000670664
2.22916×
6
10
+3.71533×
7
10
z
,y0.00129874
2.32033×
6
10
+906380.z

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
2
x
-1.28205
2
y
-2z+4.78;​​G[x_,y_,z_]:=0.10101
2
x
+0.204082
2
y
-2z-0.9;​​σ=
Grad[F[x,y,z],{x,y,z}]
Norm[Grad[F[x,y,z],{x,y,z}]]
/.{x-4.2087835434620855`,y-2.3329237979334967`,z1};​​ρ=
Grad[G[x,y,z],{x,y,z}]
Norm[Grad[G[x,y,z],{x,y,z}]]
/.{x-4.2087835434620855`,y-2.3329237979334967`,z1};​​​​ShowContourPlot3D[{0.236967
2
x
-1.28205
2
y
-2z+4.78==0,0.10101
2
x
+0.204082
2
y
-2z-0.9==0},{x,-6,6},{y,-6,6},{z,-6,7},ContourStyleOpacity[0.2],MeshFalse],ParametricPlot3D-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,0.0006706642455506794`
2.229163`*^6+3.71533`*^7z
,0.0012987357269572712`
2.320327`*^6+906380.`z
,z,{z,-5,5},PlotStyleThick,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ρ}]]}],BoxRatiosAutomatic​​σ.ρ
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.