momente şi schiţe de informatică şi matematică
To attain knowledge, write. To attain wisdom, rewrite.

Radicalul şi pătratul punctelor (faţă de un reper)

MetaPost | cardioidă | limbajul R
2018 oct

În manuale, găsim "interpretarea geometrică" a operaţiilor cu numere complexe. Aici construim (cu rigla şi compasul) radicalul şi ("inversând") pătratul unui punct:

Considerăm cercul unitar $|z|=1$, cu centrul $\mathsf{O}(0,0)$ şi $\mathsf{A}(1,0)$; fie $\mathsf{Q}$ intersecţia acestuia cu dreapta $\mathsf{PO}$, cu $\mathsf{O}$ între $\mathsf{P}$ şi $\mathsf{Q}$ – unde $\mathsf{P}(z)$ este punctul dat (cu afixul $z$).
Pe cercul de diametru $\mathsf{PQ}$ considerăm punctul $\mathsf{S}$ pentru care $\mathsf{SO}\perp\mathsf{PQ}$. Pentru înălţimea din vârful drept al triunghiului dreptunghic $\mathsf{PSQ}$, avem $\mathsf{SO}^2=\mathsf{OQ}\cdot\mathsf{OP}=1\cdot\mathsf{OP}=\mathsf{OP}$.
Prin urmare, imaginile lui $\sqrt{z}$ se află pe cercul de centru $\mathsf{O}$ şi rază $\mathsf{OS}$; intersectând acest cerc cu bisectoarea unghiului $\mathsf{AOP}$, găsim $\mathsf{R}(\sqrt{z})$ (iar simetricul lui $\mathsf{R}$ faţă de $\mathsf{O}$ ne va da $-\sqrt{z}$).

Invers - presupunând dat punctul $\mathsf{R}$, să construim punctul $\mathsf{P}$ ("pătratul punctului" dat):
trasăm dreapta $\mathsf{QOP'}$ pentru care $\mathsf{OR}$ este bisectoarea unghiului $\measuredangle{\mathsf{AOP'}}$, iar pe cercul cu centrul în origine şi raza $\mathsf{OR}$ considerăm punctul $\mathsf{S}$ pentru care $\mathsf{SO}\perp\mathsf{P'Q}$. Găsim $\mathsf{P}$ intersec­tând $\mathsf{QP'}$ cu perpendiculara în $\mathsf{S}$ pe $\mathsf{SQ}$ (cu "teorema înălţimii", avem $\small\mathsf{SO}^2=\mathsf{OQ}\cdot\mathsf{OP}=1\cdot\mathsf{OP}$ deci $\small\mathsf{OP}=\mathsf{OR}^2$). Având ca rază polară pătratul razei polare a lui $\mathsf{R}$ şi ca unghi polar, dublul unghiului polar al lui $\mathsf{R}$ - rezultă că $\mathsf{P}$ este într-adevăr, pătratul lui $\mathsf{R}$ (şi $\mathsf{R}$ este radicalul lui $\mathsf{P}$).

Precizăm că prin "pătratul/radicalul punctului" (sau "pătratul cercului") vizăm pătratul sau radicalul afixului punctului, faţă de un sistem de coordonate fixat (la urma urmelor, pentru "punct", "cerc", etc. avem nu numai figura şi definiţia din geometria lui Euclid, dar şi câte o anumită reprezentare numerică, pe care putem aplica diverse funcţii numerice).

Dar merită atenţie construcţia de mai sus? sau este "încă una" - artificială (şi care n-ar avea ce căuta pe lângă "interpretarea geometrică" standard)?
Încercăm să speculăm acestă construcţie pentru a demonstra că pătratul unui cerc care trece prin origine este o cardioidă. Dar nu vrem aici, să ne aventurăm: considerăm doar cazul unui cerc prin origine care are centrul pe semiaxa pozitivă $Ox$ (şi vom lua raza ca unitate de măsură).

Este foarte simplu să "verificăm" întâi afirmaţia printr-un program R; generăm cercul de centru $(r,0)$ şi rază $r$ prin $r(1+\mathsf{e}^{i\theta})$, unde $\theta$ este o secvenţă de valori unghiulare din $[0,2\pi]$; plotăm cercul şi apoi pătratul acestuia (eventual, putem reflecta situaţia pentru mai multe valori $r$, folosind mai multe panouri grafice):

theta <- seq(0, 2*pi, by=0.01)  # secvenţă progresivă de unghiuri polare
r <- 0.3  # raza cercului  (pe figură: 0.3, 0.5 şi 0.6)
circle <- r*(1 + exp(1i*theta))  # cercul centrat în (r,0) cu raza r
# setează "fereastra grafică", stabilind şi limitele absciselor şi ordonatelor:
    plot(c(circle, circle^2), type="n", asp=1); grid()
points(circle, type="l")  # trasează cercul
points(circle^2, type="l", col="blue")  # pătratul cercului (o cardioidă)

Bineînţeles că pentru a căuta soluţia am avut nevoie de o figură şi am reluat (cu rigla şi compasul) construcţia redată mai sus; dar apoi, pentru mai multă libertate (de exemplu privitor la alegerea punctului iniţial $\mathsf{R}$), am încropit un program de construcţie a figurii în MetaPost (a vedea [2]):

beginfig(1);  % (v. [2] pentru completarea şi compilarea programului)
    u = 3cm;  % unitatea de măsură
    ro = 1u;  % raza cercului
    phi = 70;  % măsura arcului iniţial A'R (în grade), pe cercul de diametru OA'
    pair O, A, A', R, R', T, T', S, P, Q;
    O = origin;  % O(0,0)
    A = ro*right;  % A(ro, 0)
    A' = 2A;  % A'(2*ro, 0)
    draw fullcircle scaled(2*abs(A)) shifted A 
         withpen pencircle scaled 0.5 withcolor .7blue;  %% cercul de diametru OA'
    R = A' rotatedaround(A, phi);  % defineşte R încât unghiul A'OR are măsura "phi"
    R' = R rotatedaround(A, phi);  % arcul RR' = arcul A'R = "phi"
    Q = ro*dir(phi+180);  % intersecţia semidreptei R'O cu cercul unitate
    T' + R' = 2A;  % T' este simetricul lui R' faţă de A
    drawoptions(withpen pencircle scaled 0.3 withcolor .4white);
    draw fullcircle scaled 2ro;  % trasează cercul unitate
    path qOR;  % cercul (semicercul) de centru O şi rază OR
    qOR = halfcircle rotated -50 scaled(2*abs(R)); draw qOR;
    S = qOR intersectionpoint (O -- T');  % intersecţia lui OT' cu cercul "qOR"
    P = whatever [Q, R'];  %% defineşte P = QR' intersectat cu
    P - S = whatever*(Q-S) rotated(-90);  %     perpendiculara în S pe QS %%
    draw Q -- S -- P -- cycle withpen pencircle scaled 0.5;
    draw R -- O -- T';
    draw R' -- T' dashed evenly; draw O -- A' dashed evenly;
    T = whatever [T', A'] = whatever [O, R];  % T = T'A' intersectat cu OR
    draw T' -- T -- R;
    drawoptions(withpen pencircle scaled 0.5 withcolor red);
    draw P -- 1.3[P,T];  % (semi)cercul cu centrul A' de rază A'T
    draw (halfcircle rotated(phi-20)) scaled(2*abs(T-A')) shifted A';
    % etichetează punctele:  (nu avem o soluţie "globală", automată; v. [2])
    drawoptions();  % resetează "withpen" şi "withcolor"
    dotlabel.lft(btex $\mathsf{O}$ etex, O);
    dotlabel.rt(btex $\mathsf{A}$ etex, A);
    dotlabel.top(btex $\mathsf{R}$ etex, R);
    dotlabel.top(btex $\mathsf{P}$ etex, P); 
    dotlabeldiam := 2.4bp;  % micşorează diametrul punctului
    dotlabel.rt(btex $\mathsf{A'}$ etex, A');
    dotlabel.lft(btex $\mathsf{R'}$ etex, R');    
    dotlabel.llft(btex $\mathsf{Q}$ etex, Q);
    dotlabel.rt(btex $\mathsf{T'}$ etex, T');
    dotlabel.bot(btex $\mathsf{S}$ etex, S);
    dotlabel.top(btex $\mathsf{T}$ etex, T);
    currentpicture := currentpicture scaled 1.2;  % scalează convenabil construcţia
endfig;
end

Programul descrie pas cu pas construcţia figurii, ca şi când am folosi rigla şi compasul (în timp ce de exemplu în R ar fi trebuit să folosim direct ecuaţiile cercurilor şi dreptelor şi să calculăm coordonatele intersecţiilor). Am ales figura următoare (cu parametrii specificaţi în programul de mai sus), dar precizăm că am mai avea un caz de figură: dacă alegem "phi" mic (de exemplu, 20° în loc de 70°), atunci vom avea $\mathsf{T'}$ între $\mathsf{O}$ şi $\mathsf{S}$ (nu ca în figura de aici) - dar aceasta nu schimbă totuşi, raţionamentul care urmează:

Reperând punctele faţă de originea $\mathsf{O}$ şi punctul unitar $\mathsf{A}$, avem de găsit locul geometric al pătratului punctului $\mathsf{R}$, când acesta parcurge cercul de centru $\mathsf{A}$ şi rază $\mathsf{AO}=1$.

Fie $\mathsf{A'}$ simetricul lui $\mathsf{O}$ faţă de $\mathsf{A}$; fie $\mathsf{R'}$ pe cercul de diametru $\mathsf{OA'}$ încât arcele $\mathsf{A'R}$ şi $\mathsf{RR'}$ sunt egale şi fie $\mathsf{T'}$ simetricul lui $\mathsf{R'}$ faţă de $\mathsf{A}$. Rezultă că $\mathsf{A'R'OT'}$ este un dreptunghi (unghiurile opuse ale acestuia sunt înscrise în câte un semicerc, deci sunt unghiuri drepte).

Fie $\mathsf{S}$ intersecţia semidreaptei $\mathsf{OT'}$ cu cercul de centru $\mathsf{O}$ şi rază $\mathsf{OR}$ cu şi fie $\mathsf{Q}$ intersecţia semidreptei $\mathsf{R'O}$ cu cercul unitate; fie $\mathsf{P}$ intersecţia semidreptei $\mathsf{QO}$ cu perpendiculara în $\mathsf{S}$ pe $\mathsf{QS}$. Fiindcă $\mathsf{SO}$ este înălţimea din vârful drept al triunghiului dreptunghic $\mathsf{QSP}$, avem $\mathsf{SO}^2=\mathsf{OQ}\cdot\mathsf{OP}=1\cdot\mathsf{OP}$ şi cum $\mathsf{SO}=\mathsf{OR}$, rezultă că $\mathsf{OP}=\mathsf{OR}^2$ (am construit astfel, pătratul $\mathsf{P}$ al punctului $\mathsf{R}$ faţă de reperul $(\mathsf{O},\vec{\mathsf{OA}})$).

Fie $\mathsf{T}$ intersecţia dintre $\mathsf{T'A'}$ şi $\mathsf{OR}$; fiindcă $\mathsf{T'A'}\parallel\mathsf{AR}$ şi $\mathsf{A}$ este mijlocul lui $\mathsf{OA'}$, rezultă că $\mathsf{R}$ este mijlocul segmentului $\mathsf{OT}$. Dar $\mathsf{A'R}\perp\mathsf{OT}$ (fiindcă $\widehat{\mathsf{ORA'}}$ subîntinde un semicerc), deci $\mathsf{OA'T}$ este triunghi isoscel (având $\mathsf{A'R}$ şi mediană şi înălţime); deci $\mathsf{A'T}=\mathsf{A'O}=2\;\small(=constant)$.

Din asemănarea triunghiurilor $\mathsf{TRA'}$ şi $\mathsf{TT'O}$ (fiindcă $\widehat{\mathsf{R}}=\widehat{\mathsf{T'}}=90^{\circ}$ şi $\widehat{\mathsf{T}}$ este unghi comun) avem $\frac{\mathsf{TR}}{\mathsf{TT'}}=\frac{\mathsf{TA'}}{\mathsf{TO}}$ şi (cum $\mathsf{TR}=\mathsf{OR}$, $\mathsf{TO}=2\,\mathsf{OR}$, iar $\mathsf{TA'}=2$) rezultă că $\mathsf{TT'}=\mathsf{OR}^2$, adică avem $\mathsf{TT'}=\mathsf{OP}$. Prin urmare, $\mathsf{OT'TP}$ este un dreptunghi; rezultă că $\widehat{\mathsf{OPT}}=90^{\circ}\,\small(=constant)$ şi $\widehat{\mathsf{PTT'}}=90^{\circ}$ (deci $\mathsf{PT}\perp\mathsf{TA'}$, adică $\mathsf{PT}$ este tangentă cercului de centru $\mathsf{A'}$ şi rază $\mathsf{A'O}=2$).

În concluzie, $\mathsf{P}$ este piciorul perpendicularei din punctul fix $\mathsf{O}$ pe o tangentă la cercul fix de centru $\mathsf{A'}$ şi rază $\mathsf{A'O}$; altfel spus, locul punctului $\mathsf{P}$ este podara acestui cerc faţă de punctul $\mathsf{O}$ al său, adică este o cardioidă (eventual, v. [1]). Iar $\mathsf{P}$ fiind (faţă de originea fixată $\mathsf{O}$) pătratul punctului $\mathsf{R}$ (mobil pe cercul de diametru $\mathsf{OA'}$), putem reformula astfel: pătratul unui cerc faţă de un punct al său este o cardioidă (cu nodul în acel punct).

vezi Cărţile mele (de programare)

docerpro | Prev | Next