def LocGeomH():

    def ortocentru(zA, zB, zC):
        a = C.rho(zB - zC)
        b = C.rho(zA - zC)
        c = C.rho(zB - zA)

        alph = (a ** 2) * ((b ** 2) + (c ** 2) - (a ** 2))
        beth = (b ** 2) * ((a ** 2) + (c ** 2) - (b ** 2))
        gamm = (c ** 2) * ((a ** 2) + (b ** 2) - (c ** 2))
        zH = (alph*zA+beth*zB+gamm*zC)/(alph+beth+gamm)
        return zH

    C.setXminXmaxYminYmax(-10, 10, -12, 8)
    q = 0
    R = 6
    nrPuncte = 720
    delta = 2 * math.pi / nrPuncte
    nB = nrPuncte // 2 + nrPuncte // 15
    nC = nrPuncte - nrPuncte // 15
    zB = C.fromRhoTheta(R, nB * delta)
    zC = C.fromRhoTheta(R, nC * delta)

    lista=[]#
    listasim=[]

    for n in range(10 * nrPuncte):
        if n % nrPuncte == nB or n % nrPuncte == nC:
            continue
        C.fillScreen(Color.White)
        C.setNgon(unCercQR(q, R, nrPuncte), Color.Navy)
        zA = C.fromRhoTheta(R, n * delta)
        C.drawNgon([zA, zB, zC], Color.Navy)
        zH = ortocentru(zA, zB, zC)
        lista.append(zH)
        listasim.append(zH*(-1))
        C.drawNgon([zA, zH, zB, zH, zC, zH], Color.Green)
        for i in lista:
            C.setPixel(i,Color.Red)
        for i in listasim:
            C.setPixel(i,Color.Red)

        if C.mustClose():
            return