Thank you for the interesting links about the Möbius strip! I will try to look into this question of area more—by some conventions, the lack of orientability of the strip means it doesn't have a well-defined area, but I think that that does feel a bit like a copout physically.
For example, the following code will return Undefined
quite quickly:
r[u_, v_] := {(5 + u Cos[v/2]) Cos[v], (5 + u Cos[v/2]) Sin[v],
u Sin[v/2]}
SurfaceArea[
Region@ParametricRegion[r[u, v], {{u, -1, 1}, {v, 0, 2 \[Pi]}}]]
However, I have found a nice way to do this very quickly while recapturing your result:
rN[u_, v_] := {(5. + u Cos[v/2]) Cos[v], (5. + u Cos[v/2]) Sin[v],
u Sin[v/2.]}
RegionMeasure[
Region@ParametricRegion[rN[u, v], {{u, -1, 1}, {v, 0, 2 \[Pi]}}]]
We can use AbsoluteTiming
here to see how long it took from my pressing shift+enter to getting a result:
In[16]:= AbsoluteTiming@
RegionMeasure@
Region@ParametricRegion[rN[u, v], {{u, -1, 1}, {v, 0, 2 \[Pi]}}]
Out[16]= {2.27812, 62.9377}
Generally, RepeatedTiming
will give you more accurate timing results, but it is repeated so for a (possibly) lengthy calculation, you really might not want to repeat it.
I do have some other suggestions which are also much faster—the key point seems to be using the correct simplification assumptions and then doing a numerical integral, regardless of where you make the "conversion" to numerics:
In[42]:=
rN[u_, v_] := {(5. + u Cos[v/2]) Cos[v], (5. + u Cos[v/2]) Sin[v],
u Sin[v/2.]}
integrandN =
FullSimplify[Norm[D[rN[u, v], u]\[Cross]D[rN[u, v], v]],
Assumptions -> {-1 <= u <= 1, 0 <= v <= 2 \[Pi]}];
AbsoluteTiming@NIntegrate[integrandN, {u, -1, 1}, {v, 0, 2 \[Pi]}]
Out[44]= {0.002396, 62.9377}
In[50]:=
r[u_, v_] := {(5 + u Cos[v/2]) Cos[v], (5 + u Cos[v/2]) Sin[v],
u Sin[v/2]}
integrand =
FullSimplify[Norm[D[r[u, v], u]\[Cross]D[r[u, v], v]],
Assumptions -> {-1 <= u <= 1, 0 <= v <= 2 \[Pi]}];
AbsoluteTiming@NIntegrate[integrand, {u, -1, 1}, {v, 0, 2 \[Pi]}]
Out[52]= {0.002543, 62.9377}