PyPrintPi på en Raspberry Pi (10 / 23 steg)
Steg 10: Trigonometriska kombinationer till ungefärliga π (del 1)
I vår sista steget vi lärt oss hur man använder arctan(1) = π/4, men vi fann att algoritmen var för långsam.
Det visar sig att använda några trigonometriska knep kan vi anpassa den tidigare algoritmen för att göra det mycket snabbare.
Detta steg och nästa steg gå in matematiska detaljer. Du kan hoppa över dessa två steg om du vill hoppa direkt till den nya algoritmen.
I trigonometri är det känt att:
Tan (x + y) = (x + tan(y)) / (1 - (tan(x)*tan(y))
Om vi ersätter x och y med arctan(x) och arctan(y) får vi:
Tan(ARCTAN(x) + arctan(y)) = (x + y) / (1 - x * y)
(Observera att arctan(tan(x)) är lika med x). Om vi tillämpar arctan till båda sidor äntligen vi:
ARCTAN(x) + arctan(y) = arctan ((x + y) / (1 - x * y))
Detta ger oss en metod för att lägga till två arctans. Vi hittar värdena för x och y sådant att
ARCTAN(x) + arctan(y) = arctan(1) = π/4.
För att göra detta måste vi ha:
(x + y) / (1 - x * y) = 1
som förenklar att:
y = (1 - x)/(1+x)
Så, arctan(x) + arctan(y) = arctan(x) + arctan ((1 - x)/(1+x))
Vilket ger oss:
Π/4 = arctan(x) + arctan ((1 - x)/(1+x))