Twierdzenie Du Faya

Marek Giebułtowski
IV rok fizyki
Wydział FAIS
Uniwersytet Jagielloński
Kraków 2010
mgiebu@gmail.com

Wstęp: historia, treść twierdzenia, uogólnienia

Du Fay – francuski matematyk żyjący w XVIII wieku; wykazał poniższe twierdzenie.

Różnica pól pięciokąta wpisanego i opisanego 
na danym okręgu równa się polu pięciokąta 
foremnego wpisanego w okrąg o średnicy równej bokowi pięciokąta opisanego.

Poniżej zaprezentowane zostanie sprawdzenie twierdzenia du Faya oraz jego uogólnienia.
1. Analogiczne twierdzenia dla innych wielokątów foremnych. 
2. W dany wielkokąt foremny wpisuje się okrąg, następnie w okrąg wpisuje się kolejny wielokąt i tak wiele razy. Wyliczono rozmiar wielokąta foremnego o polu równym różnicy pól największego i najmniejszego wielokąta.
3. Konsktrukcja koła o polu równym różnicy pól kół wpisanego do i opisnego na wielokącie.
4. Uogólnienie problemu na powierzchnię wielościanów foremnych wpisywanych w sfery.

(* Obliczenie współrzędnych punktu *)
α=N[Cos[π/5.] ];
ϕ=1;(* Mod[1,2];*)
lop=Table[{Cos[π *(2i+ϕ)/5],Sin[π *(2i+ϕ)/5]},{i,0,5}]; 
lw=Table[α{ Cos[π *(2i)/5], Sin[π *(2i)/5]},{i,0,5}];
S=(lop[[5]]+lop[[1]])/2;
bok=(lop[[5]]-lop[[1]]);
rs=Sqrt[bok.bok]/2;
ls=Table[ rs{Sin[π(2 k)/5],Cos[π(2 k)/5]}+S,{k,0,5}];

LL={S,lop[[1]],lw[[2]],ls[[5]],S};
L={Black,Thick,Line[LL]};
P={Red,PointSize[Large],Point[LL],Point[ls[[2]] ]};
K = {Thick,Purple,Dashed,Line[{ls[[5]],ls[[1]],ls[[2]]}]};
W = {Opacity[0.5],Orange,Polygon[lop],Opacity[1],White, Polygon[lw],Opacity[0.5],Gray,Polygon[ls]};
Graphics[{W,L,P,K},PlotLabel->"Twierdzenie Du Faya - pierwotna wersja",FrameStyle->Thick,Background->White]

Du Fay przedstawił dowód geometryczny:
Kąt zaznaczony przerywaną linią, ze względu na podobieństwo pięciokątów, jest równy rozwartemu kątowi czworokąta (ciągła linia, prawe górne załamanie).
Pięciokąt foremny można podzielić na trójkąty równoramienne o wierzchołku w środku symetrii pięciokąta i przeciwległym boku – boku pięciokąta (szare pole wewnątrz czworokąta).
Suma kątów przy przeciwległym boku takiego trójkąta jest równa kątowi między bokami pięciokąta (trójkąt równoramienny).
Suma kątów trójkąta to π, więc suma kątów między bokami pięciokąta i kąta przy środku symetrii pięciokąta to też π.
Boki czworokąta przy szarych i pomarańczowych polach są równe (wynika to z symetrii pięciokątów foremnych).
Rozważany czworokąt jest rombem.
Przekątna dzieli pole rombu na pół.
Szare pole wewnątrz czworokąta jest równe polu pomarańczowemu.
Podobne rozumowanie można przeprowadzić dla każdej z 1/5 części figury szarej i pomarańczowej. 
Odpowiednie trójkąty (w obrębie tej samej figury) są przystające, co kończy dowód.

Analityczne rozwiązanie problemu

Pole n-kąta foremnego to (R^2) n sin(2π/n), gdzie n to liczba boków, a R promień okręgu opisanego.
Promień okręgu wpisanego, dotykający bok  wielokąta, jest prostopadły do tego boku.
Promień okręgu wpisanego rw wynosi R sin(2π/2n).
Promień okręgu opisanego na boku wielokąta (1/2 boku) wynosi R cos(2π/2n).
Różnica pól wielokątów to (R^2)n sin(2π/n)1 -(R^2) (sin^2)(2π/2n) n sin(2π/n)=n sin (2 π/n) (R^2)(cos^2)(2π/2n) = n sin(2π/n)(rw^2) = Pole wielokąta wpisanego w okrąg, opisanego na boku.

Obliczenia

Generownie wielokątów o polu równym różnicy pól wielokątów

(* W wielokąt foremny wpisywany jest okrąg, w okrąg wpisywany wielokąt i tak na zmianę. *)
Manipulate[
T=2r0;
α=N[Cos[π/n]];(* Promień okręgu opisanego/promień okręgu wpisanego *)
rn=r0*α^p;
ϕ=Mod[p,2];

(* Punkty, listy punktów, promienie okręgów *)
l1=Table[{r0*Cos[2π k/n],r0 *Sin[2π k/n]},{k,0,n}]; 
ln=Table[{rn Cos[π *(2k+ϕ)/n],rn Sin[π *(2k+ϕ)/n]},{k,0,n}];(* dla nieparzystych P *)
l3 ={{rn α,0}};
ll =Join[l1,{{r0,0}},l3,ln,l3];
lo = Table[{Circle[{0,0},r0*α^k]},{k,1,p}];
rr=Sqrt[r0^2-rn^2];
lr=Table[{-rr*Cos[2π k/n]+T,rr *Sin[2π k/n]},{k,0,n}];
bok= l1[[1]]-l1[[2]];
rb=Sqrt[bok.bok] /2;
lb =Table[{rb*Cos[2π k/n]+T,rb *Sin[2π k/n] },{k,0,n}];

(* Liczenie pola we współrzędnych biegunowych *)
Pnr[n_,r0_]:=r0 r0 n Sin[2 π /n]/2;
Pola ={Pnr[n,r0]-Pnr[n,rn],Pnr[n,rr],Pnr[n,rb]};
Pola=Join[Pola,{Pola[[1]]-Pola[[3]]}] ;
(* Alternatywny sposób liczenia pola *)
P2xy={0.,0.,0.,0.};
Ptr[P1_,P2_]:=P2[[1]] P1[[2]]-(P2[[1]] P2[[2]] + P1[[1]] P1[[2]] + (P2[[1]]- P1[[1]])(P1[[2]]-P2[[2]]))/2;
For[i=1,i≤Length[l1]-1,i++,
P2xy[[1]]=Ptr[l1[[i]],l1[[i+1]]]+P2xy[[1]];
P2xy[[2]]=Ptr[lr[[i]],lr[[i+1]]]+P2xy[[2]];
P2xy[[3]]=Ptr[lb[[i]],lb[[i+1]]]+P2xy[[3]];
P2xy[[4]]=Ptr[ln[[i]],ln[[i+1]]]+P2xy[[4]];
];
P2xy=Abs[P2xy];
P2xy[[1]]=P2xy[[1]]-P2xy[[4]];(* Pole figury niewypukłej *)
P2xy[[4]]=P2xy[[1]]-P2xy[[3]];(* Różnica pól *)

(* Linie i wielokąty sprawdzające równość pól *)
spr2={Purple,Line[{{0,rr},{T,rr}}],Line[{{0,-rr},{T,-rr}}],Circle[{T,0},rr],{Opacity[0.5],Polygon[lr]}};
spr = {Red,Line[{{0,rb},{T,rb}}],Line[{{0,-rb},{T,-rb}}],Circle[{T,0},rb],{Opacity[0.5],Polygon[lb]}};
fig ={ Orange,Rotate[Polygon[ll],π/n,{0,0}],Circle[{0,0},r0]};

(* Generowanie rysunku *)
Graphics[{fig,Red,lo,spr,spr2}]

(* Suwaki *)
,{{n,4,"Liczba boków"},3,30,1,2},{{p,1,"Liczba kół wpisanych"},1,10,1},{{r0,1,"Promien koła opisanego"},0.1,2}
,FrameLabel->Style["Porównanie pól wielokątów",{Bold,Large}]
,LabelStyle->{Blue}
]

(*Komentarz*)
Print["Pole Figury wklęsłej (pomarańcz):\t",Pola[[1]],"\nPole równoważnika (fiolet):\t",Pola[[2]],"\nPole figury wpisenej w koło o średnicy równej bokowi (czerwień):\t",N[Pola[[3]] ],"\nRóżnica pola pomarańczowego i czerwonego:\t",Pola[[4]],"\n\nBłędy liczenia pola",P2xy-Pola ]

Konstrukcja koła o polu równym polu pierścienia

Manipulate[(* Pierścień utworzono z okręgów wpisanego i opisanego na danym wielokącie*)
 T = 2 r0;
 α = N[Cos[π/n]];(* stosunek promieni okregów opisanego/wpisanego *)
 rn = r0*α;

 (* Punkty, listy punktów, promienie okręgów *)
 l1 = Table[{r0*Cos[2 π k/n], r0 *Sin[2 π k/n]}, {k, 0, n}]; 
 O3 = (l1[[1]] + l1[[2]])/2;
 O1 = {0, 0};
 bok = l1[[1]] - l1[[2]] ;
 rb = Sqrt[bok.bok] /2;
 lo = {{Orange, Disk[O1, r0]}, {White, Disk[O1, rn]}, {Gray, Opacity[0.5], Disk[O3, rb]}};
  
 (* Liczenie pola powierzchni *)
 Pola = {π (r0^2 - rn^2), π rb^2};
 Pola = Join[Pola, {Pola[[1]] - Pola[[2]]}];
 
 (* Części rysunku *)
 fig =  { Black, Line[l1]};
 If[Pola[[3]] == 0, s2 = "\nPola identyczne", s2 = StringJoin[" \nlogΔP=", ToString[Log10[Abs[Pola[[3]]]   ] ]]];
 s = StringJoin[{"(Subscript[P, ring])=", ToString[Pola[[1]]], "; (Subscript[P, disk])=", ToString[N[Pola[[2]]] ], s2 } ];

(* Rysunek *)
 Graphics[{lo, fig}, PlotLabel -> s]

 (* Suwaki, opcje *)
 , {{n, 4, "Liczba boków"}, 3, 25, 1}
,{{r0, 1, "Promien koła opisanego"}, 0.1, 2}
 , FrameLabel -> Style["Porównanie pól kół", {Bold, Large}]
 , LabelStyle -> {Blue}
 ]

Twierdzenie Du Faya w trzech wymiarach

Trio[r_]:={r,r,r};Graphics3D[{ 
{Opacity[0],Cuboid[Trio[-1],Trio[1]]}
,{Yellow,Opacity[0.1],Sphere[Trio[0]]}
,{Orange,Opacity[0.3],Cuboid[Trio[-1/Sqrt[3]],Trio[1/Sqrt[3]]]}
,{Gray,Opacity[0.1],Rotate[Cuboid[Trio[1-2 Sqrt[2/3]],Trio[1]],Pi/3,{1,1,1}]}
,{Pink,Thick,Line[{Trio[1-2 Sqrt[2/3]],Trio[1],{1,-1,-1}}]}
}
,Boxed->False]

{"Porównanie przekątnej ściany dużego sześcianu i przekątnej 3D średniego sześcianu",Sqrt[3*(2 Sqrt[2/3])^2],2Sqrt[2]}

{"Pole Opisanego - pole wpisanego - pole średniego=",6*2^2-6*Sqrt[4*2/3]^2-6*Sqrt[4/3]^2}

Uogólnienie na inne bryły

Twierzdzenie Du Faya można uogólnić na inne wielościany foremne
(Subscript[R, o]) - Promień sfery opisanej na bryle. Odległość wierzchołek - środek symetrii  O1
(Subscript[R, w]) - Promień sfery wpisanej w wielościan. Odległość ściana - 01
(Subscript[R, s]) - Promień sfery opisanej na ścianie. Odległość środek ściany 02 i wierzchołek
Foremność -> Wszystkie wierzchołki jednakowo odległe od O1 oraz dla danej ściany jednakowo odległe od O2 ->
Znajdują się one na okręgu prostopadłym do {O1,O2}≡Rw ⟹ Rw ⊥ Rs

Można zastosować twierdzenie Pitagorasa (Subscript[R, w]) + ((Subscript[R, s])^2)=((Subscript[R, o])^2)
Pola dla klasy figur podobnych są wprost proporcjonalne do kwadratu rozmiaru np. kwadratu promienia okręgu opisanego na figurze (wielokącie, wielościanie, kole, sferze).
Przemnażając (Subscript[R, w]) + ((Subscript[R, s])^2)=((Subscript[R, o])^2) przez odpowiedni współczynnik proporcjonalności C, otrzymuje się:
C(Subscript[R, w]) + C ((Subscript[R, s])^2)=((Subscript[CR, o])^2)
(Subscript[P, s]) +   (Subscript[P, w])  = (Subscript[P, o]), gdzie
(Subscript[P, o]) –  pole największej figury wewnątrz okręgu (sfery) opisanego,
(Subscript[P, w]) – pole największej figury wewnątrz okręgu wpisanego,
(Subscript[P, s]) – pole największej figury węwnątrz okręgu opisanego na wierzchołkach tego samego boku (ściany) figury.

Uogólnienie na  pola  sfery

Manipulate[
Rs=Sqrt[(Ro^2)-(Rw^2)];
SO={Opacity[0.3],Sphere[{0,0 ,-Rw},Ro]};
SW ={Opacity[0.5],Sphere[{0,0,-Rw},Rw]};
SS ={Opacity[0.3],Sphere[{0,0,0},Rs]};
(*Obw= {(x^2)+(y^2)==1,z==0};*)
L={Thick,Line[{{Rs,0,0},{-Rs,0,0}}],Line[{{0,Rs,0},{0,-Rs,0}}],
Line[{{Rs,0,-2Rw},{-Rs,0,-2Rw}}],Line[{{0,Rs,-2Rw},{0,-Rs,-2Rw}}],
Line[{{0,0,0},{0,0,-2Rw}}] };
Graphics3D[{SO,SW,SS,L}]
,{{Rw,0.7,"Promień okręgu wpisanego"},0.1,3}
,{{Ro,1,"Promień okręgu opisanego"},Rw,3 Rw}
, FrameLabel -> Style["Pole największej sfery równa się sumie pól dwóch mniejszych\n
Linie są szkieletem pewnej bryły", {Bold}]
]

Literatura

Kubit Paweł ,,Twierdzenie Du Faya'', Delta, nr 6 (2003) 3-4.