Problem 1: Fibonacci spiral

A Fibonacci spiral is formed by putting curved lines inside squares, whose size follows Fibonacci numbers, and are placed as follows This fractal is based on squares pattern below:

Fibonacci spiral
Fibonacci spiral

Write a function which takes a positive integer \(n\) and returns the Fibonacci spiral up to that number.

Note that the spiral \(n\) is obtained by rotating spiral \(n-1\) -90 degrees (since it is clockwise rotation) and putting it aside a curve for \(n\)th square.

HINT: Please consult http://docs.racket-lang.org/teachpack/2htdpimage.html for using function add-curve to generate curved lines. An example of putting a curve on a -invisible/white- square of size 100 is as follows, replace 100 with the appropriate fibonacci number to obtain a useful shape:

    (add-curve (square (fibonacciNumber n) "outline" "white")
               1 100
               90
               0.4
               100 1 
               0
               0.4
               "black")

Problem 2: Population estimate

Natural logarithm of a number \(z\) can be found using the following series:

\[ \ln (z) = 2\sum_{n=0}^\infty\frac{1}{2n+1}\left(\frac{z-1}{z+1}\right)^{2n+1} \]

if the sum is limited at \(k\) for practical computation: \[ \ln (z) = 2\sum_{n=0}^k\frac{1}{2n+1}\left(\frac{z-1}{z+1}\right)^{2n+1} \]

Write a function to take \(z\) and \(k\) and return the approximated sum above, as its natural logarithm.

HINT: You can use the expt function to compute powers: e.g.(expt 2 3)` gives 8