1
$\begingroup$

I'm trying to calculate the area of intersection of a cone and a disk which is a circular slice of the cone rotated through a particular angle about the apex of the cone. I've defined the cone using a set of inequalities with ImplicitRegion and have found a parametrization for the circle. I'm confident I have found the right equations because plotting RegionUnion produces what I expect to see, for example for the disk rotated through 1 degree:

R = 1.4;
d = 30;
T = Pi/180;
cone = ImplicitRegion[{x^2 + y^2 <= (z Tan[R/d])^2,0 <= z < 1.2*d}, {x, y, z}];
disk = ParametricRegion[{d Sin[T] - r Cos[T] Cos[t], r Sin[t],d Cos[T] - r Cos[t] Sin[T]}, {{r, 0, 1.42}, {t, 0, 2 Pi}}];
Region[cone]
Region[disk]
Region[RegionUnion[cone, disk]]

cone

disk

union of cone and disk

However, I can't get it to plot the intersection or calculate the area of the intersection:

Region[RegionIntersection[cone, disk]]

produces the output

RegionIntersection output

and asking it for the area of intersection,

Area[RegionIntersection[cone, disk]]

gives the output: Area output

Can anyone help me figure out why this isn't working and how to calculate the area of intersection?

$\endgroup$
1
$\begingroup$

Is this what you need?

In[7]:= RegionMeasure[RegionIntersection[cone, disk]]

Out[7]= 4.78199
$\endgroup$
  • 1
    $\begingroup$ Cannot reproduce it, obtaing Throw::sysexc: Uncaught SystemException returned to top level. Can be caught with Catch[[Ellipsis], _SystemException]. SystemException["MemoryAllocationFailure"] in MMA 11.3. $\endgroup$ – user64494 Apr 8 '18 at 6:12
  • $\begingroup$ I tried this in version 11.2. I'll try 11.3 tomorrow and file a bug report if I get the same error. $\endgroup$ – Sjoerd Smit Apr 8 '18 at 11:42
  • $\begingroup$ Don't trouble. I already submitted that. $\endgroup$ – user64494 Apr 8 '18 at 14:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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