Concave and Convex Mirrors
Author: Tom Walsh (tjwalsh at me dot com)

Move the tip of the Object arrow or the point labeled focus. Move the arrow to the right side of the lens to get a convex mirror.

Image Characteristics

Real Image

Virtual Image

hi > ho

hi = ho

hi < ho

Upright

Inverted

di > 2f

di = 2f

f < di < 2f

di < 0

0 > di > f

No Image (parallel rays)

Concave Mirror: do > 2f

Concave Mirror: do = 2f

Concave Mirror: 2f < do < f

Concave Mirror: do = f

Concave Mirror: do < f

Convex Mirror: do = any

D = (-12, 3)
focus = Point(xAxis)
Image: (1 / (1 / x(focus) - 1 / x(D)), 0)
CC: (2 * x(focus), 0)
A: (2 * x(CC) - 10, 0)
B = (-0.386, -5.344)
C: (x(B), 5.34)
c = CircleArc(A, B, C)
Object: (x(D), 0)
u = Vector(Object, D)
F: (0, y(D))
a = Segment(D, F)
b = Ray(F, focus)
G: (0, -y(D) * x(Image) / x(D))
d = Segment(D, G)
I: (x(Image), y(G))
v = Vector(Image, I)
e = Ray(G, I)
J: (0, y(D) - x(D) * (y(D) - y(CC)) / (x(D) - x(CC)))
f = Segment(D, J)
g = Ray(D, I)
h = Ray(G, I)
i = Ray(J, I)
j = Ray(F, I)
k = Ray(D, CC)
m = Ray(J, D)
focus' = Rotate(focus, 180*°, F)
I' = Mirror(I, yAxis)
l = Ray(F, focus')
n = Ray(G, I')
text2: "di =  " + (x(Image)) + ""
text1: "di = " + (-x(Image)) + ""
text3: "hi = " + (y(I)) + ""
text4: "do = " + (x(-Object)) + ""
text5: "do = " + (x(Object)) + ""
text6: "ho = " + (y(D)) + ""