#!/usr/bin/env python subjectdistances = range(100, 100000, 10) aperturesize = 40.0 / 2.8 focallength = 40.0 onemeter = [] onepointfive = [] threemeters = [] infinity = [] for sdistance in subjectdistances: for (fdistance, array) in ((1000.0, onemeter), (1500.0, onepointfive), (3000.0 , threemeters)): cocsize = aperturesize * \ ((abs(sdistance - fdistance)) / sdistance) * \ (focallength / (fdistance - focallength)) array.append((sdistance, cocsize)) infcoc = (focallength * aperturesize) / sdistance infinity.append((sdistance, infcoc)) for (fn, i) in [("coc-1m.dat", onemeter), ("coc-1.5m.dat", onepointfive), ("coc-3m.dat", threemeters), ("coc-inf.dat", infinity)]: fd = open(fn, "w") for (sdistance, coc) in i: fd.write("%s %s\n" % (sdistance, coc)) fd.write("\n") fd.close()