Oakland's Winter Solstice Location
Author: Scott Farrar

The surface of the Earth can be approximated with segment UO, while the incoming sunlight for UO must pass through OT.  OT / UO = %sunlight.

December 22

Sunlight

Orbital Plane

O = Intersect(xAxis, yAxis)
c = Circle(O, 1)
A = Intersect(c, a, 2)
E_1 = Rotate(A, 23.5°, O)
α = Angle(A, O, E_1)
b = Line(E_1, O)
C, E_2 = Intersect(c, b)
Equator = Segment(E_1, E_2)
EarthAxis = LineBisector(Equator)
NorthPole, SouthPole = Intersect(c, EarthAxis)
B = (3.2, 0.6000000000000001)
D = (2.6, 0.6000000000000001)
u = Vector(B, D)
E = (3.2, 0.4)
F = (2.6, 0.4)
v = Vector(E, F)
G = (3.2, 0.2)
H = (2.6, 0.2)
w = Vector(G, H)
I = Point(a)
J = Point(a)
z = Vector(I, J)
K = (3.2, -0.2)
L = (2.6, -0.2)
d = Vector(K, L)
M = (3.2, -0.4)
N = (2.6, -0.4)
e = Vector(M, N)
P = (3.2, -0.6000000000000001)
Q = (2.6, -0.6000000000000001)
f = Vector(P, Q)
R, S = Intersect(c, g)
h = CircleSector(O, R, S)
Oakland = Rotate(E_1, 37.8°, O)
β = Angle(E_1, O, Oakland)
i = Ray(O, Oakland)
j = Tangent(Oakland, c)
k = Line(Oakland, a)
l = OrthogonalLine(Oakland, k)
T = Point(l)
m = Line(T, k)
U = Intersect(j, m)
UOT, u_1, oakland, t = Polygon(Oakland, T, U)