\begin{tikzpicture}
    \tkzSetUpPoint[shape=circle,size=10,color=black,fill=black]
    \tkzSetUpLine[line width=1]
    \tkzDefPoints{0/0/O, 1/0/X, 0/1/Y, 2/1/P, 3/3/Q}
    \tkzDrawLine[add=3 and 2.2](O,X)
    \tkzLabelLine[below,pos=3](O,X){$g_1$}
    \tkzLabelLine[left,pos=3](O,Y){$g_2$}
    \tkzDrawLine[add=3 and 2.2](O,Y)

    \tkzDefLine[orthogonal=through P,/tikz/overlay](O,X) \tkzGetPoint{helper}
    \tkzInterLL(O,X)(P,helper) \tkzGetPoint{xp}
    \draw [decorate,decoration={brace,amplitude=4pt,mirror}]
        (O) -- (xp) node [black,midway,xshift=0cm, yshift=-0.3cm] 
        {\footnotesize $x_P$};

    \tkzDefLine[orthogonal=through P,/tikz/overlay](O,Y) \tkzGetPoint{helper}
    \tkzInterLL(O,Y)(P,helper) \tkzGetPoint{yp}
    \draw [decorate,decoration={brace,amplitude=4pt}]
        (O) -- (yp) node [black,midway,xshift=-0.4cm] 
        {\footnotesize $y_P$};

    \tkzDrawPolygon(O,xp,P,yp)

    \tkzDefLine[orthogonal=through Q,/tikz/overlay](O,X) \tkzGetPoint{helper}
    \tkzInterLL(O,X)(Q,helper) \tkzGetPoint{xq}
    \tkzDefLine[orthogonal=through Q,/tikz/overlay](O,Y) \tkzGetPoint{helper}
    \tkzInterLL(O,Y)(Q,helper) \tkzGetPoint{yq}

    \tkzInterLL(yp,P)(Q,xq) \tkzGetPoint{qxp}
    \tkzInterLL(xp,P)(Q,yq) \tkzGetPoint{R}

    \tkzDrawPolygon(O,xq,Q,yq)

    \tkzDrawSegments[green](xp,xq R,Q)
    \tkzDrawSegments[very thick,orange](yp,yq P,R)

    \tkzLabelPoint[above right](P){$P$}
    \tkzLabelPoint[above right](Q){$Q$}
    \tkzLabelPoint[below left](O){$0$}
    \tkzLabelPoint[above](R){$R$}
    \node at ($(-2,2)$){$X$};
    \tkzDrawPoints(P,Q,R)
\end{tikzpicture}
