• 1 Post
  • 1 Comment
Joined 1 year ago
cake
Cake day: February 3rd, 2024

help-circle
  • I will try to guess how that works!

    keep in mind that I have no clue on how BASIC sintax works lol

    1 -> function declared
    2 -> variable x and y initiated to values 0 and 1.
    3 -> for loop created that goes from 1 to 26 (updating variable N)
    4 -> Variable R is created, its value is the square root of (x^2 + y^2). Xs and Ys values are set to be themselves divided by R.
    5 -> P variable created (it stores the value of PI), and set to (2 ^ N) * square root of (x - 1) ^ 2 + y ^ 2. Lastly X is increased by one
    6 -> Proceed only after for loop is done
    7 -> return the variable P

    (I do recognize I just transcribed the code, and I also made an implementation in python of it, lol)

    now for why that works ill figure another time, its 12:30 pm here and I am eepy :). But I have recognized that X tends to 2 and Y to 0.

    and I am pretty sure this implements the algorithm of creating higher and higher “resolution” circles so starting with a triangle and adding more and more vertices (vertex?). Ill edit in the full explanation late :)

    here is my implementation:

    
    def CalcPi():
        X = 0
        Y = 1
        P = 0
    
        for i in range(1,26):
            R = sqrt(X**2 + Y**2)
            
            X = X/R
            Y = Y/R
    
            P = (2**i) * sqrt((X-1)**2 + Y**2)
            X += 1
        return P