# File sparklines.rb, line 157
        def self.pie(results=[],options={})

                diameter = options[:diameter].to_i
                share_color = options[:share_color]
                remain_color = options[:remain_color]
                percent = results[0]

                img = Magick::Image.new(diameter , diameter) {self.background_color = options[:background_color]}
                img.format = "PNG"
                draw = Magick::Draw.new

                #Adjust the radius so there's some edge left n the pie

                r = diameter/2.0 - 2
                draw.fill(remain_color)
                draw.ellipse(r + 2, r + 2, r , r , 0, 360)
                draw.fill(share_color)

                # Special exceptions
                if percent == 0
                        # For 0% return blank
                        draw.draw(img)
                        return img.to_blob
                elsif percent == 100
                        # For 100% just draw a full circle
                        draw.ellipse(r + 2, r + 2, r , r , 0, 360)
                        draw.draw(img)
                        return img.to_blob
                end

                #Okay, this part is as confusing as hell, so pay attention:

                #This line determines the horizontal portion of the point on the circle where the X-Axis

                #should end.  It's caculated by taking the center of the on-image circle and adding that

                #to the radius multiplied by the formula for determinig the point on a unit circle that a

                #angle corresponds to.  3.6 * percent gives us that angle, but it's in degrees, so we need to

                #convert, hence the muliplication by Pi over 180

                arc_end_x = r + 2 + (r * Math.cos((3.6 * percent)*(Math::PI/180)))

                #The same goes for here, except it's the vertical point instead of the horizontal one

                arc_end_y = r + 2 + (r * Math.sin((3.6 * percent)*(Math::PI/180)))

                #Because the SVG path format is seriously screwy, we need to set the large-arc-flag to 1

                #if the angle of an arc is greater than 180 degrees.  I have no idea why this is, but it is.

                percent > 50? large_arc_flag = 1: large_arc_flag = 0

                #This is also confusing

                #M tells us to move to an absolute point on the image.  We're moving to the center of the pie

                #h tells us to move to a relative point.  We're moving to the right edge of the circle.

                #A tells us to start an absolute elliptical arc.  The first two values are the radii of the ellipse

                #the third value is the x-axis-rotation (how to rotate the ellipse if we wanted to [could have some fun

                #with randomizing that maybe), the fourth value is our large-arc-flag, the fifth is the sweep-flag,

                #(again, confusing), the sixth and seventh values are the end point of the arc which we calculated previously

                #More info on the SVG path string format at: http://www.w3.org/TR/SVG/paths.html

                path = "M#{r + 2},#{r + 2} h#{r} A#{r},#{r} 0 #{large_arc_flag},1 #{arc_end_x},#{arc_end_y} z"
                draw.path(path)

                draw.draw(img)
                img.to_blob
        end