to get a guy who's 6' tall in to the frame at a distance of 30 yards (90'):

tan(theta) = opposite/adjacent

so, your lens will need to have a viewing angle of at least tan^-1(opposite/adjacent) for the guy to be in shot.

That's 2* tan^-1(3/90) <- you're calculating the angle to see half of his height and then doubling the result

or ~3.8 degrees.

the 300mm prime lens has angles of view:

horizontal: 6deg50

vertical:4deg35

diagonal:8deg15

on a full frame sensor.

On a full frame, that means that you could either shoot portrait, with a viewing angle of 6deg50, and be fine or shoot landscape with a viewing angle of 4deg35 and be fine.

The sensor in the 7d has a crop factor of approximately 1.6, so:

portrait would give a viewing angle of 6deg50/1.6, or ~4.27 degrees, which would be fine.

landscape would give a viewing angle of 4deg35/1.6, or ~2.86 degrees, which would crop him at about the knees :-)

Or, in the more general case:

angle of view = 2 * tan^-1(sensor dimension/ 2 * focal length)

7D sensor height in landscape = 14.9mm

7D sensor height in portrait = 22.3mm

to get someone in shot,

angle of view >= angle subtended.

where

angle subtended = 2* tan^-1 (0.5 * their height/how far away they are)

so we solve:

2 * tan^-1(sensor dimension/ 2 * focal length) = 2 * tan^-1(3/distance to subject in feet)

simplifying both sides

sensor dimension/(2 * focal length) = 3/distance to subject in feet

sensor dimension / (3/distance to subject in feet) = 2 * focal length

(sensor dimension * distance got subject in feet) / 3 = 2 * focal length

(sensor dimension * distance to subject in feet) / 6 = focal length

plugging some numbers in:

at 30 yards (90 feet) in portrait orientation (22.3mm):

focal length = (22.3 * 90)/6

focal length = 334mm

so anything shorter than 334mm will be fine.

at 30 yards in landscape orientation:

focal length = (14.9*90)/6

focal length = 224mm

so anything shorter than 224mm will be fine.

Which, happily, agrees with what i said to start with. though, no doubt, i'll have screwed up the math somewhere along the lines!

TLDR version: Using zooms is easier :-)

-Evie