Finding volume of a segment

Let you have a vector ${\bf p}$, which is perpendicular to the plane and an ellipsoid with axes $(a,b,c)$. The illustration (2D for simplicity):

enter image description here

Mathematica can calculate the numeric value of the clipped volume easily

Nvolume[p_, abc_] := Volume[RegionIntersection[
   ImplicitRegion[{x, y, z}.N[p] > 0, {x, y, z}], 
   Ellipsoid[N[abc] {1, 0, 0}, N[abc]]]]

p = RandomReal[{-1, 1}, 3];
abc = RandomReal[{1, 2}, 3];

Nvolume[p, abc]
(* 16.2584 *)

Mathematica cannot derive the general formula, but it isn't difficult to derive manually. Let us introduce new coordinates

$$ x' = x/a, \quad y' = y/b, \quad z' = z/c. $$

In these coordinates the ellipsoid becomes the unit ball

enter image description here

The Jacobian of this transformation is $J=abc$. In the new coordinates the normalized perpendicular vector is

$$ {\bf n} = \frac{(ap_x,bp_y,cp_z)}{\sqrt{a^2p_x^2+b^2p_y^2+c^2p_z^2}}. $$

Now it is simple to integrate the volume along the axis $\xi$ because the cross section is a circle

$$ V=abc\int_{-n_x}^1\pi(1-\xi^2)d\xi = \pi abc \left(\frac{2}{3} + n_x - \frac{n_x^3}{3}\right) $$

volume[p_, abc_] := π Times @@ abc (2/3 + # - #^3/3) &@@ Normalize[abc p]

volume[p, abc]
(* 16.2584 *)

The result is the same.


Update: OP asks also about the area of the intersection. It is also an interesting question.

Mathematica region functionality is very powerful for numerical computations:

Narea[p_, abc_] := Area[RegionIntersection[ImplicitRegion[{x, y, z}.N[p] == 0, {x, y, z}], 
   Ellipsoid[N[abc] {1, 0, 0}, N[abc]]]]

Narea[p, abc]
(* 6.20243 *)

The analytic formula can be derived using the Dirac $\delta$-function
\begin{multline} A = \int_\text{ellipse} \delta \left({\bf r}\cdot\frac{{\bf p}}{p}\right)d{\bf r} = abcp \int_\text{unit ball} \delta \left(x'ap_x+y'bp_y+z'cp_z\right)d{\bf r}' = \\ \frac{abcp}{\sqrt{a^2p_x^2+b^2p_y^2+c^2p_z^2}}\int_\text{unit ball} \delta \left({\bf r}'\cdot{\bf n}\right)d{\bf r}'. \end{multline} It is the cross section of the unit ball. Hence \begin{equation} A = \frac{\pi abcp (1-n_x^2)}{\sqrt{a^2p_x^2+b^2p_y^2+c^2p_z^2}}. \end{equation}

area[p_, abc_] := π Times @@ abc (1 - #^2) & @@ Normalize[abc p] Norm[p]/Norm[abc p];

area[p, abc]
(* 6.20243 *)

Visualization of the @ybeltukov's answer

This is not an answer, just visualization of ybeltukov's answer.

Step 1 direction3D for direction handling.

opt1 = Sequence[Orange, Thick, Arrowheads[.15]];
opt2 = Sequence[PlotRange -> 1, Ticks -> None, Boxed -> False,
   ViewPoint -> {1, 1, 4}, ViewVertical -> {0, 1, 0}, 
   PlotRegion -> {{-.2, 1.05}, {-.2, 1.05}}, ImageSize -> 60];

direction3D[Dynamic[d_]] := DynamicModule[
  {$p = {0, π/2}, dd},
  LocatorPane[Dynamic[$p, ($p = #; dd @@ #) &],
   Graphics3D[
    {{opt1, Dynamic@Arrow[Tube[{{0, 0, 0}, d}, .04]]},
     {Dynamic@Cylinder[{{0, 0, 0}, d/100}]}}, opt2
    ], {{-π, π}, {π, 0}},Appearance -> None, ImageMargins -> 0
   ], Initialization :> (d = {1, 0, 0};
  dd[t_, s_] := (d = {Sin[t] Sin[s], Cos[s], Cos[t] Sin[s]}))
  ]

Step 2 ybeltukov's result.

volume[p_, abc_] := π Times @@ abc (2/3 + # - #^3/3) & @@Normalize[abc p]

step3 visualization

opts = Sequence[Boxed -> False, Axes -> True,
   ViewPoint -> {1, 1, 4}, ViewVertical -> {0, 1, 0},
   AxesOrigin -> {0, 0, 0}, PlotRange -> {{-3, 3}, {-2, 2}, {-2, 2}}];

Manipulate[
 elp = Graphics3D[{Opacity[.7], Orange, 
    Ellipsoid[{0, 0, 0}, {a, b, c}],
    Opacity[1], Black, 
    Text[Style[#, 16, Bold], #2] & @@@ {{"x", {3.1, 0, 0}}, {"y", {0,  2.2, 0}}, {"z", {0, 0, 2.2}}}
    }, opts];
 pln = ContourPlot3D[
   p.{x + a, y, z} == 0, {x, -5, 5}, {y, -5, 5}, {z, -5, 5},
   Mesh -> None,
   ContourStyle -> {Opacity[.5], Darker@Green}];
 Show[elp, pln, Graphics3D[{
    Text[Style[
      StringJoin["V= ", ToString[N@volume[p, {a, b, c}]/Pi], "\[Pi]"],
       20], {2, 2, 0}]}]],
 Pane[Row[{
    Pane[direction3D[Dynamic[p]], ImageMargins -> {{0, 40}, {0, 0}}], 
    Pane[Column[{Control@{{a, 2}, 1, 2}, Control@{b, 1, 2}, 
       Control@{c, 1, 2}}]]}]]]

enter image description here


Functions for generating ellipsoid $x^2/a^2+y^2/b^2+z^2/c^2=1$ and plane through point $\vec{p}$ with normal $\vec{n}$, i.e $\vec{n}\cdot(\vec{r}-\vec{p})=0$

el[a_, b_, c_, x_, y_, z_] := x^2/a^2 + y^2/b^2 + z^2/c^2
pl[n_, p_, x_, y_, z_] := z /. First@Solve[n.({x, y, z} - p) == 0, z]

Using as an example: a=1, b=2,c=3 and normal {1,0,par}:

Manipulate[
 Column[{Show[
    Plot3D[Evaluate[pl[{1, 0, par}, {-1, 0, 0}, x, y, z]], {x, -3, 
      3}, {y, -3, 3}, Mesh -> None, PlotStyle -> Opacity[0.5]], 
    RegionPlot3D[
     Evaluate[
      reg = (el[1, 2, 3, x, y, z] < 1 && 
         pl[{1, 0, par}, {-1, 0, 0}, x, y, z] > z)], {x, -3, 
      3}, {y, -3, 3}, {z, -3, 3}, BoxRatios -> {1, 1, 1}, 
     Mesh -> False, PlotStyle -> Red, PerformanceGoal -> "Quality"], 
    RegionPlot3D[
     Evaluate[el[1, 2, 3, x, y, z] < 0.9], {x, -3, 3}, {y, -3, 
      3}, {z, -3, 3}, PlotStyle -> Directive[Blue, Opacity[0.2]], 
     BoxRatios -> {1, 1, 1}, Mesh -> None], 
    PlotRange -> Table[{-3, 3}, {3}], ImageSize -> 400],
   StringForm["Volume of red region:`1`", 
    NumberForm[RegionMeasure[ImplicitRegion[reg, {x, y, z}]], 3]],
   StringForm["Volume of ellipsoid:`1`", NumberForm[N@4 Pi 1 2 3/3, 3]]
   }]
 , {par, 0.5, 4}]

enter image description here

UPDATE

In relation to comment:

rot[a_, p_, x_, y_, z_] := pl[{Sin[a], 0, Cos[a]}, p, x, y, z]

This interactive graphic shows relation of normal to plane and what I understand is the desired angle from horizontal plane:

Manipulate[
 Show[RegionPlot3D[
   Evaluate[el[1, 2, 3, x, y, z] < 1], {x, -4, 4}, {y, -4, 4}, {z, -4,
     4}, Mesh -> False, PlotStyle -> Opacity[0.3]], 
  Plot3D[rot[a Degree, {-1, 0, 0}, x, y, z], {x, -4, 4}, {y, -4, 4}, 
   Mesh -> False, PlotStyle -> {Blue, Opacity[0.5]}], 
  Graphics3D[{{Arrow[2 {{0, 0, 0}, {0, 0, 1}}]}, {Red, 
     Arrow[2 {{0, 0, 0}, {Sin[a Degree], 0, Cos[a Degree]}}]
     },
    {Arrow[{{-1, 0, 0}, {1, 0, 0}}]},
    {Arrow[{{-1, 0, 0}, {-1 + 2 Cos[a Degree], 0, -2 Sin[a Degree]}}]}
    }]], {a, 0, 90, Appearance -> "Labeled"}]

enter image description here