I am writing a computer program routine to fill a square to

We use cookies to improve your experience. By continuing to use this site you consent to the use of cookies as described in our cookie policy, unless you have disabled them.

Experts are full of valuable knowledge and are ready to help with any question. Credentials confirmed by a Fortune 500 verification firm.

Get a Professional Answer

Via email, text message, or notification as you wait on our site. Ask follow up questions if you need to.

Go back-and-forth until satisfied

Rate the answer you receive.

By continuing to use this site you consent to the use of cookies on your device as described in our cookie policy unless you have disabled them.

Ask Ryan Your Own Question

Ryan, Engineer

Category: Math

Satisfied Customers: 9218

Experience: B.S. in Civil Engineering

40260889

Type Your Math Question Here...

Ryan is online now

I am writing a computer program routine to fill a square to

This answer was rated:

★★★★★

I am writing a computer program routine to fill a square to a given percentage of coverage using a circle. I need a formula that gives me the radius needed to fill the squares area by x%. Any part of the circle's area falling outside the bounds of the square isn't to be counted as filling the square's area. I know this formula radius = (side_length * sqrt(required_percentage)) / sqrt(pi) gives me a circle whose area is the required percentage of the square but if doesn't take into account that some of this circle is outside the square so it is not being used to fill the square. but it works for percentages up to about 78.5% when the circle touches the edge of the square but after this some of the circle's area is not being used to fill the square. When the circles diameter is the same length as the squares diagonal the circle fully fills the square. Can you provide a formula that works for all percentages?

I can give you a formula that calculates the percentage of coverage of a circle of radius R over a square of side length s, when the value of R is greater than s/2. As you have noted, for values of R which are less than or equal to s/2, the formula that you have works fine.

The difficulty with the circle overlapping the sides of the square, however, is rearranging the formula to give you the radius, R, when you know the side length, s, and the desired coverage percentage. Because there are trigonometric and inverse trigonometric functions involved, it is not possible to solve the equation for R explicitly.

You will probably have to write a function that takes something of a brute force approach by calculating values from R = s/2 to R = (s*√2)/2 until you get the desired percentage of coverage. Of course, if the desired percentage is less than 78.5398% or so, then you can use the formula that you mentioned above.

The formula for the percentage coverage when R > s/2 is: