Archived posting to the Leica Users Group, 2001/07/16

[Author Prev] [Author Next] [Thread Prev] [Thread Next] [Author Index] [Topic Index] [Home] [Search]

Subject: Re: [Leica] re: should i buy a noctilux
From: shino@ubspainewebber.com
Date: Mon, 16 Jul 2001 17:52:29 -0400 (EDT)

> From: "Mark E Davison" <dmark8@qwest.net>

> Kyle,
> 
> That's simply wrong. The f stops go by powers of the square root of two: 1,
> sqrt(2) (= approx 1.4), 2, 2 sqrt(2) (= approx 2.8), 4, and so on. So f1.0
> is exactly one stop faster than f1.4.
> 
> Mark Davison


all correct.

interestingly, when using exactly the sqrt of 2, and display sub-100 numbers
to 2 significant digits, you get some unfamiliar values, such as f5.7 and f91.

i don't think any factor will get you exactly the familiar sequence
(1 1.4 2 2.8 4 5.6 8 11 16 22 32 45 64 90 128)
after rounding.   the value 1.4134 gives you both f23 (too high) and
f127 (too low), so it seems evident that no value for the factor
could yield the familiar sequence.

- -rei



~/testdir $ make ./fstop ;./fstop
g++ -o fstop    -pedantic-errors -lkstat -lm   fstop.cc
Using 1.4142136 as factor: 1 1.4 2 2.8 4 5.7 8 11 16 23 32 45 64 91 128
Using 1.4134    as factor: 1 1.4 2 2.8 4 5.6 8 11 16 23 32 45 64 90 127

~/testdir $ cat fstop.cc

#include <stream.h>

void
doEffStopz(double factor)
{
    double start=1.0;
    cout.precision(8);
    cout << "Using " << factor << " as factor: ";
    for(int i=0;i<15;i++,start*=factor)
    {
        if (start>100)
            cout.precision(3);
        else
            cout.precision(2);
        cout << start << " ";
    }
    cout << endl;
}

int
main(int argc, char * argv[])
{
    doEffStopz(sqrt(2.0));
    doEffStopz(1.4134);
}