AModel hidden
Loading two answers…
my 9 year old asked why we have summer and winter. can you draw it so she gets it?
Everyday prompt, sent as typed, added 24 Oct 2026·44 models · median 20 s · median $0.006
The catch: The Earth is closest to the sun in early January, in the northern winter: the seasons come from its tilt.
Image models got this prompt as a picture: 1 attempt
Link: https://hypeorcode.com/
my 9 year old asked why we have summer and winter. can you draw it so she gets it?
I can't produce a real image file, but I can give you a diagram you can sketch on paper in about 2 minutes while you explain it. Here it is.
The Earth spins on a tilted stick, and as it travels around the Sun, one half leans toward the Sun (summer) while the other leans away (winter).
🌍 JUNE
(summer where we live)
/ \
/ \
🌍 MARCH ---- ☀ SUN ---- 🌍 SEPTEMBER
\ /
\ /
🌍 DECEMBER
(winter where we live)
Earth goes around the Sun once a year. The tilt never changes direction — the stick always points the same way, like a spinning top that leans.
☀ SUN → → → → → → → → → → → →
SUMMER (June) WINTER (December)
North half leans North half leans
TOWARD the Sun AWAY from the Sun
\ /
\ ← axis / ← axis
\ /
.-''''-. .-''''-.
/ \ / \
| Earth | | Earth |
\ / \ /
'-.....-' '-.....-'
\ /
\ /
In June the top of the Earth leans into the sunshine. In December it leans away.
That's the whole secret. In summer the Sun's light lands on us straight-on and concentrated. In winter it lands at a slant and spreads out. Same Sun, thinner beam.
Two more things that make summer feel like summer:
Circle for the Sun. Draw a diamond of four Earths around it. Then draw one big Earth off to the side with a stick through it, tilted, and a straight line of arrows from the Sun. Label the two ends "summer" and "winter." That's the whole lesson in one page.
Particle-1Particle AI
12 s$0.0024.8k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Earth is a little tilted, like a spinning top leaning to one side.
N ↗ N ↗
/ /
(🌍) ☀️ SUN (🌍)
/ /
Northern summer Northern winter
Earth travels around the Sun once a year. Its tilt keeps pointing the same way:
The southern half has the opposite seasons: when it’s summer in the north, it’s winter in the south.
🔦 You can try this with a flashlight: shine it straight at your hand, then tilt your hand. The tilted light spreads out more, so it warms any one spot less.
GPT-6.1 TerraOpenAI
9 s$0.004717 tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here’s a picture you can show her:
JUNE DECEMBER
Northern summer Northern winter
N N
/ /
(EARTH) ☀ SUN (EARTH)
/ /
S S
North leans toward North leans away
the Sun from the Sun
Earth is tilted, like a spinning top that leans a little. It stays tilted in the same direction as it travels around the Sun.
The south gets the opposite seasons: when it’s summer in the north, it’s winter in the south. 🌍
It’s the tilt, not how close Earth is to the Sun, that causes the seasons.
GPT-6.1 Terra ProOpenAI
12 s$0.0101.5k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Sure—here’s a simple sketch (not to scale):
Two sides of Earth’s orbit — the tilt stays the same
N N
/ /
/ /
( EARTH ) (( SUN )) ( EARTH )
Your half of Earth Your half of Earth
tips TOWARD the Sun tips AWAY from the Sun
↓ ↓
SUMMER WINTER
Earth is like a spinning, slightly leaning ball. As it travels around the Sun, it keeps leaning in the same direction.
So seasons are caused mainly by Earth’s tilt, not by Earth being much closer to or farther from the Sun. And when one half of Earth has summer, the other half has winter!
Kimi K3.1 ProMoonshot AI
54 s$0.0302.9k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
I can't draw actual images, but here's a simple, fun drawing + explanation combo that works really well for this age!
Have her draw this together:
"The Earth spins like a top, but it also leans. When the top leans toward the Sun, that half of Earth gets more sunshine — that's summer! When it leans away, it gets less sunshine — that's winter!"
For extra fun, she can hold a flashlight and tilt a ball toward her to "feel" summer vs. winter.
☀️
/
/ ← Summer: leaning TOWARD the sun!
/
/─────┼───── ← equator line
\
\ ← Winter: leaning AWAY from the sun
\
☀️
Want me to write a little script for her to read aloud, or suggest a fun craft version (like a paper plate Earth)?
FlintRecursive
14 sfree2.1k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here's the whole thing explained, with pictures. Ask her to read the captions out loud with you. 🌞
Because Earth is tilted on its side — like a ball rolling around a lamp — and sometimes we lean toward the Sun, sometimes away.
JUNE DECEMBER
N N
/ /
🌍 ← the pole always tilts the SAME way → 🌍
/ /
\ ☀️ /
\ /
- - - - - - - Earth's path around the Sun - - - - - -
Left side: our pole leans TOWARD the Sun = our summer ☀️
Right side: our pole leans AWAY from the Sun = our winter ❄️
And the two spots we didn't draw (top and bottom of the orbit) are March and September — that's when neither side leans much, so days and nights are about equal (the "equinox," which means "equal night").
☀️ Sun's rays ☀️ Sun's rays
(beam tilts toward us) (beam tilts away from us)
\ \ \ \ \ \
\ \ \ \ \ \
\ \ \ \ \ \
\_ \_
┌────────┐ ┌────────┐
│ ╱ │ ← our half │ ╱ │ ← our half
│ 🌍 │ gets sun │ 🌍 │ gets less sun
│ ╱ │ ALL DAY │ ╱ │ and shorter days
└────────┘ └────────┘
SUMMER ❄️→☀️ WINTER ☀️→❄️
☀️ Sun ☀️ Sun
Two things happen when we lean toward the Sun:
When the Sun shines straight on, the same amount of
light gets squeezed into a smaller spot = hotter.
☀️ ☀️
\ \ \ \ \ \ \
\ \ \ \ \ \ \
\ \ \ \ \ \ \
\__\__\__ \__\__\___
┌────────────┐ ┌────────────┐
│ ~~~ │ spread │ ~~~ │ squished
│ ~~~~~~~~ │ out = │ ~~~~~~~~~~│ together
│ ~~~~~~ │ cooler │ ~~~~~~~ │ = HOTTER
└────────────┘ └────────────┘
☁️ North in winter 🔥 North in summer
❌ "It's summer because Earth is closer to the Sun." No! When the Northern Hemisphere has summer, Earth is actually at its farthest point from the Sun (that's early July for us). Distance barely matters — tilt is the whole reason. (And while we're at it: the seasons are caused by tilt, not by how far we are. On Mars, with almost no tilt, it barely has seasons at all!)
"Earth is tilted, so as we go around the Sun, sometimes we lean toward the light and sometimes away — and toward means summer, away means winter."
Want me to redo the pictures in a simpler "picture-book" style, or add a diagram for the Southern Hemisphere (Australia) so she can see the two hemispheres have opposite seasons? Also — which country are you in? I'll swap the months to match your seasons.
MiniMax M3.1 FlashMiniMax
1 min 51 s$0.0014.5k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Great question! Here’s how I’d explain it to a 9-year-old.
Big idea: Earth is like a spinning top that is tipped over a little. That tilt gives us seasons — not Earth getting closer to or farther from the Sun.
Here’s a simple sketch:
SUNLIGHT → → → → → →
OUR SUMMER
(North Pole leans toward the Sun)
N
/
🌍 ← sunlight hits us more straight-on
\
S
OUR WINTER
(North Pole leans away from the Sun)
N
\
🌍 ← sunlight hits us at a slant
/
S
In summer, sunlight hits our part of Earth more directly, and the days are longer.
In winter, sunlight hits us at a slant, and the days are shorter.
As Earth travels around the Sun, it keeps leaning the same way. So sometimes our half of Earth leans toward the Sun — summer — and sometimes it leans away — winter. The other half of Earth gets the opposite seasons.
☀️ SUN
June: Earth here December: Earth here
North leans toward Sun North leans away from Sun
Fun fact: Earth is actually closest to the Sun in January, so being close isn’t what makes summer. The tilt is the big reason.
Try this: put a pencil through a ball, tilt the pencil, and shine a flashlight on it. Move the ball around the flashlight while keeping the pencil pointing the same direction. She’ll see which side gets more direct light — that side is having “summer.”
DeepSeek V4.1 Flash 1017DeepSeek
10 s$0.0022.9k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Sure! Here’s a simple “drawing” made of text that a 9-year-old can understand:
WINTER in North
----------------
(tilted away from Sun)
__
.-' '-.
/ \
| . |
| / \ |
\ ' ' /
'-.__.-'
North pole points away
.-''''''''''''''''''''-.
/ SUN \
| ☀️ |
\ /
'-......................'
\
\ light hits
\ more directly
\
__
.-' '-.
/ \
| . |
| \ |
\ ' /
'-.__.-'
South pole points away
SUMMER in North
-----------------
(tilted toward Sun)
Even simpler version:
SUN ☀️
/
/
/
/ Earth tilts!
/
/
O <-- Earth
\
\ North leans away -> winter
\
\
SUN ☀️
\
\
\
\
O <-- Earth
/
/ North leans toward -> summer
/
/
And here is the kid-friendly explanation:
The Earth is like a spinning top.
It doesn’t stand straight up and down — it leans a little.
As Earth travels around the Sun, one side leans toward the Sun and one side leans away.
When your side leans toward the Sun, it gets more sunlight and warmth: summer.
When your side leans away, it gets less sunlight: winter.
You can draw it with your daughter like this:
GlimpseElorian
6 s$0.002688 tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here’s a kid-friendly way to explain it, plus a simple “drawing” you can recreate on paper.
Earth is tilted like a spinning top that’s leaning. As we go around the Sun, sometimes your half of Earth leans toward the Sun (summer) and sometimes it leans away (winter).
(The tilt doesn’t change direction—it stays pointing the same way in space while Earth orbits.)
☀️ SUN
|
|
|
(tilted Earth orbiting around)
Winter side (leans away) Summer side (leans toward)
❄️ ☀️
/ \ / \
/ \ / \
/ \ / \
/ 🌍 \ ← Earth spins / 🌍 \ ← Earth spins
/ (tilted) \ on its axis / (tilted) \
/ \ / \
/ \ / \
/ \ / \
How to draw it with your 9-year-old:
Hold a ball (Earth) with a pencil through it (the axis) tilted about 23°. Shine a flashlight (Sun) on it.
Want a printable coloring page version or a simple rhyme to go with it?
Beam 1.0Reflection AI
3 s<$0.001781 tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Great question! I can’t send a real picture, but here’s a little drawing you can show her.
Imagine Earth is like a spinning top that leans over — and it always leans the same way as it goes around the Sun.
SUMMER (June in the north):
--> <-- arrow shows which way Earth leans
[Earth] [Sun]
The top of Earth leans toward the Sun.
WINTER (December in the north):
-->
[Sun] [Earth]
The top of Earth leans the same way,
but now it leans away from the Sun.
The arrow is the direction the North Pole points. In summer, the Sun is on that side, so the Sun’s light hits us more directly and days are longer — warm! In winter, the Sun is on the other side, so the light hits us at an angle and days are shorter — cold!
It’s the opposite in the southern half of Earth, so when it’s summer in the north, it’s winter in places like Australia.
Try this too: shine a flashlight on a ball. Tip the top of the ball toward the flashlight, then away. You can see the light get stronger and weaker — that’s exactly the idea!
Mercury 3Inception
45 s$0.00516k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
I can't draw a picture directly, but I can give you the perfect steps to draw this together! 9-year-olds are perfectly capable of drawing a great diagram, and it will make the concept so much clearer than just words.
Here is the best way to explain it to your kid, followed by a fun drawing guide you can do together.
It’s all about tilting. The Earth doesn't spin around the Sun like a top. Instead, the Earth’s axis is tilted at an angle of about 23.5 degrees.
Imagine the Earth is a giant ball, like a basketball, floating in space. Because it’s tilted, half of the Earth always leans toward the Sun while the other half leans away.
You can draw this right now with your 9-year-old using a piece of paper and a pencil. Here is the outline:
Step 1: The Sun Draw a big, bright yellow circle in the middle-top of your paper. Right next to it, draw three long orange lines coming out of the top of the sun to represent the sunshine hitting the Earth.
Step 2: The Earth (The Ball) Draw a big blue circle about the size of a tennis ball. This is our Earth.
Step 3: The Tilt (The Magic Angle) Under the Earth circle, draw a straight vertical line going down into the paper (this is the invisible line that holds the Earth up as it spins). Now, take the blue circle and place it on that stick, but tilt it slightly to the right, like a kid leaning on a seesaw. Do not leave it perfectly upright—that's the whole secret! Leave it tilted about 30 degrees to the right.
Step 4: Label the Hemispheres Split the blue Earth circle in half with a vertical line through the middle.
Step 5: Add the Labels! Write Summer above the left-tilted side, and Winter above the right-tilted side. Maybe even draw a little stick figure in each hemisphere wearing sunglasses or a heavy coat!
Once you draw it, ask your kid: "If we flip the Earth over, which way does the left side tilt?" And watch the "aha!" moment happen!
Xing 4.0XingChen
42 sfree1.7k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here's a super simple way to explain it to her — and a drawing you can do together!
The big secret is: We have seasons because the Earth is tilted, not because we're closer to the Sun.
Think of Earth like a spinning top that is always leaning a little bit to one side as it walks in a big circle around the Sun.
Here is what it looks like:
THE SUN ☀️
|
|
|
WINTER ❄️ <--- 🌍 | 🌍 ---> SUMMER ☀️
(Leaning AWAY) \ | / (Leaning TOWARD)
\|/
| <- Earth's tilt
|
Your house gets | Your house gets
less sun, | LOTS of sun,
so it's cold! | so it's hot!
|
SUMMER ☀️ ---> 🌍 | 🌍 <--- WINTER ❄️
/|\
/ | \
Let me explain that drawing:
1. In SUMMER: Your part of the world (let's say the top half) is leaning TOWARD the Sun. The sun's light hits you straight on, like a flashlight shining right overhead. That makes it hot and the days are long!
2. In WINTER: Half a year later, Earth is on the other side of the Sun. Now your part is leaning AWAY from the Sun. The same flashlight is hitting you at a slant, spread out and weak. That makes it cold and the days are short!
And it takes Earth a whole year - 365 days - to go around the Sun once and get all four seasons.
Cool fact: When it's Summer where you are, it's Winter on the opposite side of the world! In Australia, kids have Christmas at the beach.
Want me to make this into a cute, printable coloring-page drawing you two can color in together?
Muse Spark OpenMeta
12 s$0.0061.4k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
I can’t draw pictures, but you and your 9-year-old can draw it together in about 5 minutes! Here is a simple, kid-friendly way to show it.
Earth is like a spinning top that is tilted. As it travels around the Sun, it always leans the same way. That tilt is why we have seasons — not because Earth gets closer or farther from the Sun.
What you need: Paper, a yellow crayon/marker, a blue crayon/marker, and something round to trace (like a cup).
Position 1 (Summer) Position 3 (Winter)
☀️ ☀️
| |
/-----\ /-----\
| / | | / |
| / N | | / N |
\-----/ \-----/
North Pole tilts North Pole tilts
toward the Sun away from the Sun
(Same tilt direction every time! Earth just moves around the Sun.)
(Positions 2 and 4 would be spring and fall.)
If you want, you can even use a flashlight (the Sun) and a globe or ball with a stick stuck through it (Earth) to show it in real life!
Nemotron 3.5 Super VLNVIDIA
11 s<$0.0011.7k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
This is such a fun question! I can't literally draw a picture for you, but I can give you a super simple way to draw it together on paper (with the explanation built in), plus a text-picture you can look at right now.
Here is the secret: It’s not about how far Earth is from the Sun. It’s about how Earth is leaning.
Get a piece of paper, a pencil, and two colors (orange and blue).
Here’s what your paper should look like:
SUMMER!
/
/ <-- Earth is leaning toward the sun
/
~~~~~ SUN ~~~~~
\
\ <-- Earth is leaning away from the sun
\
WINTER!
Ask her if she has ever shined a flashlight straight down on the floor versus holding it at a slanted angle.
The Earth spins like a spinning top, but it always leans the same way as it goes around the Sun. So for half the year (Summer), our top of the world (the North Pole) leans toward the Sun. The other half (Winter), it leans away.
A lot of people think we have winter because the Earth is farther away from the Sun. That’s wrong! In January, Earth is actually closest to the Sun, but it's Winter for us in the north because we are leaning away. If you live in Australia, it's Summer right now because their South Pole is leaning toward the Sun!
The drawing you made together is the perfect cheat-sheet. Hang it on the fridge! If she asks again next year, you can just point to the stick leaning toward the sun. 😊
Pareto 26.10Unbiased
11 s$0.0061.8k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here is a drawing and an explanation you can share right with her!
To a 9-year-old, the biggest surprise is usually that seasons have nothing to do with how close the Earth is to the Sun. Instead, it’s all about the Earth's tilt.
You can tell her: "Long ago, something big crashed into the Earth and knocked it slightly sideways. Now, as it travels around the Sun, it's always leaning in the same direction—like a dizzy skater!"
Here is the "map" of how it works (assuming you live in the Northern Hemisphere, like the US, Europe, or China):
WINTER for the Top Half
(December)
/
🌎 <-- Leaning AWAY from the Sun
/
SUMMER ☀️ WINTER
(June) SUN (December)
/ /
🌎 <-- Leaning TOWARD 🌎 <-- Leaning AWAY
/ the Sun /
/
🌎 <-- Leaning TOWARD the Sun
/
SUMMER for the Top Half
(June)
(Note: The left and right earths are the main ones to look at!)
Ask her to imagine holding a flashlight. If you shine it straight down at the floor, it makes a bright, hot circle. If you tilt the flashlight, the light spreads out and gets dimmer. The Sun does the same thing to the Earth!
In June, the top half of the Earth is leaning toward the Sun.
/ <-- North Pole
========= 000
☀️ ========= 00000 <-- Top half gets hit STRAIGHT ON
SUN ========= 00000 with strong, hot sunlight! (Summer)
========= 000
/ <-- South Pole (Leaning away = Winter)
Six months later, the Earth has traveled to the other side of the Sun. It is still leaning the exact same way, which means the top half is now leaning away from the Sun.
/ <-- North Pole (Leaning away = Winter)
000 =========
00000 ========= Top half only gets glancing,
--> --> --> 00000 ========= weak sunlight. (Brrr!)
(Sunlight from 000 =========
the left) / <-- South Pole (Leaning toward = Summer!)
Quick Activity: Grab a ball (or an orange) and a flashlight. Put a sticker on the top half of the orange for your house. Tilt the orange a little bit, and walk it in a circle around the flashlight, keeping the tilt pointed at the same wall in your room. She will see the sticker go from the bright light (Summer) to the shadow (Winter)!
Gemini 4 ArgonGoogle
20 s$0.010990 tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here's a simple way to show your daughter why we have summer and winter. I can't draw a real picture, but I can make a little diagram with text that you can copy onto paper or show her on a device.
The big idea: Seasons aren't about how close Earth is to the Sun. They're about Earth's tilt. Imagine a spinning top that's leaning over a bit. As it goes around the Sun, different parts of the top get more or less sunlight.
Here's a simple drawing:
The Sun ☀️
|
| (Earth's tilt: 23.5°)
/----+----\
/ | \
/ | \
(winter) (summer) ← Earth's tilt makes one side lean toward the Sun
What's really happening:
Why it's not about distance: Earth's orbit is almost a circle, so the distance change is tiny (less than 3% difference). That's not enough to make seasons. The tilt changes the angle of sunlight, which is what really matters.
How to explain it to her: "Imagine you're holding a flashlight. If you shine it straight down on a book, the light is bright and warm. If you tilt the book, the light spreads out and gets dimmer and cooler. That's what happens to the parts of Earth that are tilted toward the Sun in summer, and the parts tilted away in winter."
You can draw the diagram on paper with a stick figure for Earth, a big circle for the Sun, and arrows showing the tilt. She'll get it! If you want, I can make a version with more labels or a different style.
LFM2.5-24B-A2BLiquidAI
2 s<$0.001699 tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
I love this question! I can't create an actual picture file here, but I can draw it for you right in this chat using text, and then give you a super simple step-by-step guide so you and your daughter can draw it together on paper!
Here is my text drawing of the real reason (it's all about the tilt, not the distance!):
SUMMER (for us!)
(June 21st)
*
/|
/ |
/ | <-- Earth's "tilt stick"
/ |
/ |
Sun ==== O ====*
(center)
\ |
\ |
\ |
\ |
\*
WINTER (for us!)
(December 21st)
How to read this drawing:
/ | or \ | is Earth's "tilt stick." The Earth is always leaning over the same way, like a spinning top that's about to fall over.Supplies: Paper, a pencil, and a marker.
The "Flashlight Trick" to explain it:
Give her a flashlight and a ball (or just a lightbulb and her fist).
Also, a fun fact to blow her mind: The Earth is actually closer to the Sun in January (winter for us) and farthest in July (summer for us)! So distance is not the reason—the angle of the light is everything.
Let me know if she asks a follow-up about why the opposite side of the world has opposite seasons! 😊
Pareto 26.9Unbiased
13 s$0.0202.6k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
It's not because we're closer to the Sun. It's because the Earth is leaning.
Imagine the Earth has a stick going right through it, from the North Pole to the South Pole. That stick is always leaning a little bit, and it always leans the same way.
The stick always points the same way
↗ ↗
JUNE DECEMBER
Northern SUMMER Northern WINTER
↗ North Pole ↗ North Pole
🌍 ☀️ 🌍
SUN
North is leaning North is leaning
TOWARD the Sun AWAY from the Sun
Hot + long days Cold + short days
See how the Earth doesn't tip back and forth? It stays leaning the same way. But as it travels around the Sun, sometimes the top half is leaning toward the Sun, and 6 months later it's leaning away.
The top half is the Northern Hemisphere — that's where the US, Canada, and Europe are. The bottom half is the Southern Hemisphere — that's where Australia is.
So when it's summer for us, it's winter in Australia!
It's the same reason a flashlight looks brighter when you point it straight down.
SUMMER - Sun hits us straight
☀️ ------>
☀️ ------> 🌍 Rays land in a small spot
☀️ ------> = strong and hot
WINTER - Sun hits us slanted
☀️ ------>
☀️ ------> 🌍 Rays spread over a big spot
☀️ ------> = weaker and cold
Straight-on sunshine = more heat in one place + longer days = SUMMER Slanted sunshine = less heat + shorter days = WINTER
You'll see one side of your walk where the top of the orange gets lots of lamp light, and the opposite side where the top gets very little. That's summer and winter!
Muse WonderMeta
25 s$0.0482.4k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
The simple answer is: because Earth is tilted like a wobbling top, and as we go around the Sun, that tilt means the sunlight hits us at different angles.
Here is a drawing she can picture. Imagine looking at Earth from the side while it travels around the Sun:
North Pole always points the SAME direction in space
(like a top leaning over):
| | |
| | |
v v v
,-------. ,-------. ,-------.
/ | \ / ^ \ / | \
| | | | | | | | |
\ | / \ | / \ | /
'-------' '-------' '-------'
SUMMER WINTER
(North) (North)
North leans North leans
TOWARD the Sun AWAY from the Sun
Sunlight hits Sunlight hits
straight on. at a steep angle.
Grab an orange (or a ball) and a flashlight/lamp in a dark room.
Many kids (and adults!) think winter happens because Earth is farther from the Sun. That’s not true. In fact, Earth is actually slightly closer to the Sun in January! Seasons are caused by tilt and angle, not distance.
Bonus fun fact for her: While it’s winter for us, it’s summer in Australia, because they’re on the other half of the planet leaning toward the Sun at the same time.
Step 5 PreviewStepFun
37 s$0.0207.3k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
I can't draw pictures, but here's a sketch you can copy, plus a simple explanation she can follow.
JUNE (summer in the north)
N (north tilts toward the Sun)
● ───────────────► sunlight hits
S the north straight on
☀ SUN
DECEMBER (winter in the north)
N (north tilts away from the Sun)
● ───────────────► sunlight hits
S the north at a slant
The explanation: Earth is tilted, like a spinning top that's leaning over. As it travels around the Sun, the tilt always points the same direction. For half the year the top half leans toward the Sun, so sunlight hits it more directly and the days are longer and warmer. That's summer. Six months later, the same half leans away, so the sunlight is spread out and weaker. That's winter.
Common kid question: "Isn't Earth closer to the Sun in summer?" Actually, Earth is slightly closer to the Sun in January, during northern winter. The tilt matters much more than distance.
Hands-on version: Put a lamp in a dark room to be the Sun. Take a ball or globe, tilt it, and walk it in a circle around the lamp, keeping the tilt pointing the same way. Shine a flashlight on the top half when it leans toward the lamp, then on the bottom half. She'll see the light spread out and get dimmer on the slanted side.
Claude Haiku 5.5Anthropic
8 s<$0.0011.2k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
I can't draw actual pictures, but I can make you a text diagram (like a coloring book picture) that you can show her! Here's how to explain it:
☀️ THE SUN
WINTER (North America) SUMMER (North America)
\ | / \ | /
\ | / \ | /
\ | / \ | /
~~ 🜂 ~~ ~~ 🜂 ~~
/ | \ / | \
/ | \ / | \
| |
/ \ / \
/N \ /N \
| S | | S |
\ / \ /
\ / \ /
Leaning AWAY Leaning TOWARD
from the sun the sun
(Cold ❄️) (Warm ☀️)
Earth is like a person leaning on a pole while walking in a circle around the sun.
Earth is tilted – Imagine Earth is a ball that's leaning over to the side (about 23 degrees). It never stands up straight!
The lean never changes – As Earth travels around the sun (taking 1 year), the North Pole always points toward the same star in space (the North Star). It doesn't flip back and forth.
Summer = Leaning toward the sun ☀️
Winter = Leaning away from the sun ❄️
Shine a flashlight on a ball:
When it's summer in the USA/Europe, it's winter in Australia and South America! They have Christmas on the beach because their half of Earth is leaning the opposite way.
Important: It's NOT because Earth is closer or farther from the sun. (Actually, Earth is closest to the sun in January—right in the middle of winter for the north!)
Does that help? You could even draw this on paper with her—draw the sun in the middle, then four Earth circles around it with a little line through each showing the tilt!
Mistral Large 4Mistral
46 s$0.0052.4k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
I can't make actual pictures, but here's a diagram you can sketch together — drawing it with her is honestly the best version of this.
☀️ THE SUN (it just sits there, not moving)
─────────────────────────────────────────────►
WINTER for us SUMMER for us
/ \
/ ← the stick the Earth \
/ spins on is tilted \
.──────. .──────.
/ 🌍 \ / 🌍 \
\ / \ /
`──────' `──────'
tilted AWAY from the Sun tilted TOWARD the Sun
(December) (June)
The three things to tell her:
The demo she'll remember: In a dark room, shine a flashlight straight down on the table — you get a small, bright circle. Now tilt the flashlight so the light comes in at a slant — the light spreads into a big, faint, stretched-out oval. Same amount of light, but spread over a bigger area, so it's weaker. That's exactly what winter sunlight is.
Two facts that will blow her mind:
If you want to draw the real version: a big yellow circle in the middle, a big oval orbit around it, and Earth drawn at four spots on the oval with a line through it always leaning the same direction (point it toward the top-right corner every time). Then label the two spots where the lean points at the Sun versus away from it.
Ling 3.1 FlashinclusionAI
35 s<$0.0013.4k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Yes! 🌍 We have summer and winter because Earth is tilted—a little like a leaning spinning top.
Here’s a picture. The Earth’s lean stays pointing the same way as it travels around the Sun:
JUNE DECEMBER
N N
/ /
🌍 ←←← sunshine ←←← ☀️ →→→ sunshine →→→ 🌍
/ /
S S
North leans TOWARD the Sun North leans AWAY from the Sun
SUMMER in the north WINTER in the north
WINTER in the south SUMMER in the south
N means the North Pole, and S means the South Pole.
☀️ When your half of Earth leans toward the Sun:
The sunlight hits more straight-on, and the days are longer. More sunshine warms things up—summer!
❄️ When your half leans away:
The sunlight hits at a slant, and the days are shorter. Less sunshine means less warming—winter!
It’s the lean—not being closer to the Sun—that makes the seasons.
🔦 Try it together: Shine a flashlight straight onto a piece of paper, then tilt the paper. See how the same light spreads over a bigger patch? That spread-out light warms each little bit less—just like winter sunshine.
GPT-6.1 SolOpenAI
21 s$0.007716 tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Both Earths point at the SAME spot in space
(the North Star ⭐)
N N
/ /
.-/-. .-/-.
/ / \ ← ☀️ sunlight ☀️ → / / \
| / | ☀️ THE SUN ☀️ | / |
\/ / \/ /
'-/-' '-/-'
/ /
S S
JUNE DECEMBER
Top half leans TOWARD the Sun Top half leans AWAY from the Sun
North: SUMMER 🏖️ North: WINTER ⛄
South: WINTER South: SUMMER
Straight-on light: Slanted light:
||||| \\\\\\\\\
||||| \\\\\\\\\
┌─────┐ ──────────────
│small│ │ spread out │
│bright│ │ and dimmer│
└─────┘ ──────────────
Direct light is concentrated and warm. Slanted light is spread over a bigger area, so it's weaker. It's like a flashlight pointed straight at a wall versus at an angle.
Many people think summer happens because Earth is closer to the Sun. It's not! Earth is actually a little closer to the Sun in January, when it's winter in the north. The tilt is what matters.
Want me to make a printable version, or a simple SVG image she can color in?
Claude Sonnet 5.5Anthropic
16 s$0.0171.7k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here's a drawing you can pull up on screen or print out for her:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 680" width="900" height="680">
<style>
text { font-family: 'Trebuchet MS','Comic Sans MS','Chalkboard SE',sans-serif; }
</style>
<defs>
<radialGradient id="sunG" cx="0.4" cy="0.35" r="0.95">
<stop offset="0" stop-color="#fff7cc"/>
<stop offset="0.55" stop-color="#ffd23f"/>
<stop offset="1" stop-color="#ff9e00"/>
</radialGradient>
<radialGradient id="earthG" cx="0.35" cy="0.3" r="1">
<stop offset="0" stop-color="#4a90d9"/>
<stop offset="1" stop-color="#1f4e79"/>
</radialGradient>
<marker id="arrY" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto">
<path d="M0 0 L10 5 L0 10 z" fill="#ffd166"/>
</marker>
<marker id="arrG" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto">
<path d="M0 0 L10 5 L0 10 z" fill="#9fb3d9"/>
</marker>
</defs>
<!-- space background -->
<rect width="900" height="680" fill="#0f1b33"/>
<g fill="#ffffff">
<circle cx="60" cy="120" r="1.6" opacity="0.7"/><circle cx="120" cy="60" r="1.2" opacity="0.5"/>
<circle cx="210" cy="140" r="1.4" opacity="0.6"/><circle cx="300" cy="80" r="1.8" opacity="0.8"/>
<circle cx="380" cy="150" r="1.1" opacity="0.4"/><circle cx="520" cy="90" r="1.5" opacity="0.6"/>
<circle cx="610" cy="60" r="1.2" opacity="0.5"/><circle cx="700" cy="120" r="1.7" opacity="0.7"/>
<circle cx="790" cy="80" r="1.3" opacity="0.5"/><circle cx="850" cy="150" r="1.6" opacity="0.7"/>
<circle cx="80" cy="300" r="1.3" opacity="0.5"/><circle cx="40" cy="420" r="1.6" opacity="0.6"/>
<circle cx="860" cy="300" r="1.4" opacity="0.5"/><circle cx="870" cy="430" r="1.7" opacity="0.7"/>
<circle cx="150" cy="470" r="1.2" opacity="0.4"/><circle cx="360" cy="470" r="1.4" opacity="0.5"/>
<circle cx="560" cy="470" r="1.2" opacity="0.4"/><circle cx="760" cy="470" r="1.5" opacity="0.6"/>
<circle cx="50" cy="200" r="1.1" opacity="0.4"/><circle cx="880" cy="220" r="1.2" opacity="0.5"/>
<circle cx="250" cy="30" r="1.3" opacity="0.5"/><circle cx="650" cy="30" r="1.2" opacity="0.4"/>
<circle cx="330" cy="240" r="1.0" opacity="0.3"/><circle cx="590" cy="240" r="1.0" opacity="0.3"/>
<circle cx="420" cy="420" r="1.1" opacity="0.35"/><circle cx="480" cy="420" r="1.0" opacity="0.3"/>
</g>
<!-- titles -->
<text x="450" y="42" text-anchor="middle" font-size="30" font-weight="bold" fill="#ffffff" letter-spacing="1">Why Do We Have Seasons? 🌍</text>
<text x="450" y="70" text-anchor="middle" font-size="15" fill="#ffd166">Spoiler: it's not distance — it's the TILT!</text>
<!-- orbit path -->
<circle cx="450" cy="300" r="195" fill="none" stroke="#546a96" stroke-width="1.5" stroke-dasharray="6 6"/>
<path d="M 618.9 202.5 A 195 195 0 0 0 547.5 131.2" fill="none" stroke="#9fb3d9" stroke-width="2.5" marker-end="url(#arrG)"/>
<text x="450" y="100" text-anchor="middle" font-size="13.5" font-style="italic" fill="#9fb3d9">Fall</text>
<text x="450" y="516" text-anchor="middle" font-size="13.5" font-style="italic" fill="#9fb3d9">Spring</text>
<!-- the Sun -->
<g stroke="#ffb703" stroke-width="4" stroke-linecap="round">
<line x1="516" y1="300" x2="532" y2="300"/><line x1="507.2" y1="333" x2="521" y2="341"/>
<line x1="483" y1="357.2" x2="491" y2="371"/><line x1="450" y1="366" x2="450" y2="382"/>
<line x1="417" y1="357.2" x2="409" y2="371"/><line x1="392.8" y1="333" x2="379" y2="341"/>
<line x1="384" y1="300" x2="368" y2="300"/><line x1="392.8" y1="267" x2="379" y2="259"/>
<line x1="417" y1="242.8" x2="409" y2="229"/><line x1="450" y1="234" x2="450" y2="218"/>
<line x1="483" y1="242.8" x2="491" y2="229"/><line x1="507.2" y1="267" x2="521" y2="259"/>
</g>
<circle cx="450" cy="300" r="55" fill="url(#sunG)"/>
<circle cx="433" cy="292" r="5" fill="#7c2d12"/>
<circle cx="467" cy="292" r="5" fill="#7c2d12"/>
<path d="M 432 312 Q 450 326 468 312" fill="none" stroke="#7c2d12" stroke-width="4" stroke-linecap="round"/>
<!-- sunlight arrows -->
<g stroke="#ffd166" stroke-width="3" marker-end="url(#arrY)">
<line x1="505" y1="270" x2="588" y2="270"/><line x1="512" y1="300" x2="588" y2="300"/><line x1="505" y1="330" x2="588" y2="330"/>
<line x1="395" y1="270" x2="312" y2="270"/><line x1="388" y1="300" x2="312" y2="300"/><line x1="395" y1="330" x2="312" y2="330"/>
</g>
<!-- WINTER Earth (left) -->
<g transform="translate(255,300)">
<circle r="45" fill="url(#earthG)"/>
<g fill="#46c07a">
<ellipse cx="-15" cy="-15" rx="14" ry="10" transform="rotate(-20)"/>
<ellipse cx="17" cy="12" rx="12" ry="9" transform="rotate(15)"/>
<ellipse cx="-5" cy="25" rx="8" ry="6"/>
</g>
<ellipse cx="-18" cy="-41" rx="9" ry="4.5" transform="rotate(-23)" fill="#e8f6ff"/>
<!-- tilt axis -->
<line x1="-30" y1="-69" x2="30" y2="69" stroke="#cbd5e1" stroke-width="2" stroke-dasharray="5 4"/>
<text x="-37" y="-62" font-size="13" font-weight="bold" fill="#ffffff">N</text>
<!-- tilt angle -->
<line x1="0" y1="-75" x2="0" y2="-44" stroke="#94a3b8" stroke-width="1.5" stroke-dasharray="2 3"/>
<path d="M 0 -38 A 38 38 0 0 0 -15.2 -34.8" fill="none" stroke="#ffd166" stroke-width="2"/>
<text x="-55" y="-50" text-anchor="middle" font-size="12.5" font-weight="bold" fill="#ffd166">23.5°</text>
<!-- you -->
<g stroke="#ff8fa3" stroke-width="2" stroke-linecap="round">
<circle cx="-23" cy="-25" r="3.5" fill="#ff8fa3" stroke="none"/>
<line x1="-23" y1="-21.5" x2="-23" y2="-11"/>
<line x1="-29" y1="-17" x2="-17" y2="-17"/>
<line x1="-23" y1="-11" x2="-28" y2="-4"/>
<line x1="-23" y1="-11" x2="-18" y2="-4"/>
</g>
</g>
<text x="255" y="384" text-anchor="middle" font-size="22" font-weight="bold" fill="#8ecfff" letter-spacing="3">WINTER</text>
<text x="255" y="405" text-anchor="middle" font-size="13" fill="#dbe6f7">Northern Hemisphere leans AWAY from the Sun</text>
<!-- SUMMER Earth (right) -->
<g transform="translate(645,300)">
<circle r="45" fill="url(#earthG)"/>
<g fill="#46c07a">
<ellipse cx="-15" cy="-15" rx="14" ry="10" transform="rotate(-20)"/>
<ellipse cx="17" cy="12" rx="12" ry="9" transform="rotate(15)"/>
<ellipse cx="-5" cy="25" rx="8" ry="6"/>
</g>
<ellipse cx="-18" cy="-41" rx="9" ry="4.5" transform="rotate(-23)" fill="#e8f6ff"/>
<line x1="-30" y1="-69" x2="30" y2="69" stroke="#cbd5e1" stroke-width="2" stroke-dasharray="5 4"/>
<text x="-37" y="-62" font-size="13" font-weight="bold" fill="#ffffff">N</text>
<g stroke="#ff8fa3" stroke-width="2" stroke-linecap="round">
<circle cx="-23" cy="-25" r="3.5" fill="#ff8fa3" stroke="none"/>
<line x1="-23" y1="-21.5" x2="-23" y2="-11"/>
<line x1="-29" y1="-17" x2="-17" y2="-17"/>
<line x1="-23" y1="-11" x2="-28" y2="-4"/>
<line x1="-23" y1="-11" x2="-18" y2="-4"/>
</g>
</g>
<text x="600" y="318" text-anchor="end" font-size="12" font-weight="bold" fill="#ff8fa3">you!</text>
<line x1="602" y1="315" x2="614" y2="298" stroke="#ff8fa3" stroke-width="1.5" stroke-dasharray="2 2"/>
<text x="645" y="384" text-anchor="middle" font-size="22" font-weight="bold" fill="#ffb703" letter-spacing="3">SUMMER</text>
<text x="645" y="405" text-anchor="middle" font-size="13" fill="#dbe6f7">Northern Hemisphere leans TOWARD the Sun</text>
<!-- Flashlight trick card -->
<rect x="30" y="524" width="440" height="134" rx="14" fill="#1a2a4d" stroke="#31456f"/>
<text x="250" y="549" text-anchor="middle" font-size="15.5" font-weight="bold" fill="#ffd166">🔦 The Flashlight Trick</text>
<text x="147" y="575" text-anchor="middle" font-size="12.5" font-weight="bold" fill="#ffb703">Summer light: straight on</text>
<g stroke="#ffd166" stroke-width="3" marker-end="url(#arrY)">
<line x1="115" y1="585" x2="115" y2="622"/><line x1="147" y1="585" x2="147" y2="622"/><line x1="179" y1="585" x2="179" y2="622"/>
</g>
<line x1="55" y1="634" x2="240" y2="634" stroke="#c9a06b" stroke-width="3" stroke-linecap="round"/>
<ellipse cx="147" cy="634" rx="32" ry="6" fill="#ffe98a" opacity="0.95"/>
<text x="147" y="651" text-anchor="middle" font-size="11.5" fill="#e2e8f0">small bright spot = strong heat</text>
<text x="360" y="575" text-anchor="middle" font-size="12.5" font-weight="bold" fill="#8ecfff">Winter light: at a slant</text>
<g stroke="#ffd166" stroke-width="3" marker-end="url(#arrY)">
<line x1="295" y1="585" x2="339" y2="625"/><line x1="325" y1="585" x2="369" y2="625"/><line x1="355" y1="585" x2="399" y2="625"/>
</g>
<line x1="275" y1="634" x2="445" y2="634" stroke="#c9a06b" stroke-width="3" stroke-linecap="round"/>
<ellipse cx="369" cy="634" rx="56" ry="6" fill="#ffe98a" opacity="0.3"/>
<text x="360" y="651" text-anchor="middle" font-size="11.5" fill="#e2e8f0">same light spread out = weak heat</text>
<!-- Big idea card -->
<rect x="500" y="524" width="370" height="134" rx="14" fill="#1a2a4d" stroke="#31456f"/>
<text x="685" y="549" text-anchor="middle" font-size="15.5" font-weight="bold" fill="#ffd166">💡 The Big Idea</text>
<g font-size="13" fill="#e2e8f0">
<text x="516" y="572">1. Earth leans like a spinning top — 23.5°.</text>
<text x="516" y="594">2. The lean stays pointing the same way all year.</text>
<text x="516" y="616">3. Lean in → summer ☀ Lean out → winter ❄</text>
<text x="516" y="638" font-weight="bold" fill="#ffd166">4. It's the TILT, not the distance!</text>
</g>
</svg>
How to walk her through it:
Bonus: grab a flashlight and a ball. Shine it straight down at the ball — small bright spot. Now tilt the ball — same light spreads out and gets dimmer. That's the whole secret of winter, and she gets to do it herself.
Ember-1Fireworks
3 min 12 s$0.2517k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here you go — one self-contained page that draws the whole story: Earth leaning over as it travels around the Sun, and a live close-up showing what that lean does to the sunlight where a kid stands. Drag the planet, or press play.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Why do we have summer and winter? — a drawn answer</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..700&family=Schoolbell&display=swap" rel="stylesheet">
<style>
*{box-sizing:border-box}
:root{
--bg:#0f1118; --ink:#f4eddc; --muted:rgba(244,237,221,.55);
--warm:#ffaf5a; --cool:#8fbfe8; --paper:#f2ecdc; --paper2:#f6e7c6;
}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Fraunces",Georgia,serif;-webkit-font-smoothing:antialiased}
.wrap{width:min(1230px,calc(100% - 36px));margin-inline:auto}
::selection{background:var(--warm);color:#181c26}
:focus-visible{outline:2px dashed var(--warm);outline-offset:3px}
header{padding:60px 0 0}
.overline{font-family:"Schoolbell",cursive;font-size:16px;color:var(--warm);letter-spacing:.05em;display:flex;align-items:center;gap:10px}
.overline svg{flex:none}
h1{font-size:clamp(33px,5.2vw,58px);font-weight:560;line-height:1.1;margin:14px 0 4px;letter-spacing:-.01em}
h1 .sum{color:var(--warm);font-style:italic}
h1 .win{color:var(--cool);font-style:italic}
.lede{max-width:66ch;font-size:clamp(15.5px,1.6vw,18px);line-height:1.66;color:rgba(244,237,221,.82);margin:16px 0 0}
.lede strong{color:var(--warm);font-weight:600}
.stage{margin-top:32px}
.canvas-wrap{position:relative;padding:11px}
canvas{display:block;width:100%;touch-action:pan-y;border-radius:6px}
svg.frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.now-line{margin-top:14px;text-align:center;font-family:"Schoolbell",cursive;min-height:66px}
.now-main{font-size:clamp(16px,2vw,21px)}
.now-stat{font-size:14px;color:var(--muted);margin-top:4px}
.now-line.pop .now-main{animation:pop .45s ease}
@keyframes pop{0%{opacity:0;transform:translateY(4px)}100%{opacity:1}}
.controls{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:12px}
.btn-play{width:50px;height:50px;border-radius:47% 53% 50% 50%/52% 48% 55% 45%;border:1.5px solid rgba(244,237,221,.75);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .18s,color .18s,transform .12s}
.btn-play:hover{background:var(--ink);color:#161a24}
.btn-play:active{transform:scale(.94)}
.btn-play svg{width:19px;height:19px;fill:currentColor}
.timeline{flex:1;min-width:280px;height:62px;position:relative;cursor:pointer;touch-action:none;outline-offset:6px}
.tl-track{position:absolute;left:0;right:0;top:22px;height:2px;background:rgba(244,237,221,.3);border-radius:2px}
.tl-tick{position:absolute;top:17px;width:1.5px;height:12px;background:rgba(244,237,221,.4)}
.tl-month{position:absolute;top:37px;transform:translateX(-50%);font-family:"Schoolbell",cursive;font-size:13.5px;color:var(--muted)}
.tl-mark{position:absolute;top:19px;width:9px;height:9px;transform:translateX(-50%) rotate(45deg)}
.tl-mark.eq{border-radius:50%;transform:translateX(-50%)}
.tl-thumb{position:absolute;top:11px;width:26px;height:26px;transform:translateX(-50%);pointer-events:none}
.hemi{display:flex;align-items:center;gap:12px}
.seg-label{font-family:"Schoolbell",cursive;font-size:13.5px;color:var(--muted)}
.seg{display:flex;border:1.5px solid rgba(244,237,221,.7);border-radius:26px 22px 26px 24px/24px 28px 22px 30px}
.seg button{font-family:"Schoolbell",cursive;font-size:15.5px;padding:9px 16px;background:transparent;border:0;color:var(--muted);cursor:pointer;transition:.18s}
.seg button[aria-pressed="true"]{background:var(--ink);color:#161a24}
.hint{font-family:"Schoolbell",cursive;font-size:14px;color:var(--muted);text-align:center;margin-top:10px}
.story{margin:84px 0 0;display:grid;grid-template-columns:1.45fr .95fr;gap:56px;align-items:start}
.step{display:grid;grid-template-columns:62px 1fr;gap:22px;margin-bottom:42px}
.step .num{width:56px;height:56px;border:2px solid rgba(244,237,221,.8);border-radius:51% 49% 48% 52%/49% 53% 47% 51%;display:grid;place-items:center;font-size:26px;font-weight:600;font-style:italic;color:var(--warm)}
.step h3{margin:4px 0 10px;font-size:clamp(18px,1.8vw,21.5px);font-weight:600}
.step p{margin:0;font-size:16.5px;line-height:1.7;color:rgba(244,237,221,.85)}
.step strong{color:var(--warm);font-weight:600}
.step .cold{color:var(--cool)}
.note{position:relative;background:var(--paper);color:#232730;font-family:"Schoolbell",cursive;font-size:17px;line-height:1.55;padding:26px 28px 30px;border-radius:14px 255px 18px 225px/255px 14px 225px 18px;box-shadow:0 18px 40px rgba(0,0,0,.45);transform:rotate(-1.6deg)}
.note.alt{background:var(--paper2);transform:rotate(1.3deg);margin-top:32px}
.note::before{content:"";position:absolute;top:-13px;left:50%;width:96px;height:26px;transform:translateX(-50%) rotate(-2.5deg);background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.5);border-radius:2px}
.note h4{margin:0 0 8px;font-size:20px}
.note strong{color:#c2591f}
footer{margin:88px 0 64px;padding-top:26px;border-top:1.5px dashed rgba(244,237,221,.22);font-family:"Schoolbell",cursive;font-size:15px;color:var(--muted);line-height:1.75;max-width:76ch}
@media(max-width:880px){.story{grid-template-columns:1fr;gap:48px}}
@media(max-width:560px){
.controls{gap:14px}
.step{grid-template-columns:50px 1fr;gap:16px}
.step .num{width:46px;height:46px;font-size:22px}
}
</style>
</head>
<body>
<div class="wrap">
<header>
<div class="overline">
<svg width="14" height="14" viewBox="0 0 14 14" aria-hidden="true"><path d="M7 0 L8.4 5.6 L14 7 L8.4 8.4 L7 14 L5.6 8.4 L0 7 L5.6 5.6 Z" fill="currentColor"/></svg>
a picture answer — for a certain nine-year-old, and her grown-up
</div>
<h1>Why do we have <span class="sum">summer</span> and <span class="win">winter</span>?</h1>
<svg width="300" height="12" viewBox="0 0 300 12" aria-hidden="true" style="display:block;margin:8px 0 0">
<path d="M2 7 C 40 2, 80 10, 120 6 S 200 3, 240 8 S 285 5, 298 6" stroke="var(--warm)" stroke-width="3" fill="none" stroke-linecap="round"/>
</svg>
<p class="lede">The short answer: the Earth is tipped over like a spinning top that <strong>never straightens up</strong>. Once a year your half of the planet leans toward the Sun — that's summer. Half a year later it leans away — winter. Here's the whole story, drawn. <strong>Drag the little planet</strong> around its ring and watch what the sunshine does.</p>
</header>
<section class="stage" aria-label="interactive drawing of the seasons">
<div class="canvas-wrap">
<canvas id="sky" aria-label="A drawing you can drag: Earth travelling around the Sun while staying tilted, plus a close-up panel showing how steeply sunlight lands and how long the days are."></canvas>
<svg class="frame" id="frame" aria-hidden="true"></svg>
</div>
<div class="now-line" id="nowline" aria-live="polite">
<div class="now-main" id="nowMain"></div>
<div class="now-stat" id="nowStat"></div>
</div>
<div class="controls">
<button class="btn-play" id="playBtn" aria-label="play or pause the year">
<svg viewBox="0 0 24 24" aria-hidden="true">
<path id="icoPlay" d="M7 4 L20 12 L7 20 Z"/>
<g id="icoPause" style="display:none">
<rect x="6" y="4.5" width="4.4" height="15" rx="1.2"/>
<rect x="13.6" y="4.5" width="4.4" height="15" rx="1.2"/>
</g>
</svg>
</button>
<div class="timeline" id="tl" role="slider" tabindex="0" aria-label="time of year" aria-valuemin="0" aria-valuemax="365"></div>
<div class="hemi">
<span class="seg-label">watch from:</span>
<div class="seg">
<button id="hemiN" aria-pressed="true">the northern half</button>
<button id="hemiS" aria-pressed="false">the southern half</button>
</div>
</div>
</div>
<p class="hint">drag the Earth around the ring · space = play / pause · arrow keys nudge the days</p>
</section>
<section class="story">
<div class="steps">
<div class="step">
<div class="num">1</div>
<div>
<h3>The Earth leans — and it never straightens up.</h3>
<p>Earth spins like a top, but a top that stays tipped over: it leans by <strong>23½ degrees</strong>, aimed at the North Star, <strong>all year long</strong>. It doesn't nod back and forth. Watch the little arrows in the drawing — at every point of the trip they point the same way.</p>
</div>
</div>
<div class="step">
<div class="num">2</div>
<div>
<h3>Leaning in → sunshine lands steeply → summer.</h3>
<p>When your half leans <strong>toward</strong> the Sun, its light arrives almost straight-on. The very same sunshine gets packed onto a <strong>smaller patch of ground</strong>, so every patch gets more heat. Longer days pile on top of that: your half of the spinning Earth spends more of each day in the light.</p>
</div>
</div>
<div class="step">
<div class="num">3</div>
<div>
<h3>Leaning away → sunshine smears out → winter.</h3>
<p>Half a year later the Earth is around the other side — the lean hasn't moved, but now your half tilts <span class="cold">away</span>. The same sunshine lands at a <strong>shallow slant</strong> and spreads across a much bigger patch, so every patch gets less. Short days finish the job: <span class="cold">winter</span>.</p>
</div>
</div>
</div>
<aside>
<div class="note">
<h4>Try it tonight — winter on your desk</h4>
Turn off the lights and hold a flashlight straight down over a piece of paper: a small, super-bright circle. Now tilt the flashlight so the beam lands at a slant. Same flashlight, same beam — but the spot stretches into a long, pale oval. <strong>Same light, more paper, less heat for each bit.</strong> You just made winter. Straighten the flashlight back up — summer.
</div>
<div class="note alt">
<h4>The surprise: it's not about being closer to the Sun</h4>
Earth is actually <strong>farthest</strong> from the Sun in early July — right in the middle of the north's summer! If distance caused the seasons, the whole planet would warm and cool together. Instead, when Canada is baking, Australia is digging out scarves — that's the lean, not the distance.
</div>
</aside>
</section>
<footer>
P.S. — every angle in the drawing is real (the lean really is 23½°), but I cheated on the sizes: at this Earth's size, the true Sun would be about three of these screens wide, and roughly a hundred metres away. Some things a drawing simply has to shrink.<br><br>
Drag the Earth around again and watch the right-hand panel: steeper light, shorter shadow, longer day. That's the whole story of the seasons — for a kid who asks good questions.
</footer>
</div>
<script>
(() => {
'use strict';
const TAU = Math.PI*2, RAD = Math.PI/180, DEG = 180/Math.PI;
const EPS = 23.44*RAD; // Earth's real axial tilt
const YEAR_MS = 14000; // one lap of the orbit per 14 s
const ER = 30, R_SUN = 26; // drawn radii: Earth, Sun
const RM = matchMedia('(prefers-reduced-motion: reduce)').matches;
const C = {
ink:'#f4eddc', inkSoft:'rgba(244,237,221,.55)',
warm:'#ffaf5a', warmSoft:'rgba(255,175,90,.78)', cool:'#8fbfe8',
ray:'rgba(255,183,86,.45)',
};
// ---------------- state ----------------
const state = { day:172, playing:!RM, hemi:'north' }; // start at the June solstice
// ---------------- little utilities ----------------
function makeRand(s){ let x=s%2147483647; if(x<=0)x+=2147483646; return ()=>{ x=x*16807%2147483647; return x/2147483647; }; }
const MONTHS=[['January',0],['February',31],['March',59],['April',90],['May',120],['June',151],
['July',181],['August',212],['September',243],['October',273],['November',304],['December',334]];
function monthName(d){ let m='January'; for(const [n,s] of MONTHS){ if(d>=s) m=n; } return m; }
function thetaOf(d){ return (90+(d-80)*360/365.25)*RAD; } // orbit angle for a day of year
function astro(){
const th=thetaOf(state.day);
const u=-Math.cos(th); // −1 (Dec) … +1 (June): is the north leaning sunward?
const delta=u*23.44; // solar declination in degrees
const w=state.hemi==='north'?u:-u; // warmth of the watched half
const phi=(state.hemi==='north'?45:-45)*RAD; // the kid's latitude
const h=(90-Math.abs((phi-delta*RAD)*DEG))*RAD; // sun altitude at noon
const H=Math.acos(Math.min(1,Math.max(-1,-Math.tan(phi)*Math.tan(delta*RAD))));
const dayH=2*H*DEG/15; // hours of daylight
return {th,u,delta,w,h,dayH};
}
function fmtDur(hrs){
const h=Math.floor(hrs), m=Math.round((hrs-h)*60);
return m===60? `${h+1} h 00 min` : `${h} h ${String(m).padStart(2,'0')} min`;
}
// ---------------- canvas & layout ----------------
const cvs=document.getElementById('sky'), ctx=cvs.getContext('2d');
const wrap=cvs.parentElement;
let LW=1200, LH=620, scale=1, dpr=1, tall=false, A=null, B=null, starsA=[];
function sceneAParams(){
const cx=A.x+A.w/2, cy=A.y+342, rx=A.w/2-82, ry=rx*0.44;
return {cx,cy,rx,ry};
}
function orbitPoint(P,a){ return {x:P.cx+P.rx*Math.cos(a), y:P.cy+P.ry*Math.sin(a)}; }
function layout(){
const w=wrap.clientWidth-22;
tall = w<900;
if(tall){ LW=760; LH=1240; A={x:8,y:4,w:744,h:600}; B={x:10,y:660,w:740,h:570}; }
else { LW=1200; LH=620; A={x:10,y:6,w:724,h:606}; B={x:748,y:16,w:446,h:580}; }
scale=w/LW; dpr=Math.min(window.devicePixelRatio||1,2);
cvs.width=Math.round(LW*scale*dpr); cvs.height=Math.round(LH*scale*dpr);
cvs.style.height=(LH*scale)+'px';
const r=makeRand(11); starsA=[];
for(let i=0;i<26;i++) starsA.push({x:A.x+10+r()*(A.w-20), y:A.y+30+r()*(A.h-40),
r:0.7+r()*0.9, a:0.22+r()*0.4, spark:r()<0.12});
buildFrame();
}
function buildFrame(){
const svg=document.getElementById('frame');
const W=wrap.clientWidth, H=wrap.clientHeight;
svg.setAttribute('viewBox',`0 0 ${W} ${H}`);
const r=makeRand(5); const j=a=>(r()-0.5)*a;
const x=2,y=2,w2=W-4,h2=H-4;
let d=`M ${x+j(4)} ${y+j(4)}`;
d+=` Q ${x+w2/2+j(8)} ${y+j(6)} ${x+w2+j(4)} ${y+j(4)}`;
d+=` Q ${x+w2+j(8)} ${y+h2/2+j(6)} ${x+w2+j(4)} ${y+h2+j(4)}`;
d+=` Q ${x+w2/2+j(8)} ${y+h2+j(6)} ${x+j(4)} ${y+h2+j(4)}`;
d+=` Q ${x+j(8)} ${y+h2/2+j(6)} ${x+j(4)} ${y+j(4)} Z`;
svg.innerHTML=`<path d="${d}" fill="none" stroke="rgba(244,237,221,.4)" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"/>`;
}
// ---------------- drawing helpers ----------------
function txt(g,s,x,y,o={}){
const size=o.size||14, color=o.color||C.ink, align=o.align||'left';
const fam=o.serif?'Fraunces, Georgia, serif':'Schoolbell, cursive';
g.save();
g.font=`${o.italic?'italic ':''}${o.weight||'400'} ${size}px ${fam}`;
if(o.alpha!=null) g.globalAlpha=o.alpha;
g.translate(x,y); if(o.rot) g.rotate(o.rot*RAD);
if(o.bg){ const w=g.measureText(s).width;
g.fillStyle=o.bg;
g.fillRect(align==='center'?-w/2-6:align==='right'?-w-7:-3,-size*0.85,w+10,size*1.18); }
g.fillStyle=color; g.textAlign=align; g.textBaseline='alphabetic';
g.fillText(s,0,0);
g.restore();
}
function arrowHead(g,x,y,ang,s,color){
g.save(); g.translate(x,y); g.rotate(ang); g.fillStyle=color;
g.beginPath(); g.moveTo(0,0); g.lineTo(-s,-s*0.5); g.lineTo(-s,s*0.5); g.closePath(); g.fill();
g.restore();
}
function star4(g,x,y,r){
g.beginPath();
g.moveTo(x,y-r); g.quadraticCurveTo(x,y,x+r,y); g.quadraticCurveTo(x,y,x,y+r);
g.quadraticCurveTo(x,y,x-r,y); g.quadraticCurveTo(x,y,x,y-r); g.closePath();
}
function rrect(g,x,y,w,h,r){
g.beginPath();
if(g.roundRect){ g.roundRect(x,y,w,h,r); return; }
g.moveTo(x+r,y); g.arcTo(x+w,y,x+w,y+h,r); g.arcTo(x+w,y+h,x,y+h,r);
g.arcTo(x,y+h,x,y,r); g.arcTo(x,y,x+w,y,r); g.closePath();
}
function handRectPanel(g,x,y,w,h){
const r=makeRand(31); const j=a=>(r()-0.5)*a;
g.beginPath();
g.moveTo(x+j(4),y+j(4));
g.quadraticCurveTo(x+w/2+j(6),y+j(4),x+w+j(4),y+j(4));
g.quadraticCurveTo(x+w+j(4),y+h/2+j(6),x+w+j(4),y+h+j(4));
g.quadraticCurveTo(x+w/2+j(6),y+h+j(4),x+j(4),y+h+j(4));
g.quadraticCurveTo(x+j(4),y+h/2+j(6),x+j(4),y+j(4));
g.closePath();
}
// hand-authored "continents" in unit coordinates
const LAND=[
{pts:[[-0.62,-0.12],[-0.32,-0.22],[-0.12,-0.02],[-0.2,0.32],[-0.5,0.28]]},
{pts:[[0.18,-0.68],[0.5,-0.6],[0.62,-0.38],[0.34,-0.28],[0.12,-0.38]]},
{pts:[[0.16,0.18],[0.4,0.12],[0.55,0.34],[0.36,0.55],[0.14,0.42]]},
{pts:[[-0.28,0.38],[-0.05,0.35],[0.02,0.55],[-0.18,0.66]]},
{pts:[[-0.3,-0.65],[-0.02,-0.6],[0.05,-0.42],[-0.22,-0.4]]},
];
function drawLand(g,r){
for(const b of LAND){
g.beginPath();
b.pts.forEach((p,i)=>{ const X=p[0]*r, Y=p[1]*r; i?g.lineTo(X,Y):g.moveTo(X,Y); });
g.closePath();
g.fillStyle='#7ca868'; g.fill();
g.strokeStyle='rgba(60,100,55,.5)'; g.lineWidth=1; g.stroke();
}
}
function drawSun(g,x,y,T){
const R=R_SUN;
const gr=g.createRadialGradient(x,y,R*0.5,x,y,R*2.1);
gr.addColorStop(0,'rgba(255,170,70,.3)'); gr.addColorStop(1,'rgba(255,170,70,0)');
g.fillStyle=gr; g.beginPath(); g.arc(x,y,R*2.1,0,TAU); g.fill();
g.save(); g.translate(x,y); g.rotate(RM?0:T*0.03);
g.strokeStyle='rgba(255,176,84,.5)'; g.lineWidth=2; g.lineCap='round';
for(let i=0;i<14;i++){
const a=i/14*TAU+(i%3)*0.05, l=R+8+((i*7)%5)*2.2;
g.beginPath(); g.moveTo(Math.cos(a)*(R+4),Math.sin(a)*(R+4)); g.lineTo(Math.cos(a)*l,Math.sin(a)*l); g.stroke();
}
g.restore();
g.beginPath(); g.arc(x,y,R,0,TAU); g.fillStyle='#ffc35c'; g.fill();
g.beginPath(); g.arc(x,y,R-7,0,TAU); g.fillStyle='#ffe2a8'; g.fill();
g.beginPath(); g.arc(x,y,R,0,TAU); g.strokeStyle='rgba(255,140,50,.7)'; g.lineWidth=1.5; g.stroke();
}
// faint "ghost" Earths at the four quarters — all axes parallel, that's the point
function drawGhost(g,P,x,y,r){
const ax={x:Math.sin(EPS),y:-Math.cos(EPS)};
let sdx=P.cx-x, sdy=P.cy-y; const l=Math.hypot(sdx,sdy)||1; sdx/=l; sdy/=l;
const sdAng=Math.atan2(sdy,sdx);
g.save(); g.globalAlpha=.85;
g.beginPath(); g.arc(x,y,r,0,TAU); g.fillStyle='rgba(47,95,146,.65)'; g.fill();
g.strokeStyle='rgba(244,237,221,.35)'; g.lineWidth=1; g.stroke();
g.save(); g.beginPath(); g.arc(x,y,r,0,TAU); g.clip();
g.translate(x,y); g.rotate(sdAng);
g.fillStyle='rgba(9,12,20,.45)'; g.fillRect(-r-1,-r-1,r+1,2*r+2);
g.restore();
const L=r+14;
g.strokeStyle='rgba(244,237,221,.55)'; g.lineWidth=1.2;
g.beginPath(); g.moveTo(x-ax.x*L,y-ax.y*L); g.lineTo(x+ax.x*L,y+ax.y*L); g.stroke();
arrowHead(g,x+ax.x*L,y+ax.y*L,Math.atan2(ax.y,ax.x),5,'rgba(255,175,90,.8)');
g.restore();
}
let spin=0; // Earth's daily spin (visual only)
function drawEarthFull(g,x,y,r,as,sun){
const ax={x:Math.sin(EPS),y:-Math.cos(EPS)}; // axis direction on screen, fixed forever
let sdx=sun.cx-x, sdy=sun.cy-y; const sl=Math.hypot(sdx,sdy)||1; sdx/=sl; sdy/=sl;
const axAng=Math.atan2(ax.y,ax.x), sdAng=Math.atan2(sdy,sdx);
g.beginPath(); g.arc(x,y,r,0,TAU); g.fillStyle='#2f5f92'; g.fill();
g.save(); g.beginPath(); g.arc(x,y,r-0.6,0,TAU); g.clip();
g.save(); g.translate(x,y); g.rotate(spin); drawLand(g,r); g.restore(); // spinning continents
// warm / cool wash: which half leans sunward
g.save(); g.translate(x,y); g.rotate(axAng);
const warmN=as.u>0;
g.fillStyle=warmN?'rgba(255,160,70,.12)':'rgba(120,170,230,.11)'; g.fillRect(0,-r,r,2*r);
g.fillStyle=warmN?'rgba(120,170,230,.11)':'rgba(255,160,70,.12)'; g.fillRect(-r,-r,r,2*r);
g.strokeStyle='rgba(244,237,221,.5)'; g.lineWidth=1; g.setLineDash([4,4]);
g.beginPath(); g.moveTo(0,-r); g.lineTo(0,r); g.stroke(); g.setLineDash([]);
g.restore();
// night side + sunlit rim
g.save(); g.translate(x,y); g.rotate(sdAng);
g.fillStyle='rgba(9,12,20,.55)'; g.fillRect(-r-1,-r-1,r+1,2*r+2);
g.fillStyle='rgba(9,12,20,.18)'; g.fillRect(0,-r-1,r*0.28,2*r+2);
g.strokeStyle='rgba(255,214,140,.4)'; g.lineWidth=3; g.lineCap='round';
g.beginPath(); g.arc(0,0,r-1.4,-0.9,0.9); g.stroke();
g.restore();
g.restore();
g.beginPath(); g.arc(x,y,r+1,0,TAU); g.strokeStyle='rgba(150,190,255,.28)'; g.lineWidth=1.2; g.stroke();
// the axis, always the same screen direction
const a1={x:x-ax.x*(r+26),y:y-ax.y*(r+26)}, a2={x:x+ax.x*(r+26),y:y+ax.y*(r+26)};
g.strokeStyle='rgba(244,237,221,.85)'; g.lineWidth=1.6;
g.beginPath(); g.moveTo(a1.x,a1.y); g.lineTo(a2.x,a2.y); g.stroke();
arrowHead(g,a2.x,a2.y,Math.atan2(ax.y,ax.x),6,'rgba(244,237,221,.9)');
// the real 23½° annotation against straight-up-and-down
g.save();
g.strokeStyle='rgba(244,237,221,.28)'; g.lineWidth=1; g.setLineDash([3,5]);
g.beginPath(); g.moveTo(x,y-r-30); g.lineTo(x,y+r+30); g.stroke(); g.setLineDash([]);
g.strokeStyle='rgba(255,175,90,.65)'; g.lineWidth=1.4;
g.beginPath(); g.arc(x,y,r+13,-90*RAD,(-90+23.44)*RAD); g.stroke();
g.restore();
const aa=(-90+11.7)*RAD;
txt(g,'23½°',x+Math.cos(aa)*(r+27),y+Math.sin(aa)*(r+27)+4,{size:12,color:'rgba(255,175,90,.9)'});
// equator label
const eq={x:-ax.y,y:ax.x};
txt(g,'equator',x+eq.x*(r+9)-6,y+eq.y*(r+9)+10,{size:11,color:C.inkSoft,italic:true});
// "you" dot at 45° on the watched half
const sgn=state.hemi==='north'?1:-1;
const yp={x:x+ax.x*r*0.707*sgn,y:y+ax.y*r*0.707*sgn};
g.beginPath(); g.arc(yp.x,yp.y,3,0,TAU); g.fillStyle=C.warm; g.fill();
g.beginPath(); g.arc(yp.x,yp.y,5.5,0,TAU); g.strokeStyle='rgba(244,237,221,.85)'; g.lineWidth=1.2; g.stroke();
txt(g,'you',yp.x+8,yp.y-6,{size:12.5,color:'rgba(244,237,221,.95)'});
// polar midnight-sun / polar-night note
const lit=as.u*sgn>0.72, dark=as.u*sgn<-0.72;
if(lit||dark){
const pt={x:x+ax.x*(r+30)*sgn,y:y+ax.y*(r+30)*sgn};
const side=x<sun.cx?1:-1;
const msg=lit?'the Sun never even sets here!':"the Sun doesn't rise here at all";
const col=lit?C.warmSoft:'rgba(143,191,232,.85)';
if(side>0) txt(g,msg,pt.x+10,pt.y-8,{size:13,color:col,rot:1.5});
else txt(g,msg,pt.x-10,pt.y-8,{size:13,color:col,rot:-1.5,align:'right'});
}
}
// ---------------- scene A: the trip around the Sun ----------------
function drawSceneA(g,T,as){
const P=sceneAParams();
const {cx,cy,rx,ry}=P;
const th=as.th, E=orbitPoint(P,th);
const ax={x:Math.sin(EPS),y:-Math.cos(EPS)};
for(const s of starsA){
g.globalAlpha=s.a*0.8; g.fillStyle=C.ink;
g.beginPath(); g.arc(s.x,s.y,s.r,0,TAU); g.fill();
if(s.spark){ g.globalAlpha=s.a; star4(g,s.x,s.y,s.r*3.2); g.fill(); }
}
g.globalAlpha=1;
// dotted orbit
g.save(); g.strokeStyle='rgba(244,237,221,.34)'; g.lineWidth=1.4; g.setLineDash([1.6,7]); g.lineCap='round';
g.beginPath(); g.ellipse(cx,cy,rx,ry,0,0,TAU); g.stroke(); g.restore();
drawSun(g,cx,cy,T);
txt(g,'the Sun',cx,cy+R_SUN+22,{size:13.5,color:C.inkSoft,align:'center'});
// the four quarters, with parallel axis stubs
const quarters=[
{a:180*RAD,t:'JUNE',lines:[['north: summer',C.warmSoft],['south: winter','rgba(143,191,232,.65)']],lx:cx-rx,ly:cy+80},
{a:0,t:'DECEMBER',lines:[['north: winter','rgba(143,191,232,.65)'],['south: summer',C.warmSoft]],lx:cx+rx,ly:cy+80},
{a:90*RAD,t:'MARCH',lines:[['day and night are equal',C.inkSoft]],lx:cx+120,ly:cy+ry+34},
{a:270*RAD,t:'SEPTEMBER',lines:[['day and night are equal',C.inkSoft]],lx:cx-120,ly:cy-ry-56},
];
for(const q of quarters){
const gp=orbitPoint(P,q.a);
drawGhost(g,P,gp.x,gp.y,9);
txt(g,q.t,q.lx,q.ly,{size:20,align:'center',color:'rgba(244,237,221,.92)'});
q.lines.forEach((ln,i)=>txt(g,ln[0],q.lx,q.ly+19+i*16,{size:12.5,align:'center',color:ln[1]}));
}
// direction-of-travel arrow, just ahead of Earth
const a2=th+32*RAD, p1=orbitPoint(P,th+10*RAD), p2=orbitPoint(P,a2);
g.save(); g.strokeStyle='rgba(244,237,221,.5)'; g.lineWidth=1.6; g.lineCap='round';
g.beginPath(); g.moveTo(p1.x,p1.y); g.quadraticCurveTo((p1.x+p2.x)/2,(p1.y+p2.y)/2-6,p2.x,p2.y); g.stroke();
const tg={x:-rx*Math.sin(a2),y:ry*Math.cos(a2)}, tn=Math.hypot(tg.x,tg.y)||1;
arrowHead(g,p2.x,p2.y,Math.atan2(tg.y/tn,tg.x/tn),7,'rgba(244,237,221,.5)');
g.restore();
// sunlight travelling to Earth
const dist=Math.hypot(E.x-cx,E.y-cy)||1;
const dir={x:(E.x-cx)/dist,y:(E.y-cy)/dist};
g.save(); g.strokeStyle=C.ray; g.lineWidth=2; g.lineCap='round'; g.setLineDash([10,13]);
const dashOff=RM?0:-(T*46)%23;
for(let k=-2;k<=2;k++){
const phi=k*0.085;
const d={x:dir.x*Math.cos(phi)-dir.y*Math.sin(phi),y:dir.x*Math.sin(phi)+dir.y*Math.cos(phi)};
const fx=E.x-cx, fy=E.y-cy;
const b=d.x*fx+d.y*fy, c=fx*fx+fy*fy-ER*ER, disc=b*b-c;
let tEnd;
if(disc>0){ tEnd=b-Math.sqrt(disc); if(tEnd<0) tEnd=b; } else tEnd=Math.hypot(fx,fy)+20;
g.lineDashOffset=dashOff;
g.beginPath(); g.moveTo(cx+d.x*(R_SUN+10),cy+d.y*(R_SUN+10)); g.lineTo(cx+d.x*tEnd,cy+d.y*tEnd); g.stroke();
}
g.setLineDash([]); g.restore();
if(dist>190){
txt(g,'sunlight',cx+dir.x*dist*0.55+(-dir.y)*14,cy+dir.y*dist*0.55+dir.x*14+5,
{size:15,color:'rgba(255,190,100,.85)',align:'center',italic:true});
}
drawEarthFull(g,E.x,E.y,ER,as,{cx,cy});
// the North Star, sitting exactly along the axis direction
const st={x:cx+ax.x*252,y:cy+ax.y*252};
g.fillStyle='#ffd98f'; star4(g,st.x,st.y,10); g.fill();
g.fillStyle='#fff3d8'; g.beginPath(); g.arc(st.x,st.y,1.6,0,TAU); g.fill();
txt(g,'the North Star',st.x+16,st.y-8,{size:16,color:C.ink});
txt(g,'the lean always points here — it never changes',st.x-8,st.y+18,{size:13,color:C.inkSoft,align:'center'});
txt(g,'one trip around the Sun = one year',A.x+26,A.y+46,{size:20,color:'rgba(244,237,221,.9)',rot:-1.2});
txt(g,'angles are the real ones — sizes, kindly shrunk',A.x+26,A.y+68,{size:13,color:C.inkSoft,rot:-1.2});
}
// ---------------- scene B: what the sunshine does at the kid's feet ----------------
const flakes=Array.from({length:64},()=>({x:Math.random(),y:Math.random(),
v:0.05+Math.random()*0.08,r:1+Math.random()*1.5,fr:1+Math.random()*2,ph:Math.random()*6}));
function kidLine(w){
if(w>0.55) return 'Packed-in sunshine.\nHot!';
if(w>0.15) return 'Nice and steep\nout there today.';
if(w>-0.15) return 'In-between light.\nJust right.';
if(w>-0.55) return 'Brrr — the light\nis going shallow…';
return 'The same light, all\nsmeared out. Cold!';
}
function drawMiniSun(g,x,y){
const r=13;
const gr=g.createRadialGradient(x,y,4,x,y,34);
gr.addColorStop(0,'rgba(255,170,70,.4)'); gr.addColorStop(1,'rgba(255,170,70,0)');
g.fillStyle=gr; g.beginPath(); g.arc(x,y,34,0,TAU); g.fill();
g.strokeStyle='rgba(255,176,84,.65)'; g.lineWidth=1.8; g.lineCap='round';
for(let i=0;i<10;i++){
const a=i/10*TAU+0.2;
g.beginPath(); g.moveTo(x+Math.cos(a)*(r+2),y+Math.sin(a)*(r+2)); g.lineTo(x+Math.cos(a)*(r+6),y+Math.sin(a)*(r+6)); g.stroke();
}
g.beginPath(); g.arc(x,y,r,0,TAU); g.fillStyle='#ffc35c'; g.fill();
g.beginPath(); g.arc(x,y,r-4,0,TAU); g.fillStyle='#ffe2a8'; g.fill();
}
function drawKid(g,x,feet,w,T){
const phase=w>0.35?'summer':w<-0.35?'winter':'mid';
const bob=RM?0:Math.sin(T*1.8)*1.2;
g.save(); g.translate(x,feet+bob);
const skin='#f0c6a0', outline='rgba(16,20,30,.6)';
const body=phase==='summer'?'#e8735a':phase==='winter'?'#6c8fbf':'#a89b7e';
g.lineCap='round';
g.strokeStyle=phase==='winter'?'#3f4654':'#c99b6f'; g.lineWidth=4.5;
g.beginPath(); g.moveTo(-3,-19); g.lineTo(-4.5,-1); g.stroke();
g.beginPath(); g.moveTo(3,-19); g.lineTo(4.5,-1); g.stroke();
g.fillStyle=body; rrect(g,-8.5,-42,17,25,6); g.fill();
g.strokeStyle=outline; g.lineWidth=1; rrect(g,-8.5,-42,17,25,6); g.stroke();
g.strokeStyle=body; g.lineWidth=3.5;
g.beginPath(); g.moveTo(-8,-37); g.lineTo(-11,-23); g.stroke();
g.beginPath(); g.moveTo(8,-37); g.lineTo(11,-23); g.stroke();
g.fillStyle=skin;
g.beginPath(); g.arc(-11,-22,2,0,TAU); g.fill();
g.beginPath(); g.arc(11,-22,2,0,TAU); g.fill();
if(phase==='winter'){
g.fillStyle='#e0b54c'; rrect(g,-8,-45,16,5.5,2.5); g.fill();
rrect(g,1,-42,5,11,2); g.fill();
} else {
g.fillStyle='rgba(16,20,30,.35)'; rrect(g,-7,-44.5,14,3,1.5); g.fill();
}
g.beginPath(); g.arc(0,-51,8.5,0,TAU); g.fillStyle=skin; g.fill();
g.strokeStyle=outline; g.lineWidth=1; g.stroke();
if(phase==='winter'){
g.fillStyle='#c65b4e'; g.beginPath(); g.arc(0,-51,8.7,Math.PI,0); g.closePath(); g.fill();
g.fillStyle='#a94b3f'; rrect(g,-9.5,-52.5,19,3,1.5); g.fill();
g.fillStyle='#e8dcc4'; g.beginPath(); g.arc(0,-58,3.2,0,TAU); g.fill();
} else {
g.fillStyle=phase==='summer'?'#d9a441':'#8a7d5e';
g.beginPath(); g.arc(0,-51,8.7,Math.PI,0); g.closePath(); g.fill();
g.fillStyle=phase==='summer'?'#c08a2e':'#756a50';
rrect(g,-14,-52.5,7,2.6,1.3); g.fill();
}
const blink=(T%3.7)<0.14;
g.fillStyle='#20242e';
if(blink){ g.fillRect(-4.8,-52,3,1.2); g.fillRect(0.2,-52,3,1.2); }
else{ g.beginPath(); g.arc(-3.3,-51.6,1.15,0,TAU); g.fill();
g.beginPath(); g.arc(1.7,-51.6,1.15,0,TAU); g.fill(); }
g.strokeStyle='#20242e'; g.lineWidth=1.1;
g.beginPath(); g.arc(-1,-48.5,2.8,0.2*Math.PI,0.8*Math.PI); g.stroke();
if(phase==='winter'){
g.fillStyle='rgba(224,120,90,.5)';
g.beginPath(); g.arc(-5.5,-49,1.3,0,TAU); g.fill();
g.beginPath(); g.arc(3.8,-49,1.3,0,TAU); g.fill();
}
g.restore();
}
function drawBubble(g,kx,headTopY,w){
const lines=kidLine(w).split('\n');
const bw=182, bh=22+lines.length*17;
const x0=kx-bw/2, y0=headTopY-bh-14, cy0=y0+bh/2;
g.save();
g.translate(kx,cy0); g.rotate(-1.2*RAD); g.translate(-kx,-cy0);
g.fillStyle='rgba(244,237,221,.96)';
rrect(g,x0,y0,bw,bh,10); g.fill();
g.beginPath(); g.moveTo(kx-10,y0+bh-2); g.lineTo(kx-2,y0+bh+9); g.lineTo(kx+4,y0+bh-2); g.closePath(); g.fill();
g.fillStyle='#20242e'; g.font='14.5px Schoolbell, cursive'; g.textAlign='center';
lines.forEach((ln,i)=>g.fillText(ln,kx,y0+24+i*17));
g.restore();
}
function drawSceneB(g,T,as,dt){
const w=as.w, alt=as.h, dayH=as.dayH;
const px=B.x+6, py=B.y+6, pw=B.w-12, ph=B.h-12;
handRectPanel(g,px,py,pw,ph);
g.strokeStyle='rgba(244,237,221,.3)'; g.lineWidth=1.5; g.stroke();
g.save(); g.beginPath(); g.rect(px,py,pw,ph); g.clip();
const yg=B.y+340;
const hitX=B.x+B.w*0.5;
const dx=Math.cos(alt), dyv=Math.sin(alt);
const pxv=-Math.sin(alt), pyv=Math.cos(alt);
const d=190;
const src={x:hitX-d*dx,y:yg-d*dyv};
txt(g,'…and what the lean does to your sunshine',B.x+26,B.y+44,{size:19.5,color:'rgba(244,237,221,.95)'});
txt(g,state.hemi==='north'
?'a kid at 45° north — like Chicago, Rome, or Sendai'
:'a kid at 45° south — like Patagonia or southern New Zealand',
B.x+26,B.y+66,{size:13,color:C.inkSoft});
// ground
const gx=px+16, gw=pw-32;
const snowy=w<-0.4;
g.fillStyle=snowy?'#232b38':'#1b2029'; g.fillRect(gx,yg,gw,24);
g.strokeStyle='rgba(244,237,221,.12)'; g.lineWidth=1;
for(let x=gx+8;x<gx+gw;x+=16){ g.beginPath(); g.moveTo(x,yg+4); g.lineTo(x-9,yg+22); g.stroke(); }
g.strokeStyle=snowy?'rgba(240,244,252,.8)':'rgba(244,237,221,.75)'; g.lineWidth=2; g.lineCap='round';
g.beginPath(); g.moveTo(gx,yg); g.lineTo(gx+gw,yg); g.stroke();
if(snowy){
const r=makeRand(44); g.fillStyle='rgba(240,244,252,.7)';
for(let i=0;i<26;i++){ g.beginPath(); g.arc(gx+r()*gw,yg+2+r()*18,1.2+r()*1.3,0,TAU); g.fill(); }
}
if(!snowy){
const green=w>0.05;
[0.07,0.18,0.3,0.62,0.74,0.9].forEach(f=>{
const x=gx+gw*f;
g.strokeStyle=green?'rgba(124,168,104,.85)':'rgba(160,150,120,.4)'; g.lineWidth=1.4;
for(let k=-1;k<=1;k++){
g.beginPath(); g.moveTo(x+k*2,yg); g.quadraticCurveTo(x+k*3,yg-4,x+k*4.5,yg-7); g.stroke();
}
});
if(w>0.55){
[0.12,0.26,0.83].forEach(f=>{
const x=gx+gw*f;
g.strokeStyle='rgba(124,168,104,.9)'; g.lineWidth=1.3;
g.beginPath(); g.moveTo(x,yg); g.quadraticCurveTo(x+1,yg-5,x,yg-9); g.stroke();
g.fillStyle=C.warm; g.beginPath(); g.arc(x,yg-11,3,0,TAU); g.fill();
g.fillStyle='#ffd98f'; g.beginPath(); g.arc(x,yg-11,1.2,0,TAU); g.fill();
});
}
}
// the beam (same width, same light — only the angle changes)
g.save(); g.strokeStyle='rgba(255,183,86,.5)'; g.lineWidth=1.8; g.lineCap='round';
g.setLineDash([8,12]); g.lineDashOffset=RM?0:-(T*52)%20;
for(let k=-2;k<=2;k++){
const off=k*19, sx=src.x+pxv*off, sy=src.y+pyv*off;
const tt=(yg-sy)/dyv;
g.beginPath(); g.moveTo(sx,sy); g.lineTo(sx+dx*tt,yg); g.stroke();
}
g.setLineDash([]); g.restore();
drawMiniSun(g,src.x,src.y);
// footprint glow + how much ground it covers
const groundX=off=>{ const sy=src.y+pyv*off; return src.x+pxv*off+dx*(yg-sy)/dyv; };
const xmin=Math.min(groundX(-38),groundX(38)), xmax=Math.max(groundX(-38),groundX(38));
const inten=Math.sin(alt)/Math.sin(68.5*RAD);
g.save(); g.lineCap='round';
g.strokeStyle=`rgba(255,178,86,${(0.22+0.6*inten).toFixed(3)})`; g.lineWidth=10;
g.beginPath(); g.moveTo(xmin+4,yg); g.lineTo(xmax-4,yg); g.stroke();
g.strokeStyle=`rgba(255,214,140,${(0.4+0.5*inten).toFixed(3)})`; g.lineWidth=4;
g.beginPath(); g.moveTo(xmin+4,yg); g.lineTo(xmax-4,yg); g.stroke();
g.restore();
g.strokeStyle='rgba(244,237,221,.6)'; g.lineWidth=1.2;
[xmin,xmax].forEach(x=>{ g.beginPath(); g.moveTo(x,yg-5); g.lineTo(x,yg+5); g.stroke(); });
const by=yg+36;
g.strokeStyle='rgba(244,237,221,.45)'; g.lineWidth=1;
g.beginPath(); g.moveTo(xmin,by-5); g.lineTo(xmin,by); g.lineTo(xmax,by); g.lineTo(xmax,by-5); g.stroke();
const ratio=(1/Math.sin(alt))/(1/Math.sin(68.5*RAD));
txt(g,ratio<1.25?'packed in tight — every bit of ground gets lots of heat'
:`smeared over ${ratio.toFixed(1)} × more ground — each bit gets less`,
(xmin+xmax)/2,by+16,{size:13.5,align:'center',color:'rgba(244,237,221,.8)'});
txt(g,'same sunshine in every beam — only the angle changes',(xmin+xmax)/2,by+33,
{size:12.5,align:'center',color:C.inkSoft,italic:true});
// sun-angle arc
g.strokeStyle='rgba(255,175,90,.7)'; g.lineWidth=1.5;
g.beginPath(); g.arc(hitX,yg,32,0,-alt,true); g.stroke();
txt(g,`${Math.round(alt*DEG)}° above the horizon`,hitX-14,yg-14,
{size:13.5,color:'rgba(255,190,110,.95)',align:'right',bg:'rgba(15,17,24,.75)'});
// the kid, and a shadow that tells the truth
const kidX=hitX+2;
const shLen=Math.min(160,50/Math.tan(alt));
g.fillStyle='rgba(4,7,12,.5)';
g.beginPath(); g.ellipse(kidX+shLen/2+3,yg+6,shLen/2+3,4.5,0,0,TAU); g.fill();
txt(g,alt>45*RAD?'short shadow — the sun is high':'long shadow — the sun is low',
kidX+shLen/2+3,yg+19,{size:12,align:'center',color:'rgba(244,237,221,.6)',italic:true,bg:'rgba(15,17,24,.6)'});
drawKid(g,kidX,yg,w,T);
drawBubble(g,kidX,yg-58,w);
if(w<-0.45&&!RM){
const bp=T%3.2;
for(let k=0;k<3;k++){
const p=(bp-k*0.3)/1.4;
if(p>0&&p<1){
g.fillStyle=`rgba(200,220,240,${(0.35*(1-p)).toFixed(3)})`;
g.beginPath(); g.arc(kidX-12-p*16,yg-48-p*6,2+p*4.5,0,TAU); g.fill();
}
}
}
// the day-length bar
const bx=px+18, bw2=pw-36, barY=yg+106, bh=13;
txt(g,'how much of the day is sunlit',bx,barY-10,{size:12.5,color:C.inkSoft});
txt(g,`${fmtDur(dayH)} of daylight`,px+pw-18,barY-10,{size:14,color:C.warmSoft,align:'right'});
rrect(g,bx,barY,bw2,bh,6); g.fillStyle='rgba(244,237,221,.1)'; g.fill();
const f0=(12-dayH/2)/24, f1=(12+dayH/2)/24;
rrect(g,bx+bw2*f0+1,barY+1.5,Math.max(6,bw2*(f1-f0)-2),bh-3,4);
g.fillStyle='rgba(255,175,90,.85)'; g.fill();
g.fillStyle='#ffd98f'; g.beginPath(); g.arc(bx+bw2*0.5,barY+bh/2,2.2,0,TAU); g.fill();
g.strokeStyle='rgba(244,237,221,.35)'; g.lineWidth=1;
[0,0.25,0.5,0.75,1].forEach(f=>{ const x=bx+bw2*f; g.beginPath(); g.moveTo(x,barY-4); g.lineTo(x,barY+bh+4); g.stroke(); });
txt(g,'midnight',bx,barY+bh+17,{size:11,color:C.inkSoft});
txt(g,'6 am',bx+bw2*0.25,barY+bh+17,{size:11,color:C.inkSoft,align:'center'});
txt(g,'noon',bx+bw2*0.5,barY+bh+17,{size:11,color:C.inkSoft,align:'center'});
txt(g,'6 pm',bx+bw2*0.75,barY+bh+17,{size:11,color:C.inkSoft,align:'center'});
txt(g,'midnight',bx+bw2,barY+bh+17,{size:11,color:C.inkSoft,align:'right'});
// snowfall when the watched half is in deep winter
const snowA=Math.max(0,Math.min(1,(-w-0.4)/0.3));
if(snowA>0.02){
g.fillStyle=`rgba(235,240,252,${(snowA*0.8).toFixed(3)})`;
for(const f of flakes){
if(!RM){
f.y+=dt*f.v; f.x+=Math.sin(T*f.fr+f.ph)*0.0015;
if(f.y>0.99){ f.y=-0.02; f.x=Math.random(); }
}
g.beginPath(); g.arc(px+f.x*pw,py+f.y*(yg-py),f.r,0,TAU); g.fill();
}
}
g.restore();
}
function drawTallConnector(g){
const cx=A.x+A.w/2, y0=A.y+A.h+8;
g.strokeStyle='rgba(244,237,221,.55)'; g.lineWidth=1.6; g.lineCap='round';
g.beginPath(); g.moveTo(cx,y0+4); g.lineTo(cx,y0+30); g.stroke();
arrowHead(g,cx,y0+34,Math.PI/2,7,'rgba(244,237,221,.55)');
txt(g,'what does that mean down at your spot?',cx+16,y0+24,{size:14.5,color:C.inkSoft});
}
// ---------------- timeline + controls ----------------
const tl=document.getElementById('tl');
const nowline=document.getElementById('nowline'), nowMain=document.getElementById('nowMain'), nowStat=document.getElementById('nowStat');
const playBtn=document.getElementById('playBtn');
const icoPlay=document.getElementById('icoPlay'), icoPause=document.getElementById('icoPause');
const hemiN=document.getElementById('hemiN'), hemiS=document.getElementById('hemiS');
let tlThumb=null;
function buildTimeline(){
const letters='JFMAMJJASOND';
let html='<div class="tl-track"></div>';
MONTHS.forEach((m,i)=>{
const f=m[1]/365*100;
html+=`<div class="tl-tick" style="left:${f}%"></div><div class="tl-month" style="left:${f+1.35}%">${letters[i]}</div>`;
});
html+=`<div class="tl-mark" style="left:${(172/365*100).toFixed(2)}%;background:var(--warm)"></div>`;
html+=`<div class="tl-mark" style="left:${(355/365*100).toFixed(2)}%;background:var(--cool)"></div>`;
html+=`<div class="tl-mark eq" style="left:${(80/365*100).toFixed(2)}%;background:rgba(244,237,221,.6);height:8px"></div>`;
html+=`<div class="tl-mark eq" style="left:${(266/365*100).toFixed(2)}%;background:rgba(244,237,221,.6);height:8px"></div>`;
let rays='';
for(let i=0;i<8;i++){
const a=i/8*TAU;
rays+=`<line x1="${13+Math.cos(a)*9.5}" y1="${13+Math.sin(a)*9.5}" x2="${13+Math.cos(a)*13.2}" y2="${13+Math.sin(a)*13.2}" stroke="var(--warm)" stroke-width="1.6" stroke-linecap="round"/>`;
}
html+=`<svg class="tl-thumb" id="tlThumb" viewBox="0 0 26 26">${rays}<circle cx="13" cy="13" r="7" fill="var(--warm)"/></svg>`;
tl.innerHTML=html;
tlThumb=document.getElementById('tlThumb');
}
let scrubbing=false, wasPlaying=false;
function dayFromEvent(e){
const r=tl.getBoundingClientRect();
const f=Math.min(1,Math.max(0,(e.clientX-r.left)/r.width));
state.day=Math.round(f*365*4)/4%365;
}
tl.addEventListener('pointerdown',e=>{ scrubbing=true; wasPlaying=state.playing; state.playing=false;
tl.setPointerCapture(e.pointerId); dayFromEvent(e); syncPlayIcon(); });
tl.addEventListener('pointermove',e=>{ if(scrubbing) dayFromEvent(e); });
tl.addEventListener('pointerup',()=>{ scrubbing=false; state.playing=wasPlaying; syncPlayIcon(); });
tl.addEventListener('keydown',e=>{
if(e.key==='ArrowRight'){ state.day=(state.day+5)%365; e.preventDefault(); }
if(e.key==='ArrowLeft'){ state.day=(state.day-5+365)%365; e.preventDefault(); }
});
function syncPlayIcon(){
icoPlay.style.display=state.playing?'none':'';
icoPause.style.display=state.playing?'':'none';
}
playBtn.addEventListener('click',()=>{ state.playing=!state.playing; syncPlayIcon(); });
window.addEventListener('keydown',e=>{
if(e.code==='Space' && document.activeElement && document.activeElement.tagName!=='BUTTON'){
e.preventDefault(); state.playing=!state.playing; syncPlayIcon();
}
});
function setHemi(h){
state.hemi=h;
hemiN.setAttribute('aria-pressed',String(h==='north'));
hemiS.setAttribute('aria-pressed',String(h==='south'));
lastKey='';
}
hemiN.addEventListener('click',()=>setHemi('north'));
hemiS.addEventListener('click',()=>setHemi('south'));
// dragging the Earth itself on the canvas
let dragging=false, dragWasPlaying=false;
function toLocal(e){
const r=cvs.getBoundingClientRect();
return {x:(e.clientX-r.left)/scale,y:(e.clientY-r.top)/scale};
}
function setDayFromLocal(p){
const P=sceneAParams();
if(Math.abs(p.x-P.cx)<2 && Math.abs(p.y-P.cy)<2) return;
const th=Math.atan2((p.y-P.cy)/P.ry,(p.x-P.cx)/P.rx)*DEG;
let d=((th-90)*365.25/360+80)%365;
if(d<0)d+=365;
state.day=Math.round(d*4)/4;
}
cvs.addEventListener('pointerdown',e=>{
const p=toLocal(e), P=sceneAParams();
const th=thetaOf(state.day), E=orbitPoint(P,th);
const dE=Math.hypot(p.x-E.x,p.y-E.y);
const pth=Math.atan2((p.y-P.cy)/P.ry,(p.x-P.cx)/P.rx);
const op=orbitPoint(P,pth);
const dO=Math.hypot(p.x-op.x,p.y-op.y);
if(dE<46||dO<18){
dragging=true; dragWasPlaying=state.playing; state.playing=false;
cvs.setPointerCapture(e.pointerId); setDayFromLocal(p); syncPlayIcon();
}
});
cvs.addEventListener('pointermove',e=>{
if(dragging){ setDayFromLocal(toLocal(e)); return; }
const p=toLocal(e), P=sceneAParams();
const E=orbitPoint(P,thetaOf(state.day));
cvs.style.cursor=Math.hypot(p.x-E.x,p.y-E.y)<46?'grab':'default';
});
const endDrag=()=>{ if(dragging){ dragging=false; state.playing=dragWasPlaying; syncPlayIcon(); } };
cvs.addEventListener('pointerup',endDrag);
cvs.addEventListener('pointercancel',endDrag);
// ---------------- the live sentence under the drawing ----------------
let lastKey='';
function updateDOM(){
const as=astro(), w=as.w;
const m=monthName(state.day);
const half=state.hemi==='north'?'northern':'southern';
const rising=Math.sin(as.th)>0;
const season=w>0.55?'summer':w<-0.55?'winter':
(state.hemi==='north'?(rising?'spring':'autumn'):(rising?'autumn':'spring'));
let main;
if(Math.abs(w)<0.09) main=`It's ${m} — the lean is neither in nor out, so day ≈ night everywhere.`;
else main=`It's ${m}. The ${half} half is leaning ${w>0?'toward':'away from'} the Sun — ${season} there!`;
const stat=`the sun climbs ${Math.round(as.h*DEG)}° above the horizon · ${fmtDur(as.dayH)} of daylight where the kid stands`;
const key=m+'|'+half+'|'+season+'|'+(w>0.09?'in':w<-0.09?'out':'mid');
if(key!==lastKey){
lastKey=key;
nowMain.textContent=main; nowStat.textContent=stat;
nowline.classList.remove('pop'); void nowline.offsetWidth; nowline.classList.add('pop');
}
if(tlThumb) tlThumb.style.left=(state.day/365*100)+'%';
tl.setAttribute('aria-valuenow',String(Math.round(state.day)));
tl.setAttribute('aria-valuetext',m);
}
// ---------------- main loop ----------------
function draw(T,dt){
ctx.setTransform(dpr*scale,0,0,dpr*scale,0,0);
ctx.fillStyle='#0f1118'; ctx.fillRect(0,0,LW,LH);
const as=astro();
drawSceneA(ctx,T,as);
drawSceneB(ctx,T,as,dt);
if(tall) drawTallConnector(ctx);
}
layout();
buildTimeline();
syncPlayIcon();
new ResizeObserver(()=>layout()).observe(wrap);
let last=performance.now()/1000, T=0;
function loop(now){
const nowS=now/1000;
const dt=Math.min(0.05,nowS-last); last=nowS;
T+=dt;
if(state.playing&&!dragging&&!scrubbing) state.day=(state.day+dt*365/(YEAR_MS/1000))%365;
spin+=RM?0:dt*TAU/6.5;
draw(T,dt);
updateDOM();
requestAnimationFrame(loop);
}
requestAnimationFrame(loop);
})();
</script>
</body>
</html>
What this gives her, and how to use it together:
Save it as an .html file and open it in any browser — it runs entirely locally (only the two fonts come from Google Fonts).
GLM 5.3 PrimeZ.ai
17 min 3 s$0.8596k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Sure! Here’s a simple drawing you can show her — or copy onto paper.
sunlight ← ← ← ☀️ SUN → → → sunlight
SUMMER in the North WINTER in the North
North Pole tilted TOWARD Sun North Pole tilted AWAY from Sun
N N
/ /
/ /
🌍 🌍
/ /
/ /
S S
Sunlight hits more straight-on Sunlight hits more slanted
Days are longer Days are shorter
N = North Pole, S = South Pole.
The slanted line through Earth is its tilt. Earth keeps the same tilt while it goes around the Sun.
You can say:
“Earth is tilted a little. When the half of Earth we live on leans toward the Sun, we get more direct sunlight and longer days — that’s summer. When it leans away, we get less direct sunlight and shorter days — that’s winter.”
If you live in the Southern Hemisphere, just swap summer and winter. Also: it’s not mainly because Earth is closer or farther from the Sun — it’s because of the tilt.
Qwen3.8 Max PrimeAlibaba
2 min 33 s$0.1412k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Earth spins around a pretend stick called an axis. That stick isn't straight up and down. It leans to one side, and it always leans the same way as Earth travels around the Sun.
JUNE DECEMBER
N N
/ /
(🌍) -----> ☀️ <----- (🌍)
/ SUN /
S S
The top half leans The top half leans
TOWARD the Sun AWAY from the Sun
= SUMMER ☀️ = WINTER ❄️
(for the top half) (for the top half)
Notice the stick points the same direction in both pictures. But because Earth moved to the other side of the Sun, the top half goes from leaning toward the Sun to leaning away from it!
Reason 1: The sunlight is more concentrated 🔦
SUMMER WINTER
(Sun high in sky) (Sun low in sky)
| | | | \ \ \ \
| | | | \ \ \ \
| | | | \ \ \ \
===[█████]=== ========[░░░░░░░░░░]===
Sunshine squished into Same sunshine spread out
a SMALL spot = HOT! over a BIG area = COOLER
Reason 2: Longer days ⏰ In summer, the Sun is up for a long time (more time to warm things up!). In winter, it gets dark early.
Flashlight test:
Orbit test:
Claude Opus 5.5Anthropic
19 s$0.0331.6k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Sure! Here’s a simple picture of Earth at two points in its trip around the Sun:
NORTHERN HEMISPHERE: SUMMER NORTHERN HEMISPHERE: WINTER
North pole ↗ North pole ↗
/ /
( Earth ) ← ← ← ← ☀ → → → → ( Earth )
June December
tilted toward the Sun tilted away from the Sun
Earth is tilted, and it keeps leaning the same way as it goes around the Sun. When our part of Earth tilts toward the Sun, sunlight shines more directly and the days are longer—that’s summer. When it tilts away, the sunlight is less direct and the days are shorter—that’s winter.
It’s not because Earth is much closer to the Sun in summer. And when it’s summer in the Northern Hemisphere, it’s winter in the Southern Hemisphere—like in Australia.
GPT-6 LunaOpenAI
15 s<$0.0011.6k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Yes. Summer and winter happen because Earth is tilted, not because we get closer to the Sun.
SUN
*
/|\
/ | \
/ | \
SUMMER here WINTER here
(your half leans (your half leans
toward the Sun) away from the Sun)
\ /
\ Earth / Earth
\ / / \
\ / axis / axis\
| tilted | tilted
/ \ / \
/ \ / \
More direct sunlight Sunlight hits at a slant
Longer days Shorter days
Warmer Colder
Earth spins like a top that is leaning a little (about the same lean all year). As we go around the Sun:
A quick demo: shine a flashlight straight down on a paper, then tilt the paper. Straight-on light is brighter and warmer. Slanted light is spread out and weaker. That is winter light.
Grok 4.7xAI
8 s$0.005452 tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here's a fun visual for her:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 700" font-family="Comic Sans MS, Chalkboard, cursive">
<!-- Sky background -->
<rect width="800" height="700" fill="#1a1a4e"/>
<!-- Title -->
<text x="400" y="45" text-anchor="middle" fill="white" font-size="26" font-weight="bold">🌍 Why Do We Have Seasons? 🌍</text>
<text x="400" y="75" text-anchor="middle" fill="#aaa" font-size="16">Because Earth is TILTED while it goes around the Sun!</text>
<!-- === ORBIT PATH (ellipse) === -->
<ellipse cx="400" cy="400" rx="310" ry="170" fill="none" stroke="#555" stroke-width="2" stroke-dasharray="8,6"/>
<!-- === SUN IN CENTER === -->
<circle cx="400" cy="400" r="60" fill="#FFD700"/>
<circle cx="400" cy="400" r="60" fill="none" stroke="#FFA500" stroke-width="3"/>
<!-- Sun glow -->
<circle cx="400" cy="400" r="75" fill="none" stroke="#FFD700" stroke-width="1" opacity="0.3"/>
<circle cx="400" cy="400" r="90" fill="none" stroke="#FFD700" stroke-width="1" opacity="0.15"/>
<circle cx="400" cy="400" r="110" fill="none" stroke="#FFD700" stroke-width="1" opacity="0.07"/>
<!-- Sun face -->
<circle cx="385" cy="390" r="6" fill="#E65100"/>
<circle cx="415" cy="390" r="6" fill="#E65100"/>
<path d="M 382 410 Q 400 428 418 410" fill="none" stroke="#E65100" stroke-width="3" stroke-linecap="round"/>
<!-- Sun rays -->
<line x1="400" y1="330" x2="400" y2="315" stroke="#FFD700" stroke-width="3" stroke-linecap="round"/>
<line x1="400" y1="470" x2="400" y2="485" stroke="#FFD700" stroke-width="3" stroke-linecap="round"/>
<line x1="340" y1="400" x2="325" y2="400" stroke="#FFD700" stroke-width="3" stroke-linecap="round"/>
<line x1="460" y1="400" x2="475" y2="400" stroke="#FFD700" stroke-width="3" stroke-linecap="round"/>
<line x1="357" y1="357" x2="347" y2="347" stroke="#FFD700" stroke-width="3" stroke-linecap="round"/>
<line x1="443" y1="357" x2="453" y2="347" stroke="#FFD700" stroke-width="3" stroke-linecap="round"/>
<line x1="357" y1="443" x2="347" y2="453" stroke="#FFD700" stroke-width="3" stroke-linecap="round"/>
<line x1="443" y1="443" x2="453" y2="453" stroke="#FFD700" stroke-width="3" stroke-linecap="round"/>
<text x="400" y="450" text-anchor="middle" fill="#E65100" font-size="13" font-weight="bold">☀️ SUN</text>
<!-- === ORBIT DIRECTION ARROWS === -->
<path d="M 680 400 Q 700 380 690 360" fill="none" stroke="#888" stroke-width="2" marker-end="url(#arrowhead)"/>
<path d="M 120 400 Q 100 420 110 440" fill="none" stroke="#888" stroke-width="2" marker-end="url(#arrowhead)"/>
<text x="695" y="350" text-anchor="middle" fill="#888" font-size="11">🌍→</text>
<!-- ============================== -->
<!-- EARTH #1: SUMMER (left side) -->
<!-- Axis tilted TOWARD sun -->
<!-- ============================== -->
<!-- Light rays hitting Earth (left) - concentrated -->
<line x1="470" y1="395" x2="360" y2="395" stroke="#FFD700" stroke-width="2.5" opacity="0.7"/>
<line x1="475" y1="415" x2="355" y2="415" stroke="#FFD700" stroke-width="2.5" opacity="0.7"/>
<line x1="475" y1="375" x2="355" y2="375" stroke="#FFD700" stroke-width="2.5" opacity="0.7"/>
<!-- Earth body (left) -->
<g transform="translate(310, 400)">
<!-- Ocean -->
<circle r="40" fill="#2196F3"/>
<!-- Continents (simplified) -->
<ellipse cx="-8" cy="-12" rx="18" ry="14" fill="#4CAF50"/>
<ellipse cx="12" cy="8" rx="15" ry="18" fill="#4CAF50"/>
<ellipse cx="-5" cy="20" rx="10" ry="8" fill="#4CAF50"/>
<!-- Ice cap top (tilted toward sun - gets lots of light) -->
<!-- The tilt: axis goes from upper-right to lower-left -->
<!-- Tilted TOWARD the sun means north pole leans toward sun -->
<!-- Northern hemisphere in sunlight = SUMMER -->
<g transform="rotate(23.5)">
<!-- Axis line -->
<line x1="0" y1="-55" x2="0" y2="55" stroke="white" stroke-width="2" stroke-dasharray="4,3"/>
<!-- N Pole marker -->
<circle cx="0" cy="-48" r="5" fill="#fff" stroke="#333" stroke-width="1"/>
<text x="0" y="-52" text-anchor="middle" fill="#333" font-size="7" font-weight="bold">N</text>
<circle cx="0" cy="48" r="5" fill="#fff" stroke="#333" stroke-width="1"/>
<text x="0" y="53" text-anchor="middle" fill="#333" font-size="7" font-weight="bold">S</text>
</g>
<!-- Atmosphere glow -->
<circle r="40" fill="none" stroke="#87CEEB" stroke-width="3" opacity="0.4"/>
</g>
<!-- Summer light cone (direct, tight) -->
<polygon points="400,400 345,360 345,440" fill="#FFD700" opacity="0.12"/>
<!-- Label for summer -->
<rect x="230" y="465" width="170" height="65" rx="12" fill="#FF6B00" opacity="0.9"/>
<text x="315" y="490" text-anchor="middle" fill="white" font-size="18" font-weight="bold">☀️ SUMMER</text>
<text x="315" y="512" text-anchor="middle" fill="white" font-size="12">Our end tilts TOWARD ☀️</text>
<text x="315" y="527" text-anchor="middle" fill="#FFE0B2" font-size="11">→ Direct, strong sunlight!</text>
<!-- =============================== -->
<!-- EARTH #2: WINTER (right side) -->
<!-- Axis tilted AWAY from sun -->
<!-- =============================== -->
<!-- Light rays hitting Earth (right) - spread out -->
<line x1="330" y1="395" x2="470" y2="395" stroke="#FFD700" stroke-width="1.5" opacity="0.4"/>
<line x1="330" y1="415" x2="470" y2="430" stroke="#FFD700" stroke-width="1.5" opacity="0.4"/>
<line x1="330" y1="375" x2="470" y2="365" stroke="#FFD700" stroke-width="1.5" opacity="0.4"/>
<!-- Earth body (right) -->
<g transform="translate(530, 400)">
<!-- Ocean -->
<circle r="40" fill="#2196F3"/>
<!-- Continents -->
<ellipse cx="-8" cy="-12" rx="18" ry="14" fill="#4CAF50"/>
<ellipse cx="12" cy="8" rx="15" ry="18" fill="#4CAF50"/>
<ellipse cx="-5" cy="20" rx="10" ry="8" fill="#4CAF50"/>
<!-- Axis (still tilted same direction in space - away from sun on this side) -->
<g transform="rotate(23.5)">
<line x1="0" y1="-55" x2="0" y2="55" stroke="white" stroke-width="2" stroke-dasharray="4,3"/>
<circle cx="0" cy="-48" r="5" fill="#fff" stroke="#333" stroke-width="1"/>
<text x="0" y="-52" text-anchor="middle" fill="#333" font-size="7" font-weight="bold">N</text>
<circle cx="0" cy="48" r="5" fill="#fff" stroke="#333" stroke-width="1"/>
<text x="0" y="53" text-anchor="middle" fill="#333" font-size="7" font-weight="bold">S</text>
</g>
<!-- Atmosphere -->
<circle r="40" fill="none" stroke="#87CEEB" stroke-width="3" opacity="0.4"/>
<!-- Snow on northern part to show it's cold -->
<circle cx="0" cy="-30" r="12" fill="white" opacity="0.5"/>
</g>
<!-- Winter light cone (spread, weak) -->
<polygon points="400,400 485,355 485,445" fill="#FFD700" opacity="0.07"/>
<!-- Label for winter -->
<rect x="450" y="465" width="170" height="65" rx="12" fill="#42A5F5" opacity="0.9"/>
<text x="535" y="490" text-anchor="middle" fill="white" font-size="18" font-weight="bold">❄️ WINTER</text>
<text x="535" y="512" text-anchor="middle" fill="white" font-size="12">Our end tilts AWAY from ☀️</text>
<text x="535" y="527" text-anchor="middle" fill="#BBDEFB" font-size="11">→ Weak, spread-out sunlight!</text>
<!-- ==================================== -->
<!-- AXIS TILT DIAGRAM (key insight) -->
<!-- ==================================== -->
<rect x="130" y="555" width="540" height="115" rx="15" fill="#2d2d6b" stroke="#FFD700" stroke-width="2" opacity="0.9"/>
<text x="400" y="582" text-anchor="middle" fill="#FFD700" font-size="16" font-weight="bold">🔑 The Big Secret: Earth's Tilt!</text>
<!-- Mini diagram: tilt explanation -->
<g transform="translate(250, 635)">
<!-- Upright Earth (no tilt - no seasons) -->
<circle r="22" fill="#2196F3" stroke="#87CEEB" stroke-width="1.5"/>
<line x1="0" y1="-30" x2="0" y2="30" stroke="white" stroke-width="2"/>
<text x="0" y="45" text-anchor="middle" fill="#ccc" font-size="11">No tilt = no seasons</text>
<line x1="0" y1="-32" x2="0" y2="-42" stroke="red" stroke-width="3"/>
<line x1="-5" y1="-42" x2="5" y2="-42" stroke="red" stroke-width="3"/>
</g>
<text x="340" y="635" text-anchor="middle" fill="white" font-size="22">→</text>
<g transform="translate(430, 635)">
<!-- Tilted Earth (23.5° - causes seasons) -->
<circle r="22" fill="#2196F3" stroke="#87CEEB" stroke-width="1.5"/>
<g transform="rotate(23.5)">
<line x1="0" y1="-30" x2="0" y2="30" stroke="white" stroke-width="2"/>
</g>
<text x="0" y="45" text-anchor="middle" fill="#ccc" font-size="11">23.5° tilt = SEASONS! 🎉</text>
<!-- Show angle -->
<line x1="0" y1="-42" x2="18" y2="-42" stroke="red" stroke-width="2" stroke-dasharray="3,2"/>
<line x1="0" y1="-30" x2="0" y2="-42" stroke="#FFD700" stroke-width="2" stroke-dasharray="3,2"/>
<g transform="rotate(23.5)">
<line x1="0" y1="-30" x2="0" y2="-42" stroke="#FFD700" stroke-width="2"/>
</g>
<text x="12" y="-45" fill="#FFD700" font-size="12" font-weight="bold">23.5°</text>
</g>
<text x="650" y="635" text-anchor="middle" fill="white" font-size="22">→</text>
<!-- Flashlight analogy box -->
<rect x="530" y="600" width="130" height="60" rx="8" fill="#FFD700" opacity="0.15" stroke="#FFD700" stroke-width="1" stroke-dasharray="4,3"/>
<text x="595" y="618" text-anchor="middle" fill="#FFD700" font-size="11">💡 Think of it like</text>
<text x="595" y="634" text-anchor="middle" fill="white" font-size="11">holding a flashlight</text>
<text x="595" y="650" text-anchor="middle" fill="white" font-size="11">straight vs. at an angle!</text>
<!-- Orbit direction arrows definition -->
<defs>
<marker id="arrowhead" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto">
<polygon points="0 0, 8 3, 0 6" fill="#888"/>
</marker>
</defs>
<!-- 6 month labels on orbit -->
<text x="400" y="210" text-anchor="middle" fill="#666" font-size="11">6 months later</text>
<path d="M 470 350 Q 490 340 490 325" fill="none" stroke="#888" stroke-width="1.5" marker-end="url(#arrowhead)" opacity="0.5"/>
<path d="M 330 350 Q 310 340 310 325" fill="none" stroke="#888" stroke-width="1.5" marker-end="url(#arrowhead)" opacity="0.5"/>
<!-- Subtitle at very top about axis -->
<text x="400" y="690" text-anchor="middle" fill="#888" font-size="11">Earth's axis ALWAYS points the same way in space — but where Earth is in its orbit changes everything!</text>
</svg>
Earth is tilted — it's always leaning at 23.5°, just like you leaning your head to one side. The tilt always points the same direction in space.
As Earth orbits the Sun:
The flashlight analogy 🤯 — Hold a flashlight straight-on to a wall (bright, tight circle = summer) vs. at an angle (dim, spread out = winter). Same light, different angle!
That's it — no magic, just a tilt + a trip around the Sun! 🌍☀️
MiMo v2.6 FlashXiaomi
23 s$0.0014.6k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here's a drawing to show her! Save the code below as seasons.svg and open it in any web browser to see the full illustration:
<svg viewBox="0 0 900 540" xmlns="http://www.w3.org/2000/svg">
<defs>
<radialGradient id="sg" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ffee88"/>
<stop offset="100%" stop-color="#ffaa00"/>
</radialGradient>
<radialGradient id="sgr" cx="50%" cy="50%" r="50%">
<stop offset="30%" stop-color="#ffcc00" stop-opacity=".35"/>
<stop offset="100%" stop-color="#ffcc00" stop-opacity="0"/>
</radialGradient>
<marker id="mO" markerWidth="9" markerHeight="6" refX="8" refY="3" orient="auto">
<polygon points="0 0,9 3,0 6" fill="#ff8822"/>
</marker>
<marker id="mB" markerWidth="9" markerHeight="6" refX="8" refY="3" orient="auto">
<polygon points="0 0,9 3,0 6" fill="#6699cc"/>
</marker>
<marker id="mW" markerWidth="7" markerHeight="5" refX="6" refY="2.5" orient="auto">
<polygon points="0 0,7 2.5,0 5" fill="rgba(255,255,255,.5)"/>
</marker>
<marker id="mR" markerWidth="7" markerHeight="5" refX="6" refY="2.5" orient="auto">
<polygon points="0 0,7 2.5,0 5" fill="#ff6666"/>
</marker>
<marker id="mC" markerWidth="7" markerHeight="5" refX="6" refY="2.5" orient="auto">
<polygon points="0 0,7 2.5,0 5" fill="#6688cc"/>
</marker>
</defs>
<rect width="900" height="540" fill="#0b1a2e"/>
<g fill="#fff" opacity=".55">
<circle cx="38" cy="25" r="1.2"/><circle cx="95" cy="68" r=".8"/>
<circle cx="178" cy="32" r="1"/><circle cx="250" cy="82" r=".7"/>
<circle cx="335" cy="48" r="1.3"/><circle cx="415" cy="22" r=".9"/>
<circle cx="520" cy="55" r="1.1"/><circle cx="605" cy="28" r=".8"/>
<circle cx="690" cy="80" r="1"/><circle cx="770" cy="38" r="1.2"/>
<circle cx="845" cy="65" r=".7"/><circle cx="875" cy="25" r="1"/>
<circle cx="25" cy="125" r=".9"/><circle cx="115" cy="145" r="1.1"/>
<circle cx="215" cy="115" r=".7"/><circle cx="365" cy="135" r="1"/>
<circle cx="565" cy="130" r=".8"/><circle cx="715" cy="120" r="1.2"/>
<circle cx="815" cy="150" r=".9"/><circle cx="880" cy="105" r=".8"/>
<circle cx="55" cy="465" r="1"/><circle cx="155" cy="485" r=".7"/>
<circle cx="365" cy="475" r=".9"/><circle cx="565" cy="480" r="1.1"/>
<circle cx="735" cy="470" r=".8"/><circle cx="860" cy="485" r="1"/>
<circle cx="55" cy="375" r=".8"/><circle cx="885" cy="385" r=".9"/>
<circle cx="845" cy="435" r=".7"/><circle cx="75" cy="415" r="1"/>
</g>
<text x="450" y="38" text-anchor="middle" fill="#fff" font-size="24" font-family="Verdana,Arial,sans-serif" font-weight="bold">🌍 Why do we have Summer & Winter? ☀️❄️</text>
<ellipse cx="450" cy="255" rx="275" ry="108" fill="none" stroke="#2a4a6a" stroke-width="1.8" stroke-dasharray="10,7" opacity=".45"/>
<!-- SUN -->
<circle cx="450" cy="255" r="100" fill="url(#sgr)"/>
<circle cx="450" cy="255" r="55" fill="url(#sg)"/>
<g stroke="#ffcc00" stroke-width="2.5" stroke-linecap="round" opacity=".5">
<line x1="450" y1="185" x2="450" y2="167"/>
<line x1="497" y1="208" x2="510" y2="194"/>
<line x1="518" y1="255" x2="538" y2="255"/>
<line x1="497" y1="302" x2="510" y2="316"/>
<line x1="450" y1="325" x2="450" y2="343"/>
<line x1="403" y1="302" x2="390" y2="316"/>
<line x1="382" y1="255" x2="362" y2="255"/>
<line x1="403" y1="208" x2="390" y2="194"/>
</g>
<circle cx="438" cy="247" r="3.5" fill="#cc7700"/>
<circle cx="462" cy="247" r="3.5" fill="#cc7700"/>
<path d="M436 267 Q450 280 464 267" fill="none" stroke="#cc7700" stroke-width="2.2" stroke-linecap="round"/>
<text x="450" y="335" text-anchor="middle" fill="#ffdd44" font-size="13" font-family="Verdana,Arial" font-weight="bold">THE SUN</text>
<!-- LEFT EARTH — SUMMER -->
<circle cx="170" cy="255" r="52" fill="#152a44"/>
<path d="M170 203 A52 52 0 0 1 170 307 Z" fill="#3388bb"/>
<path d="M182 215 Q193 219 195 228 Q190 238 181 233 Q176 223 182 215Z" fill="#3a9955" opacity=".6"/>
<path d="M188 262 Q199 266 200 275 Q195 285 186 279 Q182 270 188 262Z" fill="#3a9955" opacity=".6"/>
<line x1="145" y1="312" x2="195" y2="198" stroke="#fff" stroke-width="2.3" stroke-dasharray="7,4.5" opacity=".85"/>
<circle cx="195" cy="198" r="4.5" fill="#ff4444"/>
<text x="201" y="195" fill="#ff8888" font-size="10.5" font-family="Arial" font-weight="bold">N</text>
<line x1="202" y1="193" x2="258" y2="152" stroke="#77bbff" stroke-width="1.3" stroke-dasharray="3.5,3" marker-end="url(#mW)" opacity=".5"/>
<text x="262" y="149" fill="#77bbff" font-size="9.5" font-family="Arial">⭐ North Star</text>
<line x1="198" y1="196" x2="245" y2="190" stroke="#ff6666" stroke-width="1.5" marker-end="url(#mR)" opacity=".7"/>
<text x="205" y="185" fill="#ff8888" font-size="8.5" font-family="Arial">tilts → toward Sun</text>
<g stroke="#ff8822" stroke-width="2.8" marker-end="url(#mO)" opacity=".85">
<line x1="388" y1="228" x2="225" y2="224"/>
<line x1="388" y1="242" x2="223" y2="239"/>
<line x1="388" y1="255" x2="223" y2="255"/>
<line x1="388" y1="268" x2="223" y2="271"/>
<line x1="388" y1="282" x2="225" y2="286"/>
</g>
<text x="300" y="218" fill="#ff8822" font-size="10" font-family="Arial" font-weight="bold">direct heat ☀️</text>
<text x="170" y="382" text-anchor="middle" fill="#ffdd44" font-size="21" font-family="Verdana,Arial" font-weight="bold">☀️ SUMMER</text>
<text x="170" y="404" text-anchor="middle" fill="#aad4ff" font-size="12.5" font-family="Verdana,Arial">Our half is tilted</text>
<text x="170" y="421" text-anchor="middle" fill="#aad4ff" font-size="12.5" font-family="Verdana,Arial">TOWARD the Sun</text>
<rect x="82" y="430" width="176" height="26" rx="5" fill="rgba(255,170,0,.12)" stroke="#dd8822" stroke-width="1"/>
<text x="170" y="448" text-anchor="middle" fill="#ffaa33" font-size="12" font-family="Verdana,Arial">More light = HOT! 🥵</text>
<!-- RIGHT EARTH — WINTER -->
<circle cx="730" cy="255" r="52" fill="#152a44"/>
<path d="M730 203 A52 52 0 0 0 730 307 Z" fill="#3388bb"/>
<path d="M718 215 Q707 219 705 228 Q710 238 719 233 Q724 223 718 215Z" fill="#3a9955" opacity=".6"/>
<path d="M712 262 Q701 266 700 275 Q705 285 714 279 Q718 270 712 262Z" fill="#3a9955" opacity=".6"/>
<line x1="705" y1="312" x2="755" y2="198" stroke="#fff" stroke-width="2.3" stroke-dasharray="7,4.5" opacity=".85"/>
<circle cx="755" cy="198" r="4.5" fill="#ff4444"/>
<text x="761" y="195" fill="#ff8888" font-size="10.5" font-family="Arial" font-weight="bold">N</text>
<line x1="762" y1="193" x2="818" y2="152" stroke="#77bbff" stroke-width="1.3" stroke-dasharray="3.5,3" marker-end="url(#mW)" opacity=".5"/>
<text x="822" y="149" fill="#77bbff" font-size="9.5" font-family="Arial">⭐ North Star</text>
<line x1="758" y1="196" x2="805" y2="190" stroke="#6688cc" stroke-width="1.5" marker-end="url(#mC)" opacity=".7"/>
<text x="715" y="185" fill="#88aadd" font-size="8.5" font-family="Arial">tilts → away from Sun</text>
<g stroke="#6699cc" stroke-width="1.8" marker-end="url(#mB)" opacity=".5">
<line x1="512" y1="228" x2="675" y2="224"/>
<line x1="512" y1="242" x2="677" y2="239"/>
<line x1="512" y1="255" x2="677" y2="255"/>
<line x1="512" y1="268" x2="677" y2="271"/>
<line x1="512" y1="282" x2="675" y2="286"/>
</g>
<text x="575" y="218" fill="#6699cc" font-size="10" font-family="Arial" font-weight="bold">weak light 🌅</text>
<text x="730" y="382" text-anchor="middle" fill="#88ccff" font-size="21" font-family="Verdana,Arial" font-weight="bold">❄️ WINTER</text>
<text x="730" y="404" text-anchor="middle" fill="#aad4ff" font-size="12.5" font-family="Verdana,Arial">Our half is tilted</text>
<text x="730" y="421" text-anchor="middle" fill="#aad4ff" font-size="12.5" font-family="Verdana,Arial">AWAY from the Sun</text>
<rect x="642" y="430" width="176" height="26" rx="5" fill="rgba(100,180,255,.08)" stroke="#5577aa" stroke-width="1"/>
<text x="730" y="448" text-anchor="middle" fill="#88bbff" font-size="12" font-family="Verdana,Arial">Less light = COLD! 🥶</text>
<rect x="85" y="478" width="730" height="50" rx="8" fill="rgba(255,255,255,.06)" stroke="rgba(255,255,255,.12)" stroke-width="1"/>
<text x="450" y="500" text-anchor="middle" fill="#cceeFF" font-size="13" font-family="Verdana,Arial">🔑 The tilt always points the same way! As Earth orbits the Sun, sometimes we lean toward it (summer)</text>
<text x="450" y="518" text-anchor="middle" fill="#cceeFF" font-size="13" font-family="Verdana,Arial">and sometimes away (winter). That's why the seasons change! 🔄</text>
</svg>
Earth is tilted! It doesn't spin straight up and down — it leans to one side, like a spinning top that's tipping over.
☀️ Summer: When our half of Earth leans toward the Sun, sunlight hits us straight on — like standing right under a flashlight. Lots of warmth!
❄️ Winter: When our half of Earth leans away from the Sun, sunlight hits us at a slant — like standing off to the side of a flashlight. Not as much warmth!
🔑 The cool part: The tilt never changes direction! But as Earth travels around the Sun, sometimes we're leaning toward it and sometimes away. That's why we get seasons!
This is the part that really sticks for kids:
It's like walking in a circle around a campfire holding a tilted umbrella — when the tilted side faces the fire you're warm, and when it faces away you're cold. The umbrella never changes — just where you are in the circle!
MiMo v2.6 ProXiaomi
12 min 41 s$0.05058k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Great question! It’s all about Earth’s tilt. Earth is like a spinning top that leans a little bit. It never stands straight up. As Earth goes around the Sun, that lean always points the same way. So sometimes your half of Earth leans toward the Sun, and sometimes it leans away.
Here’s a simple drawing you can show her:
SUMMER in North America WINTER in North America
N N
\ \
\ \
SUN ☀ --- O O --- ☀ SUN
\ \
\ \
S S
See the stick through Earth? That’s Earth’s axis. The N is the North Pole. Notice the stick is tilted the same way in both pictures.
The Southern Hemisphere (like Australia) has the opposite seasons. When we have summer, they have winter.
It’s not because we’re closer to the Sun. In fact, Earth is closest to the Sun in January, which is winter in the Northern Hemisphere!
Try this with her: Get a flashlight and a ball. Shine the flashlight straight at the ball → bright, small hot spot. Shine it at a slant → the light spreads out and is dimmer. That’s what the tilt does to sunlight.
DeepSeek V4.1 FlashDeepSeek
48 s$0.00613k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Sure! Here’s a simple doodle you can show her:
☀️
SUN
/ \
sunlight ← / \ → sunlight
N N
↗ ↗
🌎 🌎
JUNE DECEMBER
North leans North leans
TOWARD Sun AWAY from Sun
The little ↗ is the North Pole. Earth stays tilted the same way while it goes around the Sun.
Say it like this:
Earth is like a tilted ball.
When our part of Earth leans toward the Sun, we get summer.
When our part of Earth leans away from the Sun, we get winter.
Also: if you live in the Southern Hemisphere, the seasons are opposite.
Qwen3.8 Max (0902)Alibaba
4 min 51 s$0.06611k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here is a simple explanation and a picture you can show her!
A lot of people think summer happens because Earth is closer to the Sun. That’s actually a myth!
The real reason is that Earth is tilted like a leaning spinning top—and it stays leaning in the exact same direction all year long as it orbits the Sun.
JUNE DECEMBER
(Our Summer!) (Our Winter!)
North Pole North Pole
\ \
.---. .---.
/ ^ \ <-- Leaning TOWARD / \ <-- Leaning AWAY
| USA | the Sun! | | from the Sun!
--+-------+-- (Equator) --+-------+-- (Equator)
| | | AUS |
\ / <-- Leaning AWAY \ v / <-- Leaning TOWARD
'---' from the Sun! '---' the Sun!
\ \
South Pole South Pole
▲ ▲
│ │
☀️ Direct Sunbeams ☀️ Direct Sunbeams
hit the top half. hit the bottom half.
Days are LONG and HOT. Days are SHORT and COLD.
In June (Left Side):
In December (Right Side):
Gemini 3.8 FlashGoogle
24 s$0.0061.4k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here's a picture you can open in any web browser — save it as seasons.svg (or paste it into a file ending in .svg) and double-click it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 460" font-family="Arial, sans-serif">
<rect width="900" height="460" fill="#0b1a3a"/>
<!-- Sun -->
<circle cx="450" cy="230" r="55" fill="#ffcc33"/>
<circle cx="450" cy="230" r="70" fill="none" stroke="#ffcc33" stroke-width="3" stroke-dasharray="6 10"/>
<text x="450" y="236" font-size="20" text-anchor="middle" fill="#7a4a00" font-weight="bold">SUN</text>
<!-- Orbit path -->
<ellipse cx="450" cy="230" rx="330" ry="110" fill="none" stroke="#5577aa" stroke-width="2" stroke-dasharray="8 8"/>
<!-- Sun rays to left Earth -->
<g stroke="#ffcc33" stroke-width="3">
<line x1="385" y1="200" x2="195" y2="200"/>
<line x1="385" y1="230" x2="195" y2="230"/>
<line x1="385" y1="260" x2="195" y2="260"/>
</g>
<!-- Sun rays to right Earth -->
<g stroke="#ffcc33" stroke-width="3">
<line x1="515" y1="200" x2="705" y2="200"/>
<line x1="515" y1="230" x2="705" y2="230"/>
<line x1="515" y1="260" x2="705" y2="260"/>
</g>
<!-- LEFT EARTH: North tilted AWAY from sun = Northern winter -->
<g transform="translate(150,230) rotate(-23)">
<circle r="60" fill="#2e7fd6"/>
<path d="M-60 0 A60 60 0 0 1 60 0 Z" fill="#e8f4ff"/> <!-- north half brighter land tint -->
<path d="M-60 0 A60 60 0 0 0 60 0 Z" fill="#2a9d4b"/> <!-- south half -->
<line x1="0" y1="-85" x2="0" y2="85" stroke="white" stroke-width="3"/>
<text x="0" y="-95" font-size="14" fill="white" text-anchor="middle">N</text>
<text x="0" y="105" font-size="14" fill="white" text-anchor="middle">S</text>
</g>
<!-- Draw a little stick figure "you" on the north half, leaning away -->
<text x="110" y="45" font-size="22" fill="white" font-weight="bold">❄ WINTER up north</text>
<text x="40" y="70" font-size="14" fill="#cfe3ff">North is tipped AWAY from the Sun.</text>
<text x="40" y="90" font-size="14" fill="#cfe3ff">Sunlight comes in sideways and weak.</text>
<text x="40" y="110" font-size="14" fill="#cfe3ff">Short days, long nights = cold!</text>
<!-- RIGHT EARTH: same tilt direction, but now North faces the sun = Northern summer -->
<g transform="translate(750,230) rotate(-23)">
<circle r="60" fill="#2e7fd6"/>
<path d="M-60 0 A60 60 0 0 1 60 0 Z" fill="#2a9d4b"/>
<path d="M-60 0 A60 60 0 0 0 60 0 Z" fill="#e8f4ff"/>
<line x1="0" y1="-85" x2="0" y2="85" stroke="white" stroke-width="3"/>
<text x="0" y="-95" font-size="14" fill="white" text-anchor="middle">N</text>
<text x="0" y="105" font-size="14" fill="white" text-anchor="middle">S</text>
</g>
<text x="560" y="45" font-size="22" fill="white" font-weight="bold">☀ SUMMER up north</text>
<text x="560" y="70" font-size="14" fill="#cfe3ff">North is tipped TOWARD the Sun.</text>
<text x="560" y="90" font-size="14" fill="#cfe3ff">Sunlight hits straight-on and strong.</text>
<text x="560" y="110" font-size="14" fill="#cfe3ff">Long days, short nights = warm!</text>
<!-- Arrows showing the orbit direction -->
<text x="450" y="130" font-size="16" fill="#9ab" text-anchor="middle">Earth travels all the way around the Sun once a year ↻</text>
<!-- Key message -->
<rect x="150" y="380" width="600" height="60" rx="12" fill="#1c2f5c" stroke="#ffcc33" stroke-width="2"/>
<text x="450" y="405" font-size="17" fill="white" text-anchor="middle" font-weight="bold">The Earth is always tilted the SAME way (like a leaning top).</text>
<text x="450" y="428" font-size="15" fill="#ffd966" text-anchor="middle">So as it goes around, sometimes your half leans TOWARD the Sun (summer) and sometimes AWAY (winter).</text>
</svg>
How to explain it while looking at the picture (9-year-old version):
A hands-on trick that really makes it click: Grab a flashlight and shine it straight down on the table — a small, bright circle. Now tilt the flashlight so the light hits at a slant — the same light spreads into a big, dim oval. Straight-on light = summer. Slanted light = winter. That's the whole idea.
One thing to head off: lots of kids (and adults!) guess it's because the Earth gets closer to the Sun in summer. It's not — the Earth is actually slightly closer to the Sun in January. It's all about the tilt.
Claude Fable 5.1Anthropic
32 s$0.132.6k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Hey there! What a brilliant question. It is awesome that she is curious about how the world works!
To understand why we have summer and winter, she only needs to know one big secret: The Earth is tilted.
Imagine the Earth is a spinning top that is leaning to the side. As the Earth travels around the Sun, it stays leaning in that exact same direction.
So, for half of the year, our part of the world is leaning towards the Sun (Summer!). For the other half of the year, we are leaning away from the Sun (Winter!).
Here is a "drawing" you can show her to help her visualize it:
☀️
(The Sun)
SUMMER for us WINTER for us
(July) (January)
/ /
/ North Pole / North Pole
/ leans TOWARDS / leans AWAY
( N ) the sun! ( N ) from the sun!
(=======) (=======)
( S ) ( S )
\ South Pole \ South Pole
\ has Winter \ has Summer
\ \
\ \
(Notice how the Earth is leaning in the exact same direction in both pictures—kind of like leaning to the right! But because it moves to the other side of the Sun, we go from leaning toward the Sun to leaning away from it.)
If she asks why leaning towards the sun makes it hotter, you can show her with a flashlight!
A lot of grown-ups actually get this wrong. They think it's summer because the Earth gets closer to the Sun. That's a myth!
In fact, the Earth is actually closest to the Sun in early January—right in the middle of our winter! It really is 100% about the tilt and the angle of the sunlight.
Hy4 PreviewTencent
1 min 31 s$0.0114.9k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here's a picture she can look at while you talk it out:
☀️ THE SUN stays
right here in the middle
*
*
❄️ WINTER * ❄️ WINTER
(top leans AWAY) * (top leans AWAY)
\ * /
\ * /
\ * /
\ * /
\___________________________
/ EARTH'S PATH around \
/ the sun \
/_______________________________\
(a big circle = 1 year)
*
SUMMER HERE!
(this spot leans TOWARD the sun)
And here's the key part — Earth is tilted, like a spinning top that never straightens up:
Earth leaning TOWARD the sun
☀️
\
\
____
/ 24° \ → sunbeams hit this
| tilt! | spot MORE DIRECTLY
\____ / = HOT = SUMMER 🌞
Earth leaning AWAY from the sun
____
/ 24° \ ☀️
| tilt! | /
\____ / /
→ same sun, but beams hit
at a slant = WEAKER
= COLD = WINTER ❄️
The trick for explaining it: Earth doesn't get closer or farther from the sun — that's a common myth even adults believe! Earth is tilted, and it stays tilted the same direction all year (like a wobbling top).
Fun demo: shine a flashlight straight down on a table (bright, concentrated circle) vs. at a slant (pale, stretched-out oval). That's exactly what seasons are! Same flashlight, different angle.
One bonus "whoa" moment: when it's summer where you live, kids on the opposite side of the world have winter — at the exact same time. 🌏
GLM 5.3Z.ai
3 s$0.002514 tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Absolutely! Here's the simple science, a drawing you can show her, and a quick "try this" activity she can do herself.
It’s not because we get closer or farther from the Sun. It’s because Earth is tilted on its axis by about 23.5°.
Copy this and read it together:
WINTER (Northern Hemisphere)
\ /
\ /
\ /
X ← Earth (you are here)
/ \
/ \
SUMMER / \ (Southern Hemisphere)
\ /
\ /
\ /
X
Give her a pencil and paper, and ask her to:
She’ll instantly “get it” when she sees that the tilt, not the distance, makes the difference!
Let me know if she’d like a printable worksheet version or a quick hands-on activity with a flashlight and a ball! 🌍💡
Nemotron 3.5 LightningNVIDIA
12 s<$0.0011.2k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
I'll explain the seasons with a simple drawing that shows how Earth's tilt causes summer and winter. Let's draw it step by step:
Step 1: Draw the Basics of the Solar System
Step 2: Show Earth's Tilt
Step 3: Draw the Two Key Positions
Summer for the Northern Hemisphere:
Winter for the Northern Hemisphere:
Step 4: Key Notes
Step 5: Fun Extras for a Kid
Here’s a simplified doodle:
☀️ Sun at center
|
N. Hemisphere tilted toward → [ Earth ⛅️ ]
↖ (sunlight vertical)
↗
↓ orbit
↙ (tilted away) → [ Earth ⛄️ ]
↖ (sunlight slanted)
Why It Works: The angle of Earth's tilt means one hemisphere gets more direct sunlight (summer) and longer days, while the other gets slanted sunlight (winter) and shorter days. The Sun’s rays don’t change intensity—they just hit at an angle!
Let her ask questions, and keep it visual. Kids love the smiley faces and sunscreen! 🌞❄️
Laguna S 2.1Poolside
16 s<$0.0011.7k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
I can’t literally pick up crayons, but I can draw with emoji and text! Here’s the picture to show your 9-year-old.
Earth spins like a basketball that is leaning over about 23°. And here’s the trick: it never straightens up. Its North Pole always points the same direction in space (toward the North Star).
As Earth travels in a big circle around the Sun over 12 months, that lean means:
(It’s the opposite in Australia!)
SUMMER IN THE NORTH WINTER IN THE NORTH
(North Pole tilts TOWARD Sun) (North Pole tilts AWAY)
☀️ SUN ☀️ SUN
\ / | \
\ / | \
🌍 ← North lean 🌍 ← North lean
/| points | \
/ | this way | \
/ | → closer, | \
direct rays! | \
\ \
\ \
slanted rays!
Why is winter colder? It’s not mainly about distance. It’s the angle of the light.
SUMMER RAYS WINTER RAYS
☀️ → → → 🌍 ☀️ ↘ ↘ ↘ 🌍
Straight punch! Spread out & weak!
(hits one spot hard) (hits same spot gently)
When rays come in straight, they heat us up fast and the days are longer. When they come in at a slant, the same energy is spread over more ground, and the days are shorter.
🌍
(Winter:
North away)
/
/
🌍 🌍 ——— ☀️ ——— 🌍 🌍
(Spring) (Summer:
North toward)
\ /
\ /
🌍
(Autumn/
in between)
The Earth is always leaning the same direction. The orbit just carries us to the “toward” side, then the “away” side, then back again.
“We have summer and winter because Earth is a tilted spinning top traveling around the Sun. Half the year our half leans in for a direct sun-bath; the other half we lean back and get the slanted leftovers.”
If she wants to see it with a real flashlight and an orange, you can shine the light straight on (summer) and then tilt the orange away so the light hits at a slant (winter) — same idea!
InklingThinking Machines
17 s$0.0112.7k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here's the secret: Earth is tilted — it spins like a top that's leaning over a little. And that one lean is the whole story!
SUMMER ☀️ (June) WINTER ❄️ (December)
N N
/ /
( 🌍 ) ((( ☀ ))) ( 🌍 )
/ THE SUN /
/ /
S S
Top half tips TOWARD the Sun Top half tips AWAY from the Sun
→ sunlight hits us straight on → sunlight hits us at a slant
→ long days = lots of warming up → short days = barely warms up
👀 The key thing to point out: both Earths lean the same way! The tilt never changes. But as Earth travels around the Sun, sometimes the lean points toward the Sun, and half a year later it points away.
But why does slanted sunlight feel colder? Try this with a flashlight:
SUMMER (straight on) WINTER (at a slant)
🔦 🔦
| \
| \
↓ ↘
▓▓▓▓▓▓▓▓▓▓ ░░░░░░░░░░░░░░░░░░░░
small, bright, HOT spot spread out, dim, cool
Same Sun, same light — but slanted light spreads over more ground, so each spot gets less warmth. That's winter!
Two things that surprise most grown-ups too:
Bonus living-room demo: put a lamp in the middle of the room (the Sun), stick a pencil through a ball (the tilted Earth), and have her walk in a circle around the lamp while keeping the pencil pointing at the same wall. She'll see the top of the ball get lit up on one side of the room and the bottom on the other. That's the whole year!
If she remembers one sentence: seasons aren't about how far we are from the Sun — they're about which way we lean.
Kimi K3Moonshot AI
60 s$0.0976.5k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
I can’t draw actual image files, but I can give you a "text-message drawing" (ASCII art) and a simple script to act it out with a lamp and a ball—which is honestly the best way for a 9-year-old to feel why it happens.
The Secret: Earth is leaning over (tilted) like a tipsy dancer.
THE SUN
☀️
/ \
/ \ ☀️ SUNLIGHT hits DIRECTLY
/ \ (Concentrated heat = HOT)
/ \
/ \
/ 🌍 \ <--- NORTH POLE leans TOWARD Sun
/ (Tilted) \
/______________\
(6 months later: Earth moved to other side, but kept the same tilt direction)
THE SUN
☀️
/ \
/ \ ☀️ SUNLIGHT hits at a GLANCE
/ \ (Spread out/weak = COLD)
/ \
/ \
/ 🌍 \ <--- NORTH POLE leans AWAY from Sun
/ (Tilted) \
/______________\
You: "Imagine the Sun is a flashlight and the Earth is a wall."
- Summer: Shine the flashlight straight at the wall. → Bright, tight, hot circle.
- Winter: Tilt the flashlight way sideways (45°). → Dim, huge, stretched-out oval. Same flashlight. Same batteries. Totally different heat.
Props: A lamp (no shade = Sun) + a ball (Earth) + a sticker/dot (Your house).
Key line to say: "The Earth doesn't 'wobble' back and forth—it stays leaning the same way all year. That’s why the poles take turns sunbathing."
When your sticker (North) has Summer → Australia (bottom of ball) has Winter. They’re always opposite. That usually blows a 9-year-old's mind.
"We don't get closer to the Sun in summer—we just lean into its flashlight beam."
Want me to write a 3-sentence bedtime-story version she can read herself?
Nemotron 3 UltraNVIDIA
12 s$0.0021.0k tokensAPImy 9 year old asked why we have summer and winter. can you draw it so she gets it?
Here's a fun explanation with diagrams she can follow!
Imagine a ball spinning, but leaning over a little — like a top that's about to fall over. That's Earth!
N (North Pole)
↑
|
⬤ ← Earth
|
↓
S (South Pole)
(See how it leans? That's the TILT!)
Sometimes the top half (Northern Hemisphere) leans toward the Sun. That's summer for us!
Sometimes the top half leans away from the Sun. That's winter!
☀️ SUN
╱ ╲
╱ ╲
←🌍 🌍→
SUMMER WINTER
Top Top
leans leans
TOWARD AWAY
sun ☀️ sun ❄️
SUMMER ☀️ WINTER ❄️
╲ ╲ ╲ ╱ ╱ ╱
╲ ╲ ╲ ← Sunlight ╱ ╱ ╱ ← Sunlight
╲ ╲ ╲ hits straight ╱ ╱ ╱ hits at a slant
🌍 🌍
(Strong! (Weak!
Hot!) Cold!)
☀️ In summer: Sunlight hits your part of Earth straight-on, like a flashlight pointed right at you. It feels strong and warm!
❄️ In winter: Sunlight hits at a slant, like a flashlight pointed at the floor. The same amount of light is spread out over more ground, so it feels weaker and cooler.
Earth is actually closest to the Sun in January (winter!) and farthest in July (summer!). So distance isn't what causes seasons — it's all about the tilt!
Quick recap for her:
You can even grab a ball and a lamp to demonstrate — tilt the ball and walk it around the lamp, and she'll see exactly how it works! 💡
MiniMax M3MiniMax
21 s$0.0021.9k tokensAPITwo answers to this prompt, names hidden until you pick.
AModel hidden
Loading two answers…
BModel hidden
Loading two answers…
A vote is stored with the prompt, the two models and your pick, and with a code made from your IP address and the day, so a pair counts once per person per day. The address itself is not stored. How the votes work