朝食後の課題

多角形の頂点の座標から重心の座標を算出するプログラムを自作せよ。
即ち、Wolfram言語のRegionCentroidと同じ機能の関数を自作せよ。

Area関数も使わずに自作した例

Wolfram Language 14.0.0 Engine for Microsoft Windows (64-bit)
Copyright 1988-2023 Wolfram Research, Inc.

In[1]:= ABC2S[abc_] :=(
{a,b,c}=abc;
{p,q}=Flatten@{a-c};
{r,s}=Flatten@{b-c};
Abs[p s - q r]/2
)

In[2]:=
In[2]:= regioncentroid[p_]:=(
p0=Mean@p;
pn=Length@p;
tri=Table[{p0,p[[i]],p[[i+1]]},{i,1,pn-1}];
S=Total[ABC2S /@ tri];
Sum[Mean[tri[[i]]]*ABC2S[tri[[i]]]/S,{i,1,pn-1}]
)

In[3]:=
In[3]:= Table[{Re[(1+I/t)^t],Im[(1+I/t)^t]},{t,-100,100,0.0011}] // regioncentroid

Out[3]= {0.924174, 0.538189}

自作できることが確認できたのでWolframのRegionCentroid関数を気持ちよく使うことができる。
Wolfram言語の使える東大卒やエリート高校生による最適化を希望します。