A question regarding "DiscretizeGraphics"

As I have mentioned in my comment, in order to define a torus with a volume, you need an inequality. Just like you would define the interior of a sphere: $x^2+y^2+z^2<R^2$. The interior of the torus is defined by an inequality $\left(R - \sqrt{x^2 + y^2}\right)^2 + z^2 < r^2 $, where R and r are the major and minor radii, respectively.

tor[R_, r_, x_, y_, z_] := (R - Sqrt[x^2 + y^2])^2 + z^2 < r^2

Volume@DiscretizeRegion[
  ImplicitRegion[
   tor[2, 1, x, y, z], {x, y, z}], {{-3, 3}, {-3, 3}, {-3, 3}}]
(*38.30219*)

The formula for interior volume of a torus reads $ V = 2 \pi^2 R r^2.$ In our case the volume would be roughly $V\approx $39.5.

It seems that Volume could be applied for 'derived regions' (like tor, for instance) yet it seems that it works only for selected types of areas.


I'm not 100% sure on this, but I think you can construct a torus as a Cartesian product of a disk and a circle. Unfortunately you can't visualise it because the embedding dimension is 4, but the volume seems to come out correct:

Volume @ RegionProduct[Disk[{0, 0}, 1], Circle[{0, 0}, 2]]

(*  4 π^2  *)

or with symbolic radii:

Volume @ RegionProduct[Disk[{0, 0}, r], Circle[{0, 0}, R]]

(* 2 π^2 r^2 R *)