Created
July 29, 2015 16:03
-
-
Save JoshCheek/8e4f47e0d0bfc1cf7637 to your computer and use it in GitHub Desktop.
Estimate pi from an image of a circle
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# solution for http://www.reddit.com/r/dailyprogrammer/comments/3f0hzk/20150729_challenge_225_intermediate_estimating_pi/ | |
require 'set' | |
require 'chunky_png' | |
# load the image from the data segment | |
raw_png = DATA.read.delete("\n").unpack('m0').first | |
image = ChunkyPNG::Image.from_blob(raw_png) | |
# extract the colours | |
colours = image.pixels.uniq | |
raise "Expected 2 colours, got #{colours.inspect}" unless colours.length == 2 | |
black, white = colours.sort | |
# for each black pixel, record it's x value | |
xs = image.height.times.flat_map do |y| | |
image.width.times.select { |x| image[x, y] == black } | |
end | |
# calculate pi | |
area = xs.length | |
diameter = xs.max - xs.min | |
radius = diameter / 2.0 | |
pi = area / (radius**2) # a = πr², solved for π | |
puts pi | |
# >> 3.148117086055024 | |
__END__ | |
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment