0
$\begingroup$

I am struggling on defining the integration limits of a triple integral of an oblique truncated tetrahedron.

Let's get more into the details:

I have a standard tetrahedron in a {x,y,z} coordinate system. Vertices coordinates are:

coords={{0,0,0},{1,0,0},{0,1,0},{0,0,1}}

And a generic plane with null component along the y direction intersecting it. Plane equation will be something like x = a z + b, so:

ThePlane = a z + b

In which a and b may have any Real value.

I wanna integrate a generic function f(x,y,z) over the region defined by the intersection of the standard tetrahedron and the plane defined above.

For example, to evaluate the volume of the region part between {0,0,0} and ThePlane, I was trying to implement something like:

Integrate[1,{z,0,1},{y,0,1-z},{x,0,a z + b}]

But this is clearly uncorrect, since x should also be "topped" by the plane x=1-z-y.

So, trying the other way around, the volume of the region part between ThePlane and the vertex {1,0,0} should be something like:

Integrate[1,{z,0,1},{y,0,1-z},{x,a z + b,1}]

But this is still wrong.

So, how should the integration limits be defined in order to correctly describe the region?

$\endgroup$
2
  • $\begingroup$ A plane with null component along the y axis would be the x-z plane. One side of your tetrahedron lies in this plane. Therefore, x=a z+b is not a plane but a line. $\endgroup$ Commented Jun 18, 2023 at 19:09
  • $\begingroup$ Sorry, I meant a plane having null normal with respect to the y-axis. For example, the I was considering the plane: 0.16 x - 0.02 z - 0.03=0. $\endgroup$
    – thef
    Commented Jun 18, 2023 at 19:27

1 Answer 1

1
$\begingroup$
  • The hyperplane is 0.16 x - 0.02 z - 0.03=0 which can be write as {.16, 0, .02}.{x,y,z}==.03 and the two sides halfspace are {.16, 0, .02}.{x,y,z}<=.03 and {.16, 0, .02}.{x,y,z}>=.03
Clear[truncated1, truncated2];
coords = {{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}};
tetra = Tetrahedron[coords];

then

truncated1 = 
  ImplicitRegion[{{.16, 0, .02} . {x, y, z} <= .03 , {x, y, 
      z} ∈ tetra}, {x, y, z}];
truncated2 = 
  ImplicitRegion[{{.16, 0, .02} . {x, y, z} >= .03, {x, y, 
      z} ∈ tetra}, {x, y, z}];
{Integrate[1, {x, y, z} ∈ truncated1], 
 Integrate[1, {x, y, z} ∈ truncated2]}

Or

Clear[truncated1, truncated2];

truncated1 = 
  RegionIntersection[tetra, 
   HalfSpace[{.16, 0, .02}, .03]];
truncated2 = 
  RegionIntersection[tetra, 
   HalfSpace[-{.16, 0, .02}, -.03]];
{Region[truncated1], Region[truncated2]}
{Integrate[1, {x, y, z} ∈ truncated1], 
 Integrate[1, {x, y, z} ∈ truncated2]}

{0.0644996, 0.102167}.

  • Animation
Manipulate[
 Show[Region[Hyperplane[{.16, 0, .02}, c], 
   BaseStyle -> Directive[Green, Opacity[.2]]], 
  Region[RegionIntersection[Tetrahedron[coords], 
    HalfSpace[-{.16, 0, .02}, -c]], BaseStyle -> Red], 
  Region[RegionIntersection[Tetrahedron[coords], 
    HalfSpace[{.16, 0, .02}, c], BaseStyle -> Blue]], 
  PlotRange -> 1], {c, 0.001, .15}]

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.