I'm working on a GIS application and I can't seem to warp my head around this problem.
I have bounding box defined as 4 coordinates pair (A, B, C, D in the picture) and a center and I want to calculate a new bounding box (A', B', C', D' in the picture) defined as the original bounding box, plus a padding on all sides. The padding value is defined as a percentage of the longest side of the original bounding box P.
What I'm trying to achieve is: given A, B, C, D, CENTER and a percentage value P, calculate A', B', C', D'.
Any ideas?
Cheers!
Here is a picture of this for reference:

You can erect a local Cartesian coordinate system if the area is small. Small here is relative to the radius of the earth, about $4000$ miles ($6400$ km). You can use the center as the origin. The origin has latitude $\phi$ and longitude $\lambda$ and local coordinates $(0,0)$. Distances North/South come from the fact that one degree of latitude corresponds to a distance of $\frac {R_e \pi}{180}$. Distances East/West come from the fact that one degree of longitude corresponds to a distance of $\frac {R_e \pi}{180}\cos(\phi)$. The earth radius varies, but for a spherical earth you choose one value and use it consistently. Most often I have seen the equatorial radius used, $R_e=6378 km \approx 3963 mi$.
The dimensions of the box are then $\frac {R_e \pi}{180}\Delta \phi$, North/South where $\Delta \phi$ is the difference in latitude between the top and the bottom in degrees and $\frac {R_e \pi}{180}\cos \phi \Delta \lambda$ East/West. You can find the linear distance you want to pad and convert back to the change in latitude/longitude