Repository navigation
Expand file tree
/
Copy pathsun-paths-shading.html
More file actions
188 lines (163 loc) · 117 KB
/
Copy pathsun-paths-shading.html
File metadata and controls
188 lines (163 loc) · 117 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<!doctype html>
<!-- Generated from content/sun-paths-shading/ by the local content build. Edit the Markdown source. -->
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="ES1 course reader, Chapter 04: sun paths and shading. Stereographic and cylindrical sun-path diagrams, shading masks, the solar window, profile angles, shading-device sizing, shadows and solar access.">
<meta name="author" content="Timur Dogan">
<meta name="theme-color" content="#ffffff">
<title>Sun paths and shading · ES1 Course Reader</title>
<link rel="icon" href="./assets/course-logo.png" type="image/png">
<script src="./src/theme.js"></script>
<link rel="stylesheet" href="./styles.css">
<link rel="stylesheet" href="./theme.css">
<link rel="stylesheet" href="./solar.css">
<script defer src="./assets/reader.bundle.js"></script>
</head>
<body>
<a class="skip-link" href="#main">Skip to chapter</a>
<div class="mobile-bar"><a href="#top" class="wordmark"><img class="course-logo" src="./assets/course-logo.png" alt="ES1" width="372" height="123"><span>Course reader</span></a><div class="mobile-actions"><button type="button" class="theme-toggle" data-theme-toggle aria-label="Switch to dark mode" aria-pressed="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><circle cx="12" cy="12" r="8"/><path d="M12 4a8 8 0 0 1 0 16Z" fill="currentColor" stroke="none"/></svg></button><button id="menu-toggle" aria-expanded="false" aria-controls="sidebar">Contents <span aria-hidden="true">☰</span></button></div></div>
<aside class="sidebar" id="sidebar" aria-label="Chapter navigation">
<a class="brand" href="#top"><img class="course-logo" src="./assets/course-logo.png" alt="ES1" width="372" height="123"><span class="brand-sub">ES1 / COURSE READER</span></a>
<p class="sidebar-intro">Environmental systems<br>as a design material.</p>
<div class="chapter-label">THE CHAPTERS</div><div class="course-chapters"><a href="./site-climate.html"><span>01</span>Site + climate</a><a href="./index.html"><span>02</span>Solar geometry</a><a href="./shadow-drawing.html"><span>03</span>Drawing shadows</a><a href="./sun-paths-shading.html" aria-current="page"><span>04</span>Sun paths and shading</a><a href="./solar-radiation.html"><span>05</span>Solar radiation</a><a href="./hdr-photography.html"><span>06</span>HDR photography</a><a href="./heat-transfer.html"><span>07</span>Heat transfer</a><a href="./heat-balance.html"><span>08</span>Heat balance</a><a href="./psychrometrics.html"><span>09</span>Psychrometrics</a></div>
<nav aria-label="On this page">
<a href="#sunpath" class="active"><span>01</span>Sun-path diagrams</a>
<a href="#masks"><span>02</span>Shading masks</a>
<a href="#profile"><span>03</span>Profile angle, devices</a>
<a href="#shadows"><span>04</span>Shadows, solar access</a>
<a href="#quiz"><span>05</span>Self-test</a>
</nav>
<div class="sidebar-bottom"><button type="button" class="theme-toggle" data-theme-toggle aria-label="Switch to dark mode" aria-pressed="false"><span data-theme-label>Dark mode</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><circle cx="12" cy="12" r="8"/><path d="M12 4a8 8 0 0 1 0 16Z" fill="currentColor" stroke="none"/></svg></button><div class="reading-label"><span>Reading position</span><span id="progress-number">0%</span></div><div class="progress-track"><div id="reading-progress"></div></div><a href="#figures">Figure files (SVG) <span aria-hidden="true">↗</span></a><a href="./index.html#author">About the instructor <span aria-hidden="true">↗</span></a><a href="#references">Sources and model notes <span aria-hidden="true">↗</span></a><p>Environmental Systems I<br>Cornell AAP</p></div>
</aside>
<main id="main">
<header class="hero" id="top">
<div class="topline"><span>ENVIRONMENTAL SYSTEMS I</span><span>SUN PATH · MASKS · PROFILE ANGLE · SHADOWS</span></div>
<div class="hero-heading"><div><p class="eyebrow">CHAPTER 04</p><h1>Sun paths and shading<span class="title-dot">.</span></h1></div></div>
<p class="hero-lead">Graphic methods that turn the sun position into design checks: which surfaces receive direct sun and when, how far obstructions and shading devices screen it, and where shadows fall on a site.</p>
<div class="hero-bottom"><p>This chapter uses <b class="sym alt">ALT</b> and <b class="sym azi">AZI</b> from <a href="./index.html#altaz">Chapter 02</a> (Eq. 7–8); equation numbers continue from Chapter 03. Symbols are listed in the Chapter 02 <a href="./index.html#nomenclature">nomenclature</a>.</p>
<a href="#sunpath" class="text-link">Start <span aria-hidden="true">↓</span></a>
</div>
</header>
<noscript><p class="notice">Enable JavaScript for the interactive drawings and the self-test.</p></noscript>
<section id="sunpath" class="reader-section">
<div class="section-heading"><span class="section-number">01</span><div><p class="eyebrow">PROJECTIONS · EQ. 14</p><h2>Sun-path diagrams</h2></div></div>
<p class="section-lead">A sun-path diagram projects the sky hemisphere onto a plane and draws the sun's daily paths for a given latitude. Date lines (usually the 21st of each month) cross hour lines (solar time). Any point gives ALT and AZI.</p>
<dl class="defs">
<div><dt>Cylindrical (vertical) projection</dt><dd><em>x</em> = AZI, <em>y</em> = ALT. Easy to overlay on a panoramic photo. Strongly distorted near the zenith.</dd></div>
<div><dt>Stereographic projection</dt><dd>Each point of the hemisphere is projected toward the nadir onto the horizon plane. Center = zenith, outer circle = horizon. The altitude rings are not equally spaced.</dd></div>
</dl>
<div class="eq" id="eq-14"><span class="eq-math"><span class="eq-line"><span class="eq-label">stereographic</span><math><mi>r</mi><mo>=</mo><mi>R</mi><mo>·</mo><mrow><mi>tan</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mrow><mo>(</mo><mfrac><mi class="sym third">ZEN</mi><mn>2</mn></mfrac><mo>)</mo></mrow></mrow><mo>=</mo><mi>R</mi><mo>·</mo><mrow><mi>tan</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mrow><mo>(</mo><mfrac><mrow><mn>90°</mn><mo>−</mo><mi class="sym alt">ALT</mi></mrow><mn>2</mn></mfrac><mo>)</mo></mrow></mrow></math><span class="eq-note">direction = AZI</span></span><span class="eq-line"><span class="eq-label">cylindrical</span><math><mi>x</mi><mo>∝</mo><mi class="sym azi">AZI</mi><mo>,</mo><mspace width="0.6em"/><mi>y</mi><mo>∝</mo><mi class="sym alt">ALT</mi></math></span></span><span class="eq-n">(14)</span></div>
<!-- FIG:stereographic-construction_START -->
<figure class="fig" id="fig-stereographic-construction"><div class="fig-plate"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 820 395" class="diagram" role="img" aria-label="Stereographic projection of the sky hemisphere"><title>Stereographic projection of the sky hemisphere</title><defs><marker id="stc-arrow-ink" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5"/></marker><marker id="stc-arrow-alt" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1.5"/></marker><marker id="stc-arrow-azi" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#007c9a, #6bd8f0)" stroke-width="1.5"/></marker><marker id="stc-arrow-third" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#6a4fb3, #c3b2ff)" stroke-width="1.5"/></marker><marker id="stc-arrow-muted" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#607181, #aabccb)" stroke-width="1.5"/></marker><marker id="stc-arrow-red" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#b13d4c, #ff9daa)" stroke-width="1.5"/></marker><pattern id="stc-hatch-shadow" patternUnits="userSpaceOnUse" width="3.4" height="3.4" patternTransform="rotate(45)"><rect width="3.4" height="3.4" fill="light-dark(#ffffff, #202124)"/><line x1="0" y1="0" x2="0" y2="3.4" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern><pattern id="stc-hatch-shade" patternUnits="userSpaceOnUse" width="7.5" height="7.5" patternTransform="rotate(45)"><rect width="7.5" height="7.5" fill="light-dark(#ffffff, #202124)"/><line x1="0" y1="0" x2="0" y2="7.5" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern><pattern id="stc-hatch-screen" patternUnits="userSpaceOnUse" width="4.2" height="4.2" patternTransform="rotate(135)"><line x1="0" y1="0" x2="0" y2="4.2" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern></defs><g font-family="Helvetica Neue, Helvetica, Arial, sans-serif"><g id="stc-section"><path d="M410,200 A150,150 0 0 0 110,200" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M110,200 A150,150 0 0 0 410,200" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-dasharray="4 4" stroke-linecap="round" stroke-linejoin="round"/><path d="M67.8,200 Q259.83,200.47 451.87,200" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/><text x="454" y="204" font-size="10.5" style="--fs:10.5" fill="light-dark(#607181, #aabccb)">horizon plane = chart</text><circle cx="260" cy="350" r="4" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="268" y="364" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)">Nadir (projection point)</text><line x1="260" y1="350" x2="404.89" y2="161.18" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1" opacity="0.8" stroke-linecap="round" stroke-linejoin="round"/><circle cx="404.89" cy="161.18" r="3" fill="light-dark(#2479ad, #8bcfff)" stroke="none"/><circle cx="375.1" cy="200" r="3" fill="light-dark(#6a4fb3, #c3b2ff)" stroke="none"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="410.89" y="157.18" font-size="10.5" style="--fs:10.5" fill="light-dark(#2479ad, #8bcfff)">15°</text><line x1="260" y1="350" x2="389.9" y2="125" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1" opacity="0.8" stroke-linecap="round" stroke-linejoin="round"/><circle cx="389.9" cy="125" r="3" fill="light-dark(#2479ad, #8bcfff)" stroke="none"/><circle cx="346.6" cy="200" r="3" fill="light-dark(#6a4fb3, #c3b2ff)" stroke="none"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="395.9" y="121" font-size="10.5" style="--fs:10.5" fill="light-dark(#2479ad, #8bcfff)">30°</text><line x1="260" y1="350" x2="366.07" y2="93.93" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1" opacity="0.8" stroke-linecap="round" stroke-linejoin="round"/><circle cx="366.07" cy="93.93" r="3" fill="light-dark(#2479ad, #8bcfff)" stroke="none"/><circle cx="322.13" cy="200" r="3" fill="light-dark(#6a4fb3, #c3b2ff)" stroke="none"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="372.07" y="89.93" font-size="10.5" style="--fs:10.5" fill="light-dark(#2479ad, #8bcfff)">45°</text><line x1="260" y1="350" x2="335" y2="70.1" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1" opacity="0.8" stroke-linecap="round" stroke-linejoin="round"/><circle cx="335" cy="70.1" r="3" fill="light-dark(#2479ad, #8bcfff)" stroke="none"/><circle cx="300.19" cy="200" r="3" fill="light-dark(#6a4fb3, #c3b2ff)" stroke="none"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="341" y="66.1" font-size="10.5" style="--fs:10.5" fill="light-dark(#2479ad, #8bcfff)">60°</text><line x1="260" y1="350" x2="298.82" y2="55.11" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1" opacity="0.8" stroke-linecap="round" stroke-linejoin="round"/><circle cx="298.82" cy="55.11" r="3" fill="light-dark(#2479ad, #8bcfff)" stroke="none"/><circle cx="279.75" cy="200" r="3" fill="light-dark(#6a4fb3, #c3b2ff)" stroke="none"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="304.82" y="51.11" font-size="10.5" style="--fs:10.5" fill="light-dark(#2479ad, #8bcfff)">75°</text><circle cx="260" cy="50" r="3" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="266" y="44" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)">Zenith → center</text><text x="30" y="30" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)">Section: points on the sky dome are projected toward the nadir.</text></g><g id="stc-plan"><circle cx="640" cy="200" r="135" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><circle cx="640" cy="200" r="113.28" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="640" cy="200" r="94.53" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="640" cy="200" r="77.94" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="640" cy="200" r="62.95" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="640" cy="200" r="49.14" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="640" cy="200" r="36.17" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="640" cy="200" r="23.8" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="640" cy="200" r="11.81" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="745.59" y="196" font-size="10.5" style="--fs:10.5" fill="light-dark(#6a4fb3, #c3b2ff)">15°</text><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="719.94" y="196" font-size="10.5" style="--fs:10.5" fill="light-dark(#6a4fb3, #c3b2ff)">30°</text><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="697.92" y="196" font-size="10.5" style="--fs:10.5" fill="light-dark(#6a4fb3, #c3b2ff)">45°</text><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="678.17" y="196" font-size="10.5" style="--fs:10.5" fill="light-dark(#6a4fb3, #c3b2ff)">60°</text><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="659.77" y="196" font-size="10.5" style="--fs:10.5" fill="light-dark(#6a4fb3, #c3b2ff)">75°</text><text x="640" y="375" font-size="14" style="--fs:14" fill="light-dark(#6a4fb3, #c3b2ff)" text-anchor="middle" font-weight="700">r = R · tan(ZEN / 2) = R · tan((90° − ALT) / 2)</text><text x="520" y="30" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)">Plan: altitude rings are not equally spaced.</text></g></g></svg></div><figcaption><span><strong>Figure 1.</strong> Stereographic projection</span><a href="./assets/diagrams/solar/stereographic-construction.svg" download>Editable SVG ↓</a></figcaption></figure>
<!-- FIG:stereographic-construction_END -->
<div class="lab">
<div class="lab-canvas"><div class="canvas-heading"><span class="small-label">STEREOGRAPHIC SUN-PATH DIAGRAM</span><button type="button" class="quiet-button" data-export="sunpath">Save SVG ↓</button></div><div class="diagram-host" id="d-sunpath"></div><div class="diagram-inputs" id="in-sunpath"></div></div>
<div class="lab-controls"><p class="control-kicker">READING THE CHART</p><ol class="steps"><li>Find the date line (21st of the month; dates symmetric about Jun 21 share a line).</li><li>Find its intersection with the hour line.</li><li>Read ALT from the rings, AZI from the perimeter.</li></ol><div class="calc" id="calc-sunpath" aria-live="polite"></div></div>
</div>
<div class="lab lab-wide"><div class="lab-canvas"><div class="canvas-heading"><span class="small-label">CYLINDRICAL SUN-PATH DIAGRAM · SAME DATA</span><button type="button" class="quiet-button" data-export="cylindrical">Save SVG ↓</button></div><div class="diagram-host" id="d-cylindrical"></div><div class="diagram-inputs" id="in-cylindrical"></div></div></div>
<h3 class="sub">Latitude</h3>
<p class="measure">At the equator the paths are symmetric about the zenith and the equinox path passes through it. With increasing latitude the paths tilt toward the equator-facing horizon. At the poles they become circles parallel to the horizon.</p>
<!-- FIG:latitudes_START -->
<figure class="fig" id="fig-latitudes"><div class="fig-plate"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 320" class="diagram" role="img" aria-label="Sun paths at five latitudes"><title>Sun paths at five latitudes</title><defs><marker id="lat-arrow-ink" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5"/></marker><marker id="lat-arrow-alt" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1.5"/></marker><marker id="lat-arrow-azi" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#007c9a, #6bd8f0)" stroke-width="1.5"/></marker><marker id="lat-arrow-third" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#6a4fb3, #c3b2ff)" stroke-width="1.5"/></marker><marker id="lat-arrow-muted" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#607181, #aabccb)" stroke-width="1.5"/></marker><marker id="lat-arrow-red" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#b13d4c, #ff9daa)" stroke-width="1.5"/></marker><pattern id="lat-hatch-shadow" patternUnits="userSpaceOnUse" width="3.4" height="3.4" patternTransform="rotate(45)"><rect width="3.4" height="3.4" fill="light-dark(#ffffff, #202124)"/><line x1="0" y1="0" x2="0" y2="3.4" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern><pattern id="lat-hatch-shade" patternUnits="userSpaceOnUse" width="7.5" height="7.5" patternTransform="rotate(45)"><rect width="7.5" height="7.5" fill="light-dark(#ffffff, #202124)"/><line x1="0" y1="0" x2="0" y2="7.5" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern><pattern id="lat-hatch-screen" patternUnits="userSpaceOnUse" width="4.2" height="4.2" patternTransform="rotate(135)"><line x1="0" y1="0" x2="0" y2="4.2" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern></defs><g font-family="Helvetica Neue, Helvetica, Arial, sans-serif"><g id="lat-lat-0"><polygon points="71.95,161.13 78.78,160.33 85.76,159.75 92.85,159.4 100,159.28 107.15,159.4 114.24,159.75 121.22,160.33 128.05,161.13 134.65,162.16 141,163.4 147.03,164.84 152.71,166.47 157.98,168.28 162.82,170.26 167.17,172.38 171.01,174.64 174.32,177.02 177.05,179.49 179.21,182.05 180.75,184.67 181.69,187.32 182,190 181.69,192.68 180.75,195.33 179.21,197.95 177.05,200.51 174.32,202.98 171.01,205.36 167.17,207.62 162.82,209.74 157.98,211.72 152.71,213.53 147.03,215.16 141,216.6 134.65,217.84 128.05,218.87 121.22,219.67 114.24,220.25 107.15,220.6 100,220.72 92.85,220.6 85.76,220.25 78.78,219.67 71.95,218.87 65.35,217.84 59,216.6 52.97,215.16 47.29,213.53 42.02,211.72 37.18,209.74 32.83,207.62 28.99,205.36 25.68,202.98 22.95,200.51 20.79,197.95 19.25,195.33 18.31,192.68 18,190 18.31,187.32 19.25,184.67 20.79,182.05 22.95,179.49 25.68,177.02 28.99,174.64 32.83,172.38 37.18,170.26 42.02,168.28 47.29,166.47 52.97,164.84 59,163.4 65.35,162.16 71.95,161.13" fill="light-dark(#ffffff, #202124)" stroke="none"/><polygon points="71.95,161.13 78.78,160.33 85.76,159.75 92.85,159.4 100,159.28 107.15,159.4 114.24,159.75 121.22,160.33 128.05,161.13 134.65,162.16 141,163.4 147.03,164.84 152.71,166.47 157.98,168.28 162.82,170.26 167.17,172.38 171.01,174.64 174.32,177.02 177.05,179.49 179.21,182.05 180.75,184.67 181.69,187.32 182,190 181.69,192.68 180.75,195.33 179.21,197.95 177.05,200.51 174.32,202.98 171.01,205.36 167.17,207.62 162.82,209.74 157.98,211.72 152.71,213.53 147.03,215.16 141,216.6 134.65,217.84 128.05,218.87 121.22,219.67 114.24,220.25 107.15,220.6 100,220.72 92.85,220.6 85.76,220.25 78.78,219.67 71.95,218.87 65.35,217.84 59,216.6 52.97,215.16 47.29,213.53 42.02,211.72 37.18,209.74 32.83,207.62 28.99,205.36 25.68,202.98 22.95,200.51 20.79,197.95 19.25,195.33 18.31,192.68 18,190 18.31,187.32 19.25,184.67 20.79,182.05 22.95,179.49 25.68,177.02 28.99,174.64 32.83,172.38 37.18,170.26 42.02,168.28 47.29,166.47 52.97,164.84 59,163.4 65.35,162.16 71.95,161.13" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M182,190 A82,82 0 0 0 18,190" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M159.46,165.84 L159.26,162.83 L158.93,159.85 L158.46,156.91 L157.85,154.01 L157.12,151.15 L156.26,148.35 L155.27,145.6 L154.15,142.92 L152.91,140.3 L151.54,137.76 L150.06,135.29 L148.46,132.91 L146.75,130.61 L144.92,128.41 L142.99,126.3 L140.96,124.28 L138.83,122.38 L136.6,120.58 L134.28,118.89 L131.87,117.31 L129.39,115.85 L126.82,114.51 L124.18,113.29 L121.48,112.19 L118.71,111.23 L115.89,110.38 L113.02,109.67 L110.1,109.09 L107.14,108.65 L104.14,108.33 L101.11,108.15 L98.07,108.1 L95,108.19 L91.92,108.41 L88.84,108.76 L85.76,109.25 L82.68,109.87 L79.61,110.62 L76.56,111.5 L73.54,112.5 L70.54,113.63 L67.58,114.89 L64.66,116.27 L61.79,117.76 L58.96,119.37 L56.2,121.09 L53.49,122.93 L50.86,124.87 L48.29,126.91 L45.81,129.04 L43.4,131.28 L41.08,133.6 L38.85,136.01 L36.72,138.5 L34.69,141.06 L32.76,143.7 L30.93,146.4 L29.22,149.17 L27.62,151.99 L26.14,154.86 L24.77,157.77 L23.53,160.73 L22.41,163.71 L21.42,166.73 L20.56,169.77 L19.82,172.83 L19.22,175.89 L18.75,178.96 L18.42,182.04 L18.22,185.1" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M177.18,176.39 L176.96,173.11 L176.59,169.86 L176.08,166.66 L175.42,163.49 L174.62,160.38 L173.68,157.32 L172.6,154.33 L171.39,151.4 L170.03,148.55 L168.54,145.78 L166.93,143.09 L165.18,140.49 L163.32,137.99 L161.33,135.59 L159.22,133.29 L157.01,131.09 L154.68,129.02 L152.25,127.05 L149.73,125.21 L147.1,123.49 L144.39,121.9 L141.6,120.44 L138.72,119.11 L135.78,117.92 L132.76,116.86 L129.68,115.94 L126.55,115.17 L123.37,114.54 L120.14,114.05 L116.87,113.7 L113.58,113.51 L110.26,113.46 L106.91,113.55 L103.56,113.79 L100.2,114.18 L96.84,114.71 L93.48,115.38 L90.14,116.2 L86.82,117.16 L83.52,118.25 L80.25,119.49 L77.03,120.85 L73.84,122.35 L70.71,123.98 L67.63,125.74 L64.62,127.62 L61.67,129.61 L58.8,131.73 L56,133.95 L53.29,136.28 L50.67,138.72 L48.14,141.25 L45.71,143.87 L43.39,146.59 L41.17,149.38 L39.07,152.26 L37.08,155.2 L35.21,158.21 L33.47,161.29 L31.85,164.42 L30.36,167.59 L29.01,170.82 L27.79,174.07 L26.71,177.36 L25.77,180.67 L24.97,184 L24.32,187.35 L23.8,190.7 L23.44,194.04 L23.22,197.38" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="6 4" stroke-linecap="round" stroke-linejoin="round"/><path d="M181.78,188.82 L181.58,185.81 L181.25,182.83 L180.78,179.88 L180.18,176.98 L179.44,174.12 L178.58,171.32 L177.59,168.57 L176.47,165.89 L175.23,163.27 L173.86,160.73 L172.38,158.26 L170.78,155.88 L169.07,153.58 L167.24,151.38 L165.31,149.27 L163.28,147.26 L161.15,145.35 L158.92,143.55 L156.6,141.86 L154.19,140.28 L151.71,138.82 L149.14,137.48 L146.51,136.26 L143.8,135.17 L141.04,134.2 L138.21,133.36 L135.34,132.65 L132.42,132.07 L129.46,131.62 L126.46,131.3 L123.44,131.12 L120.39,131.08 L117.32,131.16 L114.24,131.38 L111.16,131.74 L108.08,132.22 L105,132.84 L101.93,133.59 L98.89,134.47 L95.86,135.48 L92.86,136.61 L89.9,137.86 L86.98,139.24 L84.11,140.73 L81.29,142.35 L78.52,144.07 L75.82,145.9 L73.18,147.84 L70.61,149.88 L68.13,152.02 L65.72,154.25 L63.4,156.57 L61.17,158.98 L59.04,161.47 L57.01,164.04 L55.08,166.67 L53.25,169.38 L51.54,172.14 L49.94,174.96 L48.46,177.83 L47.09,180.74 L45.85,183.7 L44.73,186.69 L43.74,189.7 L42.88,192.74 L42.15,195.8 L41.54,198.87 L41.07,201.94 L40.74,205.01 L40.54,208.07" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-dasharray="1.5 3" stroke-linecap="round" stroke-linejoin="round"/><text x="66.91" y="159.94" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">N</text><text x="133.09" y="228.06" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">S</text><text x="190.92" y="181.6" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">E</text><text x="100" y="270" font-size="14" style="--fs:14" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="600">Equator 0°</text></g><g id="lat-lat-23-45"><polygon points="261.95,161.13 268.78,160.33 275.76,159.75 282.85,159.4 290,159.28 297.15,159.4 304.24,159.75 311.22,160.33 318.05,161.13 324.65,162.16 331,163.4 337.03,164.84 342.71,166.47 347.98,168.28 352.82,170.26 357.17,172.38 361.01,174.64 364.32,177.02 367.05,179.49 369.21,182.05 370.75,184.67 371.69,187.32 372,190 371.69,192.68 370.75,195.33 369.21,197.95 367.05,200.51 364.32,202.98 361.01,205.36 357.17,207.62 352.82,209.74 347.98,211.72 342.71,213.53 337.03,215.16 331,216.6 324.65,217.84 318.05,218.87 311.22,219.67 304.24,220.25 297.15,220.6 290,220.72 282.85,220.6 275.76,220.25 268.78,219.67 261.95,218.87 255.35,217.84 249,216.6 242.97,215.16 237.29,213.53 232.02,211.72 227.18,209.74 222.83,207.62 218.99,205.36 215.68,202.98 212.95,200.51 210.79,197.95 209.25,195.33 208.31,192.68 208,190 208.31,187.32 209.25,184.67 210.79,182.05 212.95,179.49 215.68,177.02 218.99,174.64 222.83,172.38 227.18,170.26 232.02,168.28 237.29,166.47 242.97,164.84 249,163.4 255.35,162.16 261.95,161.13" fill="light-dark(#ffffff, #202124)" stroke="none"/><polygon points="261.95,161.13 268.78,160.33 275.76,159.75 282.85,159.4 290,159.28 297.15,159.4 304.24,159.75 311.22,160.33 318.05,161.13 324.65,162.16 331,163.4 337.03,164.84 342.71,166.47 347.98,168.28 352.82,170.26 357.17,172.38 361.01,174.64 364.32,177.02 367.05,179.49 369.21,182.05 370.75,184.67 371.69,187.32 372,190 371.69,192.68 370.75,195.33 369.21,197.95 367.05,200.51 364.32,202.98 361.01,205.36 357.17,207.62 352.82,209.74 347.98,211.72 342.71,213.53 337.03,215.16 331,216.6 324.65,217.84 318.05,218.87 311.22,219.67 304.24,220.25 297.15,220.6 290,220.72 282.85,220.6 275.76,220.25 268.78,219.67 261.95,218.87 255.35,217.84 249,216.6 242.97,215.16 237.29,213.53 232.02,211.72 227.18,209.74 222.83,207.62 218.99,205.36 215.68,202.98 212.95,200.51 210.79,197.95 209.25,195.33 208.31,192.68 208,190 208.31,187.32 209.25,184.67 210.79,182.05 212.95,179.49 215.68,177.02 218.99,174.64 222.83,172.38 227.18,170.26 232.02,168.28 237.29,166.47 242.97,164.84 249,163.4 255.35,162.16 261.95,161.13" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M372,190 A82,82 0 0 0 208,190" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M347.6,167.21 L348.51,164.84 L349.29,162.48 L349.94,160.12 L350.45,157.78 L350.83,155.46 L351.08,153.16 L351.18,150.89 L351.16,148.65 L350.99,146.44 L350.69,144.28 L350.26,142.16 L349.69,140.08 L348.99,138.06 L348.16,136.1 L347.19,134.19 L346.1,132.35 L344.88,130.57 L343.54,128.87 L342.08,127.24 L340.49,125.68 L338.8,124.2 L336.99,122.81 L335.07,121.5 L333.04,120.28 L330.92,119.15 L328.69,118.11 L326.38,117.16 L323.97,116.31 L321.48,115.56 L318.92,114.91 L316.27,114.35 L313.56,113.9 L310.78,113.55 L307.95,113.3 L305.06,113.15 L302.12,113.11 L299.14,113.17 L296.12,113.33 L293.07,113.6 L290,113.97 L286.91,114.44 L283.8,115.01 L280.69,115.69 L277.57,116.46 L274.46,117.32 L271.36,118.29 L268.27,119.34 L265.2,120.49 L262.17,121.73 L259.17,123.05 L256.2,124.46 L253.28,125.95 L250.41,127.52 L247.6,129.17 L244.85,130.88 L242.17,132.67 L239.55,134.53 L237.02,136.44 L234.56,138.42 L232.19,140.45 L229.91,142.53 L227.73,144.66 L225.64,146.83 L223.66,149.04 L221.79,151.29 L220.02,153.57 L218.37,155.87 L216.84,158.2 L215.42,160.54 L214.13,162.9 L212.96,165.26 L211.92,167.63 L211.01,170 L210.23,172.37 L209.58,174.72 L209.07,177.06 L208.69,179.38 L208.45,181.68 L208.34,183.95 L208.37,186.2" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M367.65,177.36 L367.91,174.86 L368.03,172.38 L368,169.94 L367.82,167.53 L367.5,165.17 L367.02,162.86 L366.4,160.6 L365.64,158.4 L364.73,156.26 L363.68,154.18 L362.49,152.17 L361.16,150.24 L359.7,148.38 L358.11,146.6 L356.38,144.9 L354.53,143.29 L352.56,141.77 L350.47,140.35 L348.26,139.02 L345.94,137.78 L343.52,136.65 L340.99,135.62 L338.37,134.69 L335.66,133.87 L332.86,133.16 L329.98,132.55 L327.02,132.06 L324,131.68 L320.9,131.4 L317.75,131.25 L314.55,131.2 L311.3,131.27 L308.01,131.44 L304.69,131.74 L301.34,132.14 L297.97,132.65 L294.58,133.28 L291.19,134.01 L287.79,134.85 L284.4,135.79 L281.02,136.84 L277.65,137.99 L274.32,139.25 L271.01,140.59 L267.73,142.04 L264.5,143.57 L261.32,145.2 L258.19,146.91 L255.13,148.7 L252.13,150.57 L249.2,152.52 L246.35,154.54 L243.59,156.63 L240.91,158.78 L238.33,161 L235.85,163.27 L233.46,165.59 L231.19,167.96 L229.03,170.37 L226.99,172.82 L225.06,175.3 L223.26,177.81 L221.59,180.35 L220.05,182.9 L218.64,185.47 L217.37,188.05 L216.24,190.63 L215.24,193.21 L214.39,195.79 L213.69,198.35" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="6 4" stroke-linecap="round" stroke-linejoin="round"/><path d="M371.47,191.6 L371.17,189.43 L370.74,187.31 L370.17,185.24 L369.47,183.22 L368.63,181.25 L367.67,179.35 L366.58,177.51 L365.36,175.73 L364.02,174.02 L362.55,172.39 L360.97,170.84 L359.27,169.36 L357.46,167.97 L355.55,166.66 L353.52,165.44 L351.4,164.31 L349.17,163.27 L346.86,162.32 L344.45,161.47 L341.96,160.72 L339.39,160.06 L336.75,159.51 L334.04,159.05 L331.26,158.7 L328.43,158.45 L325.54,158.31 L322.6,158.27 L319.62,158.33 L316.6,158.49 L313.55,158.76 L310.48,159.13 L307.38,159.6 L304.28,160.17 L301.16,160.84 L298.05,161.61 L294.93,162.48 L291.83,163.44 L288.75,164.5 L285.68,165.65 L282.65,166.88 L279.64,168.21 L276.68,169.62 L273.76,171.11 L270.89,172.68 L268.08,174.32 L265.33,176.04 L262.64,177.83 L260.03,179.68 L257.49,181.6 L255.04,183.57 L252.67,185.6 L250.39,187.69 L248.21,189.82 L246.12,191.99 L244.14,194.2 L242.26,196.45 L240.5,198.72 L238.85,201.03 L237.31,203.35 L235.9,205.7 L234.61,208.05 L233.44,210.42" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-dasharray="1.5 3" stroke-linecap="round" stroke-linejoin="round"/><text x="256.91" y="159.94" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">N</text><text x="323.09" y="228.06" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">S</text><text x="380.92" y="181.6" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">E</text><text x="290" y="270" font-size="14" style="--fs:14" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="600">Tropic 23.45° N</text></g><g id="lat-lat-42-4"><polygon points="451.95,161.13 458.78,160.33 465.76,159.75 472.85,159.4 480,159.28 487.15,159.4 494.24,159.75 501.22,160.33 508.05,161.13 514.65,162.16 521,163.4 527.03,164.84 532.71,166.47 537.98,168.28 542.82,170.26 547.17,172.38 551.01,174.64 554.32,177.02 557.05,179.49 559.21,182.05 560.75,184.67 561.69,187.32 562,190 561.69,192.68 560.75,195.33 559.21,197.95 557.05,200.51 554.32,202.98 551.01,205.36 547.17,207.62 542.82,209.74 537.98,211.72 532.71,213.53 527.03,215.16 521,216.6 514.65,217.84 508.05,218.87 501.22,219.67 494.24,220.25 487.15,220.6 480,220.72 472.85,220.6 465.76,220.25 458.78,219.67 451.95,218.87 445.35,217.84 439,216.6 432.97,215.16 427.29,213.53 422.02,211.72 417.18,209.74 412.83,207.62 408.99,205.36 405.68,202.98 402.95,200.51 400.79,197.95 399.25,195.33 398.31,192.68 398,190 398.31,187.32 399.25,184.67 400.79,182.05 402.95,179.49 405.68,177.02 408.99,174.64 412.83,172.38 417.18,170.26 422.02,168.28 427.29,166.47 432.97,164.84 439,163.4 445.35,162.16 451.95,161.13" fill="light-dark(#ffffff, #202124)" stroke="none"/><polygon points="451.95,161.13 458.78,160.33 465.76,159.75 472.85,159.4 480,159.28 487.15,159.4 494.24,159.75 501.22,160.33 508.05,161.13 514.65,162.16 521,163.4 527.03,164.84 532.71,166.47 537.98,168.28 542.82,170.26 547.17,172.38 551.01,174.64 554.32,177.02 557.05,179.49 559.21,182.05 560.75,184.67 561.69,187.32 562,190 561.69,192.68 560.75,195.33 559.21,197.95 557.05,200.51 554.32,202.98 551.01,205.36 547.17,207.62 542.82,209.74 537.98,211.72 532.71,213.53 527.03,215.16 521,216.6 514.65,217.84 508.05,218.87 501.22,219.67 494.24,220.25 487.15,220.6 480,220.72 472.85,220.6 465.76,220.25 458.78,219.67 451.95,218.87 445.35,217.84 439,216.6 432.97,215.16 427.29,213.53 422.02,211.72 417.18,209.74 412.83,207.62 408.99,205.36 405.68,202.98 402.95,200.51 400.79,197.95 399.25,195.33 398.31,192.68 398,190 398.31,187.32 399.25,184.67 400.79,182.05 402.95,179.49 405.68,177.02 408.99,174.64 412.83,172.38 417.18,170.26 422.02,168.28 427.29,166.47 432.97,164.84 439,163.4 445.35,162.16 451.95,161.13" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M562,190 A82,82 0 0 0 398,190" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M530.43,165.09 L532.25,163.57 L533.96,162.04 L535.55,160.52 L537.02,158.99 L538.36,157.47 L539.58,155.95 L540.67,154.45 L541.63,152.95 L542.45,151.48 L543.14,150.02 L543.69,148.58 L544.11,147.17 L544.39,145.78 L544.53,144.42 L544.53,143.1 L544.39,141.8 L544.12,140.55 L543.71,139.33 L543.16,138.16 L542.47,137.03 L541.65,135.94 L540.7,134.91 L539.62,133.92 L538.4,132.98 L537.06,132.1 L535.6,131.28 L534.01,130.51 L532.31,129.79 L530.49,129.14 L528.56,128.55 L526.52,128.02 L524.37,127.56 L522.13,127.15 L519.79,126.82 L517.36,126.54 L514.84,126.34 L512.24,126.2 L509.56,126.12 L506.81,126.12 L504,126.18 L501.12,126.3 L498.19,126.5 L495.2,126.75 L492.17,127.08 L489.11,127.47 L486.01,127.92 L482.88,128.43 L479.73,129.01 L476.57,129.65 L473.4,130.35 L470.22,131.11 L467.05,131.92 L463.88,132.79 L460.73,133.72 L457.61,134.69 L454.51,135.72 L451.44,136.79 L448.41,137.91 L445.42,139.08 L442.49,140.29 L439.61,141.53 L436.79,142.82 L434.04,144.14 L431.36,145.49 L428.76,146.87 L426.24,148.28 L423.8,149.71 L421.46,151.16 L419.21,152.64 L417.07,154.13 L415.02,155.63 L413.09,157.14 L411.26,158.66 L409.56,160.19 L407.97,161.72 L406.5,163.24 L405.15,164.76 L403.94,166.28 L402.85,167.79 L401.89,169.28 L401.07,170.75 L400.38,172.21 L399.82,173.65 L399.41,175.06 L399.13,176.45 L398.99,177.81 L398.99,179.14 L399.12,180.43 L399.4,181.68 L399.81,182.9" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M557.95,178.42 L558.55,176.85 L559.01,175.31 L559.31,173.8 L559.47,172.32 L559.47,170.87 L559.32,169.46 L559.02,168.09 L558.57,166.77 L557.97,165.49 L557.22,164.26 L556.33,163.07 L555.29,161.94 L554.11,160.87 L552.79,159.85 L551.33,158.89 L549.73,157.99 L548,157.15 L546.14,156.37 L544.16,155.66 L542.06,155.02 L539.83,154.44 L537.5,153.93 L535.05,153.49 L532.5,153.13 L529.85,152.83 L527.1,152.6 L524.27,152.45 L521.35,152.37 L518.36,152.36 L515.29,152.43 L512.15,152.56 L508.95,152.77 L505.7,153.06 L502.4,153.41 L499.06,153.83 L495.68,154.33 L492.27,154.89 L488.84,155.52 L485.39,156.21 L481.93,156.98 L478.47,157.8 L475.01,158.69 L471.56,159.64 L468.13,160.64 L464.72,161.71 L461.34,162.83 L458,164 L454.69,165.22 L451.44,166.49 L448.24,167.81 L445.1,169.17 L442.03,170.57 L439.03,172 L436.11,173.48 L433.28,174.98 L430.53,176.52 L427.87,178.08 L425.32,179.66 L422.87,181.27 L420.53,182.89 L418.3,184.53 L416.2,186.18 L414.21,187.84 L412.35,189.5 L410.61,191.17 L409.01,192.83 L407.55,194.49 L406.22,196.14 L405.03,197.78 L403.99,199.41" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="6 4" stroke-linecap="round" stroke-linejoin="round"/><path d="M559.64,195.93 L558.96,194.8 L558.14,193.71 L557.18,192.67 L556.1,191.69 L554.89,190.75 L553.55,189.87 L552.08,189.04 L550.5,188.27 L548.79,187.56 L546.97,186.91 L545.04,186.32 L543,185.79 L540.86,185.32 L538.61,184.92 L536.27,184.58 L533.84,184.31 L531.32,184.11 L528.72,183.97 L526.05,183.89 L523.3,183.89 L520.48,183.94 L517.6,184.07 L514.67,184.26 L511.69,184.52 L508.66,184.84 L505.59,185.23 L502.49,185.69 L499.36,186.2 L496.22,186.78 L493.05,187.42 L489.88,188.12 L486.7,188.87 L483.53,189.69 L480.37,190.56 L477.22,191.48 L474.09,192.46 L470.99,193.49 L467.92,194.56 L464.89,195.68 L461.91,196.85 L458.97,198.05 L456.09,199.3 L453.27,200.59 L450.52,201.9 L447.84,203.26 L445.24,204.64 L442.72,206.05 L440.29,207.48 L437.94,208.93 L435.7,210.41 L433.55,211.89 L431.51,213.4" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-dasharray="1.5 3" stroke-linecap="round" stroke-linejoin="round"/><text x="446.91" y="159.94" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">N</text><text x="513.09" y="228.06" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">S</text><text x="570.92" y="181.6" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">E</text><text x="480" y="270" font-size="14" style="--fs:14" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="600">Ithaca 42.4° N</text></g><g id="lat-lat-66-55"><polygon points="641.95,161.13 648.78,160.33 655.76,159.75 662.85,159.4 670,159.28 677.15,159.4 684.24,159.75 691.22,160.33 698.05,161.13 704.65,162.16 711,163.4 717.03,164.84 722.71,166.47 727.98,168.28 732.82,170.26 737.17,172.38 741.01,174.64 744.32,177.02 747.05,179.49 749.21,182.05 750.75,184.67 751.69,187.32 752,190 751.69,192.68 750.75,195.33 749.21,197.95 747.05,200.51 744.32,202.98 741.01,205.36 737.17,207.62 732.82,209.74 727.98,211.72 722.71,213.53 717.03,215.16 711,216.6 704.65,217.84 698.05,218.87 691.22,219.67 684.24,220.25 677.15,220.6 670,220.72 662.85,220.6 655.76,220.25 648.78,219.67 641.95,218.87 635.35,217.84 629,216.6 622.97,215.16 617.29,213.53 612.02,211.72 607.18,209.74 602.83,207.62 598.99,205.36 595.68,202.98 592.95,200.51 590.79,197.95 589.25,195.33 588.31,192.68 588,190 588.31,187.32 589.25,184.67 590.79,182.05 592.95,179.49 595.68,177.02 598.99,174.64 602.83,172.38 607.18,170.26 612.02,168.28 617.29,166.47 622.97,164.84 629,163.4 635.35,162.16 641.95,161.13" fill="light-dark(#ffffff, #202124)" stroke="none"/><polygon points="641.95,161.13 648.78,160.33 655.76,159.75 662.85,159.4 670,159.28 677.15,159.4 684.24,159.75 691.22,160.33 698.05,161.13 704.65,162.16 711,163.4 717.03,164.84 722.71,166.47 727.98,168.28 732.82,170.26 737.17,172.38 741.01,174.64 744.32,177.02 747.05,179.49 749.21,182.05 750.75,184.67 751.69,187.32 752,190 751.69,192.68 750.75,195.33 749.21,197.95 747.05,200.51 744.32,202.98 741.01,205.36 737.17,207.62 732.82,209.74 727.98,211.72 722.71,213.53 717.03,215.16 711,216.6 704.65,217.84 698.05,218.87 691.22,219.67 684.24,220.25 677.15,220.6 670,220.72 662.85,220.6 655.76,220.25 648.78,219.67 641.95,218.87 635.35,217.84 629,216.6 622.97,215.16 617.29,213.53 612.02,211.72 607.18,209.74 602.83,207.62 598.99,205.36 595.68,202.98 592.95,200.51 590.79,197.95 589.25,195.33 588.31,192.68 588,190 588.31,187.32 589.25,184.67 590.79,182.05 592.95,179.49 595.68,177.02 598.99,174.64 602.83,172.38 607.18,170.26 612.02,168.28 617.29,166.47 622.97,164.84 629,163.4 635.35,162.16 641.95,161.13" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M752,190 A82,82 0 0 0 588,190" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M645.06,160.71 L648.21,160.28 L651.38,159.85 L654.59,159.41 L657.81,158.97 L661.05,158.52 L664.3,158.08 L667.56,157.63 L670.8,157.18 L674.04,156.74 L677.26,156.29 L680.46,155.85 L683.63,155.41 L686.77,154.98 L689.87,154.55 L692.92,154.13 L695.91,153.71 L698.85,153.31 L701.73,152.91 L704.54,152.51 L707.27,152.13 L709.93,151.76 L712.5,151.4 L714.98,151.06 L717.36,150.72 L719.65,150.4 L721.84,150.09 L723.91,149.8 L725.88,149.52 L727.73,149.26 L729.46,149.01 L731.08,148.78 L732.56,148.57 L733.92,148.37 L735.15,148.19 L736.25,148.03 L737.21,147.89 L738.04,147.77 L738.73,147.66 L739.27,147.58 L739.68,147.51 L739.95,147.47 L740.08,147.44 L740.06,147.43 L739.9,147.44 L739.6,147.47 L739.16,147.52 L738.58,147.59 L737.86,147.68 L737,147.79 L736.01,147.92 L734.88,148.06 L733.62,148.23 L732.24,148.41 L730.72,148.61 L729.08,148.82 L727.32,149.06 L725.44,149.31 L723.45,149.57 L721.35,149.85 L719.14,150.15 L716.83,150.46 L714.42,150.78 L711.92,151.12 L709.33,151.47 L706.65,151.83 L703.9,152.21 L701.08,152.59 L698.19,152.98 L695.23,153.38 L692.22,153.79 L689.16,154.21 L686.06,154.63 L682.91,155.06 L679.73,155.5 L676.53,155.94 L673.3,156.38 L670.06,156.82 L666.81,157.27 L663.56,157.71 L660.31,158.16 L657.08,158.61 L653.85,159.05 L650.66,159.49 L647.48,159.93 L644.35,160.36 L641.25,160.79 L638.2,161.22 L635.2,161.63 L632.26,162.04 L629.39,162.44 L626.58,162.83 L623.85,163.21 L621.19,163.58 L618.62,163.94 L616.14,164.29 L613.75,164.62 L611.47,164.94 L609.28,165.25 L607.2,165.55 L605.24,165.82 L603.39,166.09 L601.65,166.33 L600.04,166.56 L598.55,166.78 L597.19,166.97 L595.96,167.15 L594.87,167.31 L593.91,167.45 L593.08,167.58 L592.39,167.68 L591.84,167.77 L591.43,167.83 L591.17,167.88 L591.04,167.91 L591.06,167.91 L591.22,167.9 L591.52,167.87 L591.96,167.82 L592.54,167.75 L593.26,167.66 L594.11,167.55 L595.11,167.43 L596.23,167.28 L597.49,167.12 L598.88,166.94 L600.4,166.74 L602.04,166.52 L603.8,166.29 L605.68,166.04 L607.67,165.77 L609.77,165.49 L611.98,165.19 L614.29,164.88 L616.7,164.56 L619.2,164.22 L621.79,163.87 L624.46,163.51 L627.21,163.14 L630.04,162.76 L632.93,162.36 L635.88,161.96 L638.89,161.55" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M748.18,179.91 L749.08,179.78 L749.83,179.66 L750.43,179.57 L750.87,179.5 L751.17,179.45 L751.3,179.42 L751.28,179.41 L751.11,179.42 L750.79,179.46 L750.31,179.51 L749.67,179.59 L748.89,179.68 L747.95,179.8 L746.87,179.94 L745.64,180.1 L744.27,180.28 L742.76,180.47 L741.1,180.69 L739.32,180.93 L737.4,181.18 L735.35,181.45 L733.18,181.74 L730.89,182.05 L728.48,182.37 L725.96,182.71 L723.34,183.06 L720.61,183.43 L717.79,183.81 L714.87,184.21 L711.87,184.61 L708.8,185.03 L705.64,185.46 L702.42,185.9 L699.14,186.34 L695.81,186.8 L692.42,187.26 L688.99,187.73 L685.53,188.2 L682.04,188.68 L678.52,189.16 L674.99,189.65 L671.45,190.13 L667.9,190.62 L664.36,191.11 L660.83,191.59 L657.32,192.08 L653.83,192.56 L650.38,193.03 L646.96,193.51 L643.58,193.97 L640.26,194.43 L636.99,194.89 L633.79,195.33 L630.65,195.77 L627.59,196.19 L624.61,196.61 L621.72,197.01 L618.92,197.4 L616.21,197.78 L613.61,198.15 L611.12,198.5 L608.74,198.83 L606.47,199.15 L604.33,199.46 L602.31,199.74 L600.42,200.01 L598.66,200.26 L597.04,200.5 L595.56,200.71 L594.22,200.9" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="6 4" stroke-linecap="round" stroke-linejoin="round"/><path d="M698.05,218.86" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-dasharray="1.5 3" stroke-linecap="round" stroke-linejoin="round"/><text x="636.91" y="159.94" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">N</text><text x="703.09" y="228.06" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">S</text><text x="760.92" y="181.6" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">E</text><text x="670" y="270" font-size="14" style="--fs:14" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="600">Arctic Circle 66.55° N</text></g><g id="lat-lat-90"><polygon points="831.95,161.13 838.78,160.33 845.76,159.75 852.85,159.4 860,159.28 867.15,159.4 874.24,159.75 881.22,160.33 888.05,161.13 894.65,162.16 901,163.4 907.03,164.84 912.71,166.47 917.98,168.28 922.82,170.26 927.17,172.38 931.01,174.64 934.32,177.02 937.05,179.49 939.21,182.05 940.75,184.67 941.69,187.32 942,190 941.69,192.68 940.75,195.33 939.21,197.95 937.05,200.51 934.32,202.98 931.01,205.36 927.17,207.62 922.82,209.74 917.98,211.72 912.71,213.53 907.03,215.16 901,216.6 894.65,217.84 888.05,218.87 881.22,219.67 874.24,220.25 867.15,220.6 860,220.72 852.85,220.6 845.76,220.25 838.78,219.67 831.95,218.87 825.35,217.84 819,216.6 812.97,215.16 807.29,213.53 802.02,211.72 797.18,209.74 792.83,207.62 788.99,205.36 785.68,202.98 782.95,200.51 780.79,197.95 779.25,195.33 778.31,192.68 778,190 778.31,187.32 779.25,184.67 780.79,182.05 782.95,179.49 785.68,177.02 788.99,174.64 792.83,172.38 797.18,170.26 802.02,168.28 807.29,166.47 812.97,164.84 819,163.4 825.35,162.16 831.95,161.13" fill="light-dark(#ffffff, #202124)" stroke="none"/><polygon points="831.95,161.13 838.78,160.33 845.76,159.75 852.85,159.4 860,159.28 867.15,159.4 874.24,159.75 881.22,160.33 888.05,161.13 894.65,162.16 901,163.4 907.03,164.84 912.71,166.47 917.98,168.28 922.82,170.26 927.17,172.38 931.01,174.64 934.32,177.02 937.05,179.49 939.21,182.05 940.75,184.67 941.69,187.32 942,190 941.69,192.68 940.75,195.33 939.21,197.95 937.05,200.51 934.32,202.98 931.01,205.36 927.17,207.62 922.82,209.74 917.98,211.72 912.71,213.53 907.03,215.16 901,216.6 894.65,217.84 888.05,218.87 881.22,219.67 874.24,220.25 867.15,220.6 860,220.72 852.85,220.6 845.76,220.25 838.78,219.67 831.95,218.87 825.35,217.84 819,216.6 812.97,215.16 807.29,213.53 802.02,211.72 797.18,209.74 792.83,207.62 788.99,205.36 785.68,202.98 782.95,200.51 780.79,197.95 779.25,195.33 778.31,192.68 778,190 778.31,187.32 779.25,184.67 780.79,182.05 782.95,179.49 785.68,177.02 788.99,174.64 792.83,172.38 797.18,170.26 802.02,168.28 807.29,166.47 812.97,164.84 819,163.4 825.35,162.16 831.95,161.13" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M942,190 A82,82 0 0 0 778,190" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M834.27,133.26 L837.38,132.87 L840.53,132.52 L843.72,132.23 L846.94,131.99 L850.18,131.8 L853.44,131.67 L856.72,131.59 L860,131.56 L863.28,131.59 L866.56,131.67 L869.82,131.8 L873.06,131.99 L876.28,132.23 L879.47,132.52 L882.62,132.87 L885.73,133.26 L888.79,133.71 L891.79,134.2 L894.74,134.75 L897.61,135.34 L900.42,135.98 L903.15,136.66 L905.8,137.39 L908.36,138.16 L910.82,138.97 L913.19,139.82 L915.46,140.71 L917.63,141.63 L919.68,142.59 L921.62,143.58 L923.45,144.6 L925.15,145.65 L926.73,146.73 L928.18,147.83 L929.5,148.96 L930.69,150.11 L931.75,151.27 L932.66,152.45 L933.44,153.65 L934.08,154.85 L934.58,156.07 L934.94,157.29 L935.16,158.52 L935.23,159.74 L935.16,160.97 L934.94,162.2 L934.58,163.42 L934.08,164.64 L933.44,165.84 L932.66,167.04 L931.75,168.22 L930.69,169.38 L929.5,170.53 L928.18,171.65 L926.73,172.76 L925.15,173.83 L923.45,174.89 L921.62,175.91 L919.68,176.9 L917.63,177.86 L915.46,178.78 L913.19,179.67 L910.82,180.52 L908.36,181.33 L905.8,182.1 L903.15,182.83 L900.42,183.51 L897.61,184.15 L894.74,184.74 L891.79,185.29 L888.79,185.78 L885.73,186.23 L882.62,186.62 L879.47,186.97 L876.28,187.26 L873.06,187.5 L869.82,187.68 L866.56,187.82 L863.28,187.9 L860,187.93 L856.72,187.9 L853.44,187.82 L850.18,187.68 L846.94,187.5 L843.72,187.26 L840.53,186.97 L837.38,186.62 L834.27,186.23 L831.21,185.78 L828.21,185.29 L825.26,184.74 L822.39,184.15 L819.58,183.51 L816.85,182.83 L814.2,182.1 L811.64,181.33 L809.18,180.52 L806.81,179.67 L804.54,178.78 L802.37,177.86 L800.32,176.9 L798.38,175.91 L796.55,174.89 L794.85,173.83 L793.27,172.76 L791.82,171.65 L790.5,170.53 L789.31,169.38 L788.25,168.22 L787.34,167.04 L786.56,165.84 L785.92,164.64 L785.42,163.42 L785.06,162.2 L784.84,160.97 L784.77,159.74 L784.84,158.52 L785.06,157.29 L785.42,156.07 L785.92,154.85 L786.56,153.65 L787.34,152.45 L788.25,151.27 L789.31,150.11 L790.5,148.96 L791.82,147.83 L793.27,146.73 L794.85,145.65 L796.55,144.6 L798.38,143.58 L800.32,142.59 L802.37,141.63 L804.54,140.71 L806.81,139.82 L809.18,138.97 L811.64,138.16 L814.2,137.39 L816.85,136.66 L819.58,135.98 L822.39,135.34 L825.26,134.75 L828.21,134.2 L831.21,133.71 L834.27,133.26" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><text x="826.91" y="159.94" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">N</text><text x="893.09" y="228.06" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">S</text><text x="950.92" y="181.6" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">E</text><text x="860" y="270" font-size="14" style="--fs:14" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="600">North Pole 90° N</text></g><g id="lat-key"><path d="M298.2,300 Q314,299.91 329.8,300" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><text x="334" y="304" font-size="12" style="--fs:12" fill="light-dark(#607181, #aabccb)">Jun 21</text><line x1="450" y1="300" x2="478" y2="300" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="6 4" stroke-linecap="round" stroke-linejoin="round"/><text x="484" y="304" font-size="12" style="--fs:12" fill="light-dark(#607181, #aabccb)">Mar 21 / Sep 21</text><line x1="600" y1="300" x2="628" y2="300" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-dasharray="1.5 3" stroke-linecap="round" stroke-linejoin="round"/><text x="634" y="304" font-size="12" style="--fs:12" fill="light-dark(#607181, #aabccb)">Dec 21</text></g></g></svg></div><figcaption><span><strong>Figure 2.</strong> Sun paths at different latitudes</span><a href="./assets/diagrams/solar/latitudes.svg" download>Editable SVG ↓</a></figcaption></figure>
<!-- FIG:latitudes_END -->
</section>
<section id="masks" class="reader-section">
<div class="section-heading"><span class="section-number">02</span><div><p class="eyebrow">OBSTRUCTIONS · EQ. 15</p><h2>Shading masks</h2></div></div>
<p class="section-lead">A shading mask is the outline of the obstructions around one point, projected onto the same chart as the sun paths. Where a sun path runs inside the mask, the point receives no direct sun.</p>
<p class="measure">For a vertical edge of height H above the point, at horizontal distance D, the obstruction angle is the altitude of its top:</p>
<div class="eq" id="eq-15"><span class="eq-math"><span class="eq-line"><math><msub><mi class="sym alt">ALT</mi><mtext>obs</mtext></msub><mo>=</mo><mrow><mi>arctan</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mrow><mo>(</mo><mfrac><mi>H</mi><mi>D</mi></mfrac><mo>)</mo></mrow></mrow></math></span><span class="eq-line"><span class="eq-label">long wall</span><math><msub><mi class="sym alt">ALT</mi><mtext>obs</mtext></msub><mo>=</mo><mrow><mi>arctan</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mrow><mo>(</mo><mfrac><mrow><mi>H</mi><mo>·</mo><mrow><mi>cos</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mi>Δ</mi></mrow></mrow><mi>D</mi></mfrac><mo>)</mo></mrow></mrow></math><span class="eq-note">Δ = azimuth off the wall normal</span></span></span><span class="eq-n">(15)</span></div>
<div class="lab lab-stack">
<div class="lab-canvas"><div class="canvas-heading"><span class="small-label">OBSTRUCTION SEEN FROM THE POINT</span><button type="button" class="quiet-button" data-export="maskscene">Save SVG ↓</button></div><div class="diagram-host" id="d-maskscene"></div><div class="canvas-heading canvas-heading-next"><span class="small-label">THE SAME BUILDING AS A MASK ON THE SUN-PATH DIAGRAM</span><button type="button" class="quiet-button" data-export="maskchart">Save SVG ↓</button></div><div class="diagram-host" id="d-maskchart"></div><div class="diagram-inputs" id="in-mask"></div></div>
<div class="lab-controls"><p class="control-kicker">OBSTRUCTION · EQ. 15</p><div class="calc" id="calc-mask" aria-live="polite"></div><p class="control-kicker">DIRECT SUN AT THE POINT</p><div class="large-result"><strong id="mask-hours">—</strong><span>hours of potential direct sun on the selected date (clear sky)</span></div><p id="mask-intervals" class="control-note"></p><div class="mask-year" id="mask-year"></div></div>
</div>
<ul class="facts">
<li>A mask is valid for one point. Masks for points on the same facade differ; for a surface they must be combined.</li>
<li>The <strong>solar window</strong> is the part of the sky crossed by the sun between 09:00 and 15:00, from Dec 21 to Jun 21. Obstructions in its lower part remove winter sun; in the whole window, sun for PV and solar hot water.</li>
</ul>
<!-- FIG:solar-window_START -->
<figure class="fig" id="fig-solar-window"><div class="fig-plate"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 450" class="diagram" role="img" aria-label="Solar window at 42.4° N"><title>Solar window at 42.4° N</title><defs><marker id="sw-arrow-ink" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5"/></marker><marker id="sw-arrow-alt" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1.5"/></marker><marker id="sw-arrow-azi" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#007c9a, #6bd8f0)" stroke-width="1.5"/></marker><marker id="sw-arrow-third" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#6a4fb3, #c3b2ff)" stroke-width="1.5"/></marker><marker id="sw-arrow-muted" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#607181, #aabccb)" stroke-width="1.5"/></marker><marker id="sw-arrow-red" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#b13d4c, #ff9daa)" stroke-width="1.5"/></marker><pattern id="sw-hatch-shadow" patternUnits="userSpaceOnUse" width="3.4" height="3.4" patternTransform="rotate(45)"><rect width="3.4" height="3.4" fill="light-dark(#ffffff, #202124)"/><line x1="0" y1="0" x2="0" y2="3.4" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern><pattern id="sw-hatch-shade" patternUnits="userSpaceOnUse" width="7.5" height="7.5" patternTransform="rotate(45)"><rect width="7.5" height="7.5" fill="light-dark(#ffffff, #202124)"/><line x1="0" y1="0" x2="0" y2="7.5" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern><pattern id="sw-hatch-screen" patternUnits="userSpaceOnUse" width="4.2" height="4.2" patternTransform="rotate(135)"><line x1="0" y1="0" x2="0" y2="4.2" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern></defs><g font-family="Helvetica Neue, Helvetica, Arial, sans-serif"><g id="sw-solar-window"><polygon points="281.34,219.04 300.47,216.78 320.06,215.15 339.95,214.17 360,213.84 380.05,214.17 399.94,215.15 419.53,216.78 438.66,219.04 457.2,221.91 475,225.38 491.92,229.42 507.84,234 522.63,239.08 536.19,244.62 548.4,250.58 559.19,256.92 568.45,263.59 576.13,270.53 582.16,277.7 586.51,285.04 589.12,292.49 590,300 589.12,307.51 586.51,314.96 582.16,322.3 576.13,329.47 568.45,336.41 559.19,343.08 548.4,349.42 536.19,355.38 522.63,360.92 507.84,366 491.92,370.58 475,374.62 457.2,378.09 438.66,380.96 419.53,383.22 399.94,384.85 380.05,385.83 360,386.16 339.95,385.83 320.06,384.85 300.47,383.22 281.34,380.96 262.8,378.09 245,374.62 228.08,370.58 212.16,366 197.37,360.92 183.81,355.38 171.6,349.42 160.81,343.08 151.55,336.41 143.87,329.47 137.84,322.3 133.49,314.96 130.88,307.51 130,300 130.88,292.49 133.49,285.04 137.84,277.7 143.87,270.53 151.55,263.59 160.81,256.92 171.6,250.58 183.81,244.62 197.37,239.08 212.16,234 228.08,229.42 245,225.38 262.8,221.91 281.34,219.04" fill="light-dark(#ffffff, #202124)" stroke="none"/><polygon points="281.34,219.04 300.47,216.78 320.06,215.15 339.95,214.17 360,213.84 380.05,214.17 399.94,215.15 419.53,216.78 438.66,219.04 457.2,221.91 475,225.38 491.92,229.42 507.84,234 522.63,239.08 536.19,244.62 548.4,250.58 559.19,256.92 568.45,263.59 576.13,270.53 582.16,277.7 586.51,285.04 589.12,292.49 590,300 589.12,307.51 586.51,314.96 582.16,322.3 576.13,329.47 568.45,336.41 559.19,343.08 548.4,349.42 536.19,355.38 522.63,360.92 507.84,366 491.92,370.58 475,374.62 457.2,378.09 438.66,380.96 419.53,383.22 399.94,384.85 380.05,385.83 360,386.16 339.95,385.83 320.06,384.85 300.47,383.22 281.34,380.96 262.8,378.09 245,374.62 228.08,370.58 212.16,366 197.37,360.92 183.81,355.38 171.6,349.42 160.81,343.08 151.55,336.41 143.87,329.47 137.84,322.3 133.49,314.96 130.88,307.51 130,300 130.88,292.49 133.49,285.04 137.84,277.7 143.87,270.53 151.55,263.59 160.81,256.92 171.6,250.58 183.81,244.62 197.37,239.08 212.16,234 228.08,229.42 245,225.38 262.8,221.91 281.34,219.04" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M590,300 A230,230 0 0 0 130,300" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><polygon points="511.5,133.13 504.2,130.2 496.19,127.65 487.5,125.49 478.17,123.73 468.22,122.38 457.72,121.44 446.7,120.92 435.21,120.82 423.29,121.14 411.01,121.88 398.41,123.03 385.55,124.6 372.47,126.57 359.25,128.93 345.93,131.69 332.57,134.81 319.23,138.3 305.96,142.13 292.83,146.29 279.89,150.76 267.19,155.52 254.79,160.56 242.74,165.85 231.09,171.36 231.09,171.36 231.1,171.69 231.15,172.75 231.25,174.53 231.41,177.03 231.71,180.86 232.08,184.91 232.59,189.64 233.28,195.04 234.16,201.08 235.27,207.7 236.61,214.87 238.2,222.5 240.05,230.52 242.15,238.84 244.89,248.81 247.46,257.44 250.19,266.05 253.05,274.53 255.98,282.76 258.93,290.65 261.84,298.09 264.65,304.99 267.3,311.28 269.73,316.87 272.23,322.46 274.02,326.38 275.46,329.45 276.5,331.66 277.12,332.98 277.32,333.39 277.32,333.39 288.97,327.88 301.02,322.59 313.42,317.56 326.12,312.79 339.06,308.32 352.2,304.16 365.46,300.33 378.8,296.84 392.16,293.72 405.48,290.97 418.71,288.6 431.78,286.63 444.64,285.06 457.24,283.91 469.53,283.17 481.44,282.85 492.93,282.95 503.95,283.47 514.46,284.41 524.4,285.76 533.74,287.52 542.43,289.68 550.44,292.23 557.73,295.16 557.73,295.16 557.78,294.71 557.91,293.29 558.12,290.91 558.38,287.61 558.64,283.41 558.89,277.45 559,271.5 558.95,264.86 558.69,257.61 558.18,249.85 557.36,241.67 556.2,233.2 554.68,224.54 552.79,215.81 550.54,207.13 547.48,197.21 544.54,189 541.35,181.16 537.98,173.77 534.51,166.9 531.01,160.6 527.58,154.92 524.29,149.87 521.23,145.48 518.48,141.76 515.76,138.26 513.92,135.99 512.57,134.38 511.76,133.43 511.5,133.13" fill="url(#sw-hatch-screen)" stroke="none"/><polygon points="511.5,133.13 504.2,130.2 496.19,127.65 487.5,125.49 478.17,123.73 468.22,122.38 457.72,121.44 446.7,120.92 435.21,120.82 423.29,121.14 411.01,121.88 398.41,123.03 385.55,124.6 372.47,126.57 359.25,128.93 345.93,131.69 332.57,134.81 319.23,138.3 305.96,142.13 292.83,146.29 279.89,150.76 267.19,155.52 254.79,160.56 242.74,165.85 231.09,171.36 231.09,171.36 231.1,171.69 231.15,172.75 231.25,174.53 231.41,177.03 231.71,180.86 232.08,184.91 232.59,189.64 233.28,195.04 234.16,201.08 235.27,207.7 236.61,214.87 238.2,222.5 240.05,230.52 242.15,238.84 244.89,248.81 247.46,257.44 250.19,266.05 253.05,274.53 255.98,282.76 258.93,290.65 261.84,298.09 264.65,304.99 267.3,311.28 269.73,316.87 272.23,322.46 274.02,326.38 275.46,329.45 276.5,331.66 277.12,332.98 277.32,333.39 277.32,333.39 288.97,327.88 301.02,322.59 313.42,317.56 326.12,312.79 339.06,308.32 352.2,304.16 365.46,300.33 378.8,296.84 392.16,293.72 405.48,290.97 418.71,288.6 431.78,286.63 444.64,285.06 457.24,283.91 469.53,283.17 481.44,282.85 492.93,282.95 503.95,283.47 514.46,284.41 524.4,285.76 533.74,287.52 542.43,289.68 550.44,292.23 557.73,295.16 557.73,295.16 557.78,294.71 557.91,293.29 558.12,290.91 558.38,287.61 558.64,283.41 558.89,277.45 559,271.5 558.95,264.86 558.69,257.61 558.18,249.85 557.36,241.67 556.2,233.2 554.68,224.54 552.79,215.81 550.54,207.13 547.48,197.21 544.54,189 541.35,181.16 537.98,173.77 534.51,166.9 531.01,160.6 527.58,154.92 524.29,149.87 521.23,145.48 518.48,141.76 515.76,138.26 513.92,135.99 512.57,134.38 511.76,133.43 511.5,133.13" fill="none" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M501.45,230.13 L506.56,225.86 L511.35,221.58 L515.81,217.3 L519.93,213.02 L523.7,208.75 L527.11,204.5 L530.17,200.28 L532.85,196.09 L535.16,191.95 L537.1,187.86 L538.65,183.83 L539.82,179.86 L540.6,175.97 L540.99,172.16 L541,168.44 L540.62,164.82 L539.85,161.3 L538.69,157.89 L537.15,154.59 L535.23,151.42 L532.93,148.38 L530.26,145.47 L527.22,142.7 L523.81,140.08 L520.05,137.6 L515.95,135.29 L511.5,133.13 L506.72,131.13 L501.61,129.3 L496.19,127.65 L490.47,126.16 L484.46,124.85 L478.17,123.73 L471.6,122.78 L464.78,122.02 L457.72,121.44 L450.43,121.04 L442.92,120.84 L435.21,120.82 L427.31,120.98 L419.24,121.34 L411.01,121.88 L402.64,122.6 L394.15,123.51 L385.55,124.6 L376.85,125.87 L368.08,127.31 L359.25,128.93 L350.38,130.73 L341.48,132.69 L332.57,134.81 L323.67,137.1 L314.8,139.54 L305.96,142.13 L297.19,144.87 L288.49,147.75 L279.89,150.76 L271.39,153.91 L263.02,157.17 L254.79,160.56 L246.71,164.06 L238.81,167.66 L231.09,171.36 L223.57,175.15 L216.27,179.02 L209.2,182.97 L202.37,186.99 L195.8,191.07 L189.5,195.2 L183.48,199.38 L177.75,203.6 L172.32,207.84 L167.21,212.11 L162.41,216.39 L157.96,220.67 L153.84,224.95 L150.07,229.22 L146.65,233.47 L143.6,237.69 L140.92,241.88 L138.6,246.02 L136.67,250.11 L135.12,254.14 L133.95,258.11 L133.17,262 L132.77,265.81 L132.77,269.53 L133.15,273.15 L133.92,276.67 L135.07,280.08" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="393.55" y="118.6" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" font-weight="600">Jun 21</text><path d="M578.64,267.51 L580.33,263.11 L581.61,258.79 L582.46,254.55 L582.89,250.4 L582.9,246.34 L582.48,242.39 L581.64,238.56 L580.38,234.84 L578.7,231.25 L576.61,227.79 L574.1,224.47 L571.19,221.3 L567.87,218.29 L564.16,215.43 L560.06,212.73 L555.59,210.2 L550.74,207.85 L545.53,205.67 L539.96,203.68 L534.06,201.87 L527.82,200.26 L521.27,198.83 L514.41,197.6 L507.25,196.57 L499.82,195.74 L492.12,195.11 L484.17,194.68 L475.99,194.45 L467.58,194.43 L458.97,194.61 L450.18,195 L441.21,195.59 L432.09,196.38 L422.83,197.37 L413.45,198.55 L403.97,199.94 L394.41,201.51 L384.79,203.28 L375.12,205.23 L365.42,207.37 L355.71,209.69 L346.01,212.18 L336.33,214.84 L326.71,217.66 L317.14,220.65 L307.66,223.78 L298.28,227.07 L289.02,230.5 L279.9,234.06 L270.92,237.75 L262.12,241.56 L253.51,245.49 L245.09,249.52 L236.9,253.65 L228.94,257.88 L221.24,262.18 L213.79,266.56 L206.63,271.01 L199.76,275.51 L193.2,280.07 L186.95,284.66 L181.04,289.29 L175.46,293.94 L170.24,298.6 L165.38,303.27 L160.89,307.94 L156.78,312.59 L153.06,317.22 L149.73,321.82 L146.8,326.39" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="6 4" stroke-linecap="round" stroke-linejoin="round"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="421.45" y="192.55" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" font-weight="600">Mar 21</text><path d="M583.38,316.62 L581.46,313.45 L579.16,310.41 L576.49,307.5 L573.45,304.73 L570.05,302.11 L566.29,299.64 L562.18,297.32 L557.73,295.16 L552.95,293.16 L547.85,291.33 L542.43,289.68 L536.71,288.19 L530.69,286.89 L524.4,285.76 L517.84,284.81 L511.02,284.05 L503.95,283.47 L496.66,283.08 L489.15,282.87 L481.44,282.85 L473.54,283.02 L465.47,283.37 L457.24,283.91 L448.88,284.63 L440.38,285.54 L431.78,286.63 L423.08,287.9 L414.31,289.34 L405.48,290.97 L396.61,292.76 L387.71,294.72 L378.8,296.84 L369.9,299.13 L361.03,301.57 L352.2,304.16 L343.42,306.9 L334.73,309.78 L326.12,312.79 L317.62,315.94 L309.25,319.21 L301.02,322.59 L292.94,326.09 L285.04,329.69 L277.32,333.39 L269.81,337.18 L262.51,341.05 L255.44,345 L248.61,349.02 L242.04,353.1 L235.73,357.23 L229.71,361.41 L223.98,365.63" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-dasharray="1.5 3" stroke-linecap="round" stroke-linejoin="round"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="439.78" y="280.63" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" font-weight="600">Dec 21</text><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="557.73" y="313.16" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">9:00</text><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="277.32" y="351.39" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle">15:00</text><text x="269.54" y="211.89" font-size="16" style="--fs:16" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700">N</text><text x="608.55" y="271.11" font-size="16" style="--fs:16" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700">E</text><text x="450.46" y="398.11" font-size="16" style="--fs:16" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700">S</text><text x="111.45" y="338.89" font-size="16" style="--fs:16" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700">W</text><text x="30" y="40" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)">Solar window: the sky region crossed by the sun between 09:00 and 15:00 solar time, Dec 21 to Jun 21.</text><text x="30" y="60" font-size="12" style="--fs:12" fill="light-dark(#607181, #aabccb)">Keep it unobstructed for solar heating (lower part, winter) or PV and hot water (whole window).</text></g></g></svg></div><figcaption><span><strong>Figure 3.</strong> Solar window, Ithaca</span><a href="./assets/diagrams/solar/solar-window.svg" download>Editable SVG ↓</a></figcaption></figure>
<!-- FIG:solar-window_END -->
</section>
<section id="profile" class="reader-section">
<div class="section-heading"><span class="section-number">03</span><div><p class="eyebrow">HSA · VSA · EQ. 16–21</p><h2>Profile angle and shading devices</h2></div></div>
<p class="section-lead">Shading devices are sized in two drawings: a section perpendicular to the facade and a plan. Neither shows the true altitude unless the sun is directly in front of the facade. The sun angle must first be projected into each drawing.</p>
<dl class="defs">
<div><dt><b class="sym azi">HSA</b> · horizontal shadow angle</dt><dd>Angle in plan between the facade normal and the sun's azimuth. Governs vertical devices (fins).</dd></div>
<div><dt><b class="sym third">VSA</b> · vertical shadow angle, profile angle</dt><dd>Angle in the section perpendicular to the facade between the horizontal and the projected sun ray. Governs horizontal devices (overhangs, louvres). VSA = ALT only when HSA = 0.</dd></div>
<div><dt>INC · angle of incidence</dt><dd>Angle between the sun ray and the facade normal. Sets the beam irradiance on the facade (<a href="./solar-radiation.html#incidence">Chapter 05</a>, Eq. 27).</dd></div>
</dl>
<div class="eq" id="eq-16"><span class="eq-math"><span class="eq-line"><math><mi class="sym azi">HSA</mi><mo>=</mo><mi class="sym azi">AZI</mi><mo>−</mo><mi>ORI</mi></math><span class="eq-note">reduced to −180° … +180°</span></span><span class="eq-line"><span class="eq-label">direct sun on the facade only if</span><math><mrow><mo>|</mo><mi class="sym azi">HSA</mi><mo>|</mo></mrow><mo><</mo><mn>90°</mn></math></span></span><span class="eq-n">(16)</span></div>
<div class="eq" id="eq-17"><span class="eq-math"><span class="eq-line"><math><mi class="sym third">VSA</mi><mo>=</mo><mrow><mi>arctan</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mrow><mo>(</mo><mfrac><mrow><mi>tan</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mi class="sym alt">ALT</mi></mrow><mrow><mi>cos</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mi class="sym azi">HSA</mi></mrow></mfrac><mo>)</mo></mrow></mrow></math></span></span><span class="eq-n">(17)</span></div>
<div class="eq" id="eq-18"><span class="eq-math"><span class="eq-line"><span class="eq-label">vertical surface</span><math><mi>INC</mi><mo>=</mo><mrow><mi>arccos</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mrow><mo>(</mo><mrow><mi>cos</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mi class="sym alt">ALT</mi></mrow><mo>·</mo><mrow><mi>cos</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mi class="sym azi">HSA</mi></mrow><mo>)</mo></mrow></mrow></math></span></span><span class="eq-n">(18)</span></div>
<div class="lab lab-stack">
<div class="lab-canvas"><div class="canvas-heading"><span class="small-label">PROFILE ANGLE CONSTRUCTION</span><button type="button" class="quiet-button" data-export="profile">Save SVG ↓</button></div><div class="diagram-host" id="d-profile"></div><div class="canvas-heading canvas-heading-next"><span class="small-label">THE SAME WINDOW IN SECTION AND PLAN</span><button type="button" class="quiet-button" data-export="device">Save SVG ↓</button></div><div class="diagram-host" id="d-device"></div><div class="diagram-inputs" id="in-profile"></div></div>
<div class="lab-controls"><p class="control-kicker">EQ. 16–19 WITH THESE INPUTS</p><div class="calc" id="calc-profile" aria-live="polite"></div><p class="control-note">Window H = 1.5 m, w = 1.2 m; overhang G = 0.3 m above the head. Overhang and fins are assumed continuous beyond the window.</p></div>
</div>
<h3 class="sub">Sizing</h3>
<div class="eq" id="eq-19"><span class="eq-math"><span class="eq-line"><span class="eq-label">overhang</span><math><mtext>shadow drop</mtext><mo>=</mo><mi>D</mi><mo>·</mo><mrow><mi>tan</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mi>VSA</mi></mrow></math><span class="eq-note">below the overhang edge</span></span><span class="eq-line"><span class="eq-label">full shade of the window when</span><math><mi>D</mi><mo>≥</mo><mfrac><mrow><mi>H</mi><mo>+</mo><mi>G</mi></mrow><mrow><mi>tan</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mi>VSA</mi></mrow></mfrac></math></span></span><span class="eq-n">(19)</span></div>
<div class="eq" id="eq-20"><span class="eq-math"><span class="eq-line"><span class="eq-label">fins at clear spacing <i>w</i>, full shade when</span><math><mi>d</mi><mo>≥</mo><mfrac><mi>w</mi><mrow><mi>tan</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mrow><mo>|</mo><mi>HSA</mi><mo>|</mo></mrow></mrow></mfrac></math></span></span><span class="eq-n">(20)</span></div>
<div class="eq" id="eq-21"><span class="eq-math"><span class="eq-line"><span class="eq-label">equator-facing window</span><math><msub><mi>VSA</mi><mtext>device</mtext></msub><mo>=</mo><mn>90°</mn><mo>−</mo><mi>LAT</mi></math><span class="eq-note">full shade at noon from the spring to the autumn equinox</span></span></span><span class="eq-n">(21)</span></div>
<p class="measure">A device is described by its cut-off angles: VSA<sub>device</sub> = arctan((H + G)/D) and HSA<sub>device</sub> = arctan(w/d). Plotted on the sun-path diagram for the facade orientation, they form the device's shading mask: segmental for horizontal devices, sectoral for vertical fins, combined for egg-crates. All sun positions inside the mask are fully screened.</p>
<div class="lab">
<div class="lab-canvas"><div class="canvas-heading"><span class="small-label">DEVICE MASK ON THE SUN-PATH DIAGRAM</span><button type="button" class="quiet-button" data-export="devicemask">Save SVG ↓</button></div><div class="diagram-host" id="d-devicemask"></div><div class="diagram-inputs" id="in-devicemask"></div></div>
<div class="lab-controls"><p class="control-kicker">PROCEDURE</p><ol class="steps"><li>Define the overheated and underheated periods from climate data and building type.</li><li>Draw the facade line through the chart center. Sun behind it (gray) never reaches the facade.</li><li>Choose VSA and HSA so the mask covers the overheated period.</li><li>Check that the mask leaves the underheated period open.</li><li>Prevent outflanking: extend the overhang at least H/2 beyond each side, or add fins.</li></ol>
<dl class="small-metrics"><div><dt>VSA<sub>device</sub></dt><dd id="dev-vsa">—</dd></div><div><dt>HSA<sub>device</sub></dt><dd id="dev-hsa">—</dd></div><div><dt>Equinox cut-off (Eq. 21)</dt><dd id="dev-eq20">—</dd></div></dl></div>
</div>
<div class="callout"><span>TEST DATES</span>
<p class="measure">Do not size devices on Jun 21 and Dec 21 alone. Jun 21 has the highest sun and is the easiest date to shade; the hottest weeks are later (July–August). Test the last day of the overheated period, when full shade is still required, and the last day of the underheated period, when full sun is still wanted. For east and west facades, test early morning and late afternoon: ALT and HSA are both small, VSA is small, and horizontal overhangs are ineffective.</p>
</div>
<!-- FIG:device-types_START -->
<figure class="fig" id="fig-device-types"><div class="fig-plate"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 780 460" class="diagram" role="img" aria-label="Shading device types and their shading masks"><title>Shading device types and their shading masks</title><defs><marker id="dvt-arrow-ink" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5"/></marker><marker id="dvt-arrow-alt" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1.5"/></marker><marker id="dvt-arrow-azi" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#007c9a, #6bd8f0)" stroke-width="1.5"/></marker><marker id="dvt-arrow-third" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#6a4fb3, #c3b2ff)" stroke-width="1.5"/></marker><marker id="dvt-arrow-muted" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#607181, #aabccb)" stroke-width="1.5"/></marker><marker id="dvt-arrow-red" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#b13d4c, #ff9daa)" stroke-width="1.5"/></marker><pattern id="dvt-hatch-shadow" patternUnits="userSpaceOnUse" width="3.4" height="3.4" patternTransform="rotate(45)"><rect width="3.4" height="3.4" fill="light-dark(#ffffff, #202124)"/><line x1="0" y1="0" x2="0" y2="3.4" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern><pattern id="dvt-hatch-shade" patternUnits="userSpaceOnUse" width="7.5" height="7.5" patternTransform="rotate(45)"><rect width="7.5" height="7.5" fill="light-dark(#ffffff, #202124)"/><line x1="0" y1="0" x2="0" y2="7.5" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern><pattern id="dvt-hatch-screen" patternUnits="userSpaceOnUse" width="4.2" height="4.2" patternTransform="rotate(135)"><line x1="0" y1="0" x2="0" y2="4.2" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern></defs><g font-family="Helvetica Neue, Helvetica, Arial, sans-serif"><g id="dvt-horizontal"><text x="130" y="30" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700" letter-spacing="1.2">HORIZONTAL DEVICE</text><text x="130" y="48" font-size="10.5" style="--fs:10.5" fill="light-dark(#607181, #aabccb)" text-anchor="middle">characterized by VSA · segmental mask</text><rect x="60" y="70" width="10" height="90" fill="url(#dvt-hatch-shade)" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><rect x="60" y="70" width="80" height="7" fill="url(#dvt-hatch-shadow)" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><line x1="70" y1="160" x2="140" y2="77" stroke="light-dark(#607181, #aabccb)" stroke-width="1" stroke-dasharray="4 3" stroke-linecap="round" stroke-linejoin="round"/><path d="M100,160 A30,30 0 0 0 89.28,137.02" fill="none" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="104" y="150" font-size="10.5" style="--fs:10.5" fill="light-dark(#2479ad, #8bcfff)" font-weight="700">VSA 50°</text><circle cx="130" cy="310" r="105" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><circle cx="130" cy="310" r="80.57" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="130" cy="310" r="60.62" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="130" cy="310" r="43.49" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="130" cy="310" r="28.13" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="130" cy="310" r="13.82" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><polygon points="25,310 25.4,300.85 26.6,291.77 28.58,282.82 31.33,274.09 34.84,265.63 39.07,257.5 43.99,249.77 49.57,242.51 55.75,235.75 62.51,229.57 69.77,223.99 77.5,219.07 85.63,214.84 94.09,211.33 102.82,208.58 111.77,206.6 120.85,205.4 130,205 139.15,205.4 148.23,206.6 157.18,208.58 165.91,211.33 174.37,214.84 182.5,219.07 190.23,223.99 197.49,229.57 204.25,235.75 210.43,242.51 216.01,249.77 220.93,257.5 225.16,265.63 228.67,274.09 231.42,282.82 233.4,291.77 234.6,300.85 235,310 130,310" fill="url(#dvt-hatch-shade)" stroke="none"/><path d="M24.93,311.57 Q25.16,305.75 25.44,299.94 M25.25,301.99 Q26.06,296.04 26.82,290.08 M26.21,293.52 Q27.61,287.05 29.07,280.59 M28.3,283.71 Q30.1,277.88 31.97,272.07 M30.98,274.94 Q33.15,269.67 35.34,264.4 M34.22,266.81 Q36.94,261.63 39.62,256.44 M38.56,258.3 Q41.58,253.55 44.61,248.81 M42.92,251.16 Q46.85,246.03 50.79,240.91 M48.76,243.39 Q52.8,238.93 56.89,234.51 M54.15,237.22 Q59.07,232.71 63.99,228.2 M61.38,230.43 Q66.03,226.81 70.74,223.25 M68.91,224.54 Q73.91,221.34 78.92,218.16 M76.4,219.64 Q81.59,216.92 86.8,214.23 M83.56,215.69 Q89.81,213.06 96.09,210.5 M92.45,211.85 Q98.1,210.05 103.75,208.29 M101,208.98 Q106.88,207.64 112.77,206.37 M110.8,206.72 Q116.68,205.96 122.55,205.18 M118.72,205.49 Q125.5,205.2 132.28,204.9 M128.44,204.93 Q134.52,205.2 140.6,205.46 M138.03,205.25 Q144.16,206.03 150.27,206.86 M146.19,206.14 Q152.53,207.53 158.85,208.95 M155.3,207.99 Q161.14,209.85 166.99,211.67 M164.24,210.64 Q170.01,213.04 175.78,215.42 M173.35,214.3 Q178.37,216.94 183.4,219.54 M181.05,218.14 Q186.55,221.66 192.06,225.16 M189.4,223.36 Q194.27,227.04 199.08,230.78 M196.16,228.35 Q200.54,232.4 204.96,236.41 M202.85,234.23 Q207.12,238.91 211.42,243.58 M209.09,240.75 Q213.11,245.94 217.08,251.17 M214.98,248.16 Q218.29,253.34 221.59,258.53 M220.47,256.62 Q223.22,261.84 225.92,267.08 M224.34,263.64 Q226.82,269.52 229.23,275.43 M228.06,272.16 Q229.91,277.97 231.73,283.8 M231.14,281.54 Q232.41,287.38 233.72,293.21 M233.25,290.59 Q234.03,296.63 234.84,302.67 M234.51,298.72 Q234.83,305.28 235.08,311.84 M236.69,310 Q182.5,309.71 128.31,310 M131.96,310 Q77.68,310.43 23.41,310" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><polygon points="235,310 228.52,315.16 222.22,319.69 216.16,323.65 210.36,327.08 204.85,330.06 199.64,332.63 194.73,334.85 190.1,336.76 185.75,338.41 181.67,339.83 177.83,341.06 174.21,342.12 170.8,343.04 167.58,343.84 164.53,344.53 161.63,345.13 158.87,345.65 156.23,346.1 153.7,346.49 151.26,346.83 148.91,347.12 146.64,347.37 144.43,347.58 142.27,347.76 140.16,347.9 138.08,348.02 136.04,348.11 134.01,348.17 132,348.2 130,348.22 128,348.2 125.99,348.17 123.96,348.11 121.92,348.02 119.84,347.9 117.73,347.76 115.57,347.58 113.36,347.37 111.09,347.12 108.74,346.83 106.3,346.49 103.77,346.1 101.13,345.65 98.37,345.13 95.47,344.53 92.42,343.84 89.2,343.04 85.79,342.12 82.17,341.06 78.33,339.83 74.25,338.41 69.9,336.76 65.27,334.85 60.36,332.63 55.15,330.06 49.64,327.08 43.84,323.65 37.78,319.69 31.48,315.16 25,310 130,310" fill="url(#dvt-hatch-screen)" stroke="none"/><polygon points="235,310 228.52,315.16 222.22,319.69 216.16,323.65 210.36,327.08 204.85,330.06 199.64,332.63 194.73,334.85 190.1,336.76 185.75,338.41 181.67,339.83 177.83,341.06 174.21,342.12 170.8,343.04 167.58,343.84 164.53,344.53 161.63,345.13 158.87,345.65 156.23,346.1 153.7,346.49 151.26,346.83 148.91,347.12 146.64,347.37 144.43,347.58 142.27,347.76 140.16,347.9 138.08,348.02 136.04,348.11 134.01,348.17 132,348.2 130,348.22 128,348.2 125.99,348.17 123.96,348.11 121.92,348.02 119.84,347.9 117.73,347.76 115.57,347.58 113.36,347.37 111.09,347.12 108.74,346.83 106.3,346.49 103.77,346.1 101.13,345.65 98.37,345.13 95.47,344.53 92.42,343.84 89.2,343.04 85.79,342.12 82.17,341.06 78.33,339.83 74.25,338.41 69.9,336.76 65.27,334.85 60.36,332.63 55.15,330.06 49.64,327.08 43.84,323.65 37.78,319.69 31.48,315.16 25,310 130,310" fill="none" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/><path d="M237.38,310 Q129.92,309.51 22.47,310" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/><text x="130" y="431" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700">S</text><text x="130" y="199" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700">N</text></g><g id="dvt-vertical"><text x="390" y="30" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700" letter-spacing="1.2">VERTICAL FINS</text><text x="390" y="48" font-size="10.5" style="--fs:10.5" fill="light-dark(#607181, #aabccb)" text-anchor="middle">characterized by HSA · sectoral mask</text><path d="M328.12,80 Q390.96,79.73 453.81,80" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/><rect x="338" y="80" width="4" height="45" fill="url(#dvt-hatch-shadow)" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><rect x="388" y="80" width="4" height="45" fill="url(#dvt-hatch-shadow)" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><rect x="438" y="80" width="4" height="45" fill="url(#dvt-hatch-shadow)" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><line x1="390" y1="80" x2="435" y2="125" stroke="light-dark(#607181, #aabccb)" stroke-width="1" stroke-dasharray="4 3" stroke-linecap="round" stroke-linejoin="round"/><text paint-order="stroke" stroke="light-dark(#ffffff, #202124)" stroke-width="4" stroke-linejoin="round" x="420" y="150" font-size="10.5" style="--fs:10.5" fill="light-dark(#007c9a, #6bd8f0)" font-weight="700">HSA 45°</text><text x="330" y="72" font-size="10.5" style="--fs:10.5" fill="light-dark(#607181, #aabccb)">plan</text><circle cx="390" cy="310" r="105" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><circle cx="390" cy="310" r="80.57" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="390" cy="310" r="60.62" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="390" cy="310" r="43.49" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="390" cy="310" r="28.13" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="390" cy="310" r="13.82" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><polygon points="285,310 285.4,300.85 286.6,291.77 288.58,282.82 291.33,274.09 294.84,265.63 299.07,257.5 303.99,249.77 309.57,242.51 315.75,235.75 322.51,229.57 329.77,223.99 337.5,219.07 345.63,214.84 354.09,211.33 362.82,208.58 371.77,206.6 380.85,205.4 390,205 399.15,205.4 408.23,206.6 417.18,208.58 425.91,211.33 434.37,214.84 442.5,219.07 450.23,223.99 457.49,229.57 464.25,235.75 470.43,242.51 476.01,249.77 480.93,257.5 485.16,265.63 488.67,274.09 491.42,282.82 493.4,291.77 494.6,300.85 495,310 390,310" fill="url(#dvt-hatch-shade)" stroke="none"/><path d="M284.94,311.45 Q285.17,305.45 285.46,299.45 M285.16,302.66 Q286.05,296.24 286.85,289.8 M286.37,292.79 Q287.59,287.25 288.83,281.71 M288.11,284.3 Q290.01,278.26 291.92,272.21 M290.53,276.04 Q292.99,270.19 295.38,264.31 M293.96,267.32 Q296.73,261.96 299.53,256.61 M298.25,258.79 Q301.65,253.52 304.98,248.21 M303.39,250.56 Q306.92,246.02 310.39,241.43 M308.73,243.42 Q312.88,238.88 317.05,234.34 M314.38,237.01 Q319.26,232.56 324.12,228.09 M321.51,230.33 Q326.27,226.66 331.05,223.01 M328.24,224.97 Q333.84,221.44 339.41,217.85 M336.24,219.72 Q341.45,217.04 346.65,214.31 M343.8,215.6 Q349.79,213.14 355.77,210.64 M352.31,211.89 Q358.12,210.07 363.93,208.23 M361.43,208.89 Q367.17,207.58 372.92,206.34 M370.71,206.73 Q376.87,205.88 383.04,205.11 M378.77,205.49 Q385.35,205.19 391.94,204.92 M388.66,204.94 Q394.64,205.17 400.61,205.46 M398.03,205.25 Q404.19,206.04 410.35,206.87 M407.36,206.4 Q413.39,207.72 419.41,209.07 M415.92,208.18 Q422,210.14 428.09,212.02 M424.25,210.65 Q430.38,213.18 436.51,215.72 M433.19,214.22 Q438.35,216.88 443.49,219.58 M441.56,218.47 Q446.69,221.69 451.78,224.98 M449.33,223.3 Q454.14,227.01 458.97,230.7 M456.71,228.85 Q461.14,232.91 465.57,236.97 M463.17,234.58 Q467.36,239.13 471.53,243.71 M469.31,241.04 Q473.36,246.32 477.41,251.6 M475.48,248.94 Q478.49,253.7 481.53,258.44 M480.14,255.98 Q482.98,261.41 485.79,266.84 M484.41,263.8 Q486.94,270.02 489.55,276.22 M488.19,272.57 Q490.05,278.33 491.83,284.12 M491.22,281.93 Q492.59,287.92 493.88,293.92 M493.17,290.01 Q493.96,296.18 494.8,302.35 M494.55,299.68 Q494.81,305.91 495.09,312.14 M497.22,310 Q442.49,309.65 387.76,310 M392.02,310 Q337.54,310.02 283.06,310" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><polygon points="390,310 315.75,384.25 311.97,380.26 308.4,376.08 305.05,371.72 301.94,367.19 299.07,362.5 296.44,357.67 294.08,352.71 291.97,347.63 290.14,342.45 288.58,337.18 287.29,331.83 286.29,326.43 285.58,320.98 285.14,315.5 285,310" fill="url(#dvt-hatch-screen)" stroke="none"/><polygon points="390,310 315.75,384.25 311.97,380.26 308.4,376.08 305.05,371.72 301.94,367.19 299.07,362.5 296.44,357.67 294.08,352.71 291.97,347.63 290.14,342.45 288.58,337.18 287.29,331.83 286.29,326.43 285.58,320.98 285.14,315.5 285,310" fill="none" stroke="light-dark(#007c9a, #6bd8f0)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/><polygon points="390,310 464.25,384.25 468.03,380.26 471.6,376.08 474.95,371.72 478.06,367.19 480.93,362.5 483.56,357.67 485.92,352.71 488.03,347.63 489.86,342.45 491.42,337.18 492.71,331.83 493.71,326.43 494.42,320.98 494.86,315.5 495,310" fill="url(#dvt-hatch-screen)" stroke="none"/><polygon points="390,310 464.25,384.25 468.03,380.26 471.6,376.08 474.95,371.72 478.06,367.19 480.93,362.5 483.56,357.67 485.92,352.71 488.03,347.63 489.86,342.45 491.42,337.18 492.71,331.83 493.71,326.43 494.42,320.98 494.86,315.5 495,310" fill="none" stroke="light-dark(#007c9a, #6bd8f0)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/><path d="M499.04,310 Q390.57,309.4 282.1,310" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/><text x="390" y="431" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700">S</text><text x="390" y="199" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700">N</text></g><g id="dvt-eggcrate"><text x="650" y="30" font-size="10.5" style="--fs:10.5" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700" letter-spacing="1.2">EGG-CRATE</text><text x="650" y="48" font-size="10.5" style="--fs:10.5" fill="light-dark(#607181, #aabccb)" text-anchor="middle">VSA and HSA combined</text><rect x="600" y="70" width="22" height="22" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><rect x="600" y="96" width="22" height="22" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><rect x="600" y="122" width="22" height="22" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><rect x="626" y="70" width="22" height="22" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><rect x="626" y="96" width="22" height="22" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><rect x="626" y="122" width="22" height="22" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><rect x="652" y="70" width="22" height="22" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><rect x="652" y="96" width="22" height="22" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><rect x="652" y="122" width="22" height="22" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><rect x="678" y="70" width="22" height="22" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><rect x="678" y="96" width="22" height="22" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><rect x="678" y="122" width="22" height="22" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="650" cy="310" r="105" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><circle cx="650" cy="310" r="80.57" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="650" cy="310" r="60.62" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="650" cy="310" r="43.49" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="650" cy="310" r="28.13" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><circle cx="650" cy="310" r="13.82" fill="none" stroke="light-dark(#a6bdce, #6b879b)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><polygon points="545,310 545.4,300.85 546.6,291.77 548.58,282.82 551.33,274.09 554.84,265.63 559.07,257.5 563.99,249.77 569.57,242.51 575.75,235.75 582.51,229.57 589.77,223.99 597.5,219.07 605.63,214.84 614.09,211.33 622.82,208.58 631.77,206.6 640.85,205.4 650,205 659.15,205.4 668.23,206.6 677.18,208.58 685.91,211.33 694.37,214.84 702.5,219.07 710.23,223.99 717.49,229.57 724.25,235.75 730.43,242.51 736.01,249.77 740.93,257.5 745.16,265.63 748.67,274.09 751.42,282.82 753.4,291.77 754.6,300.85 755,310 650,310" fill="url(#dvt-hatch-shade)" stroke="none"/><path d="M544.95,311.05 Q545.24,304.97 545.49,298.88 M545.17,302.58 Q546.03,296.11 546.88,289.63 M546.18,293.66 Q547.46,287.78 548.78,281.91 M548.22,283.97 Q549.92,278.6 551.61,273.21 M550.75,275.48 Q553.18,269.72 555.54,263.93 M554.05,267.13 Q556.87,261.66 559.74,256.21 M558.22,258.84 Q561.66,253.45 565.09,248.05 M563.39,250.56 Q567.05,245.77 570.73,240.99 M568.49,243.68 Q572.49,239.33 576.47,234.97 M574.34,237.05 Q578.91,232.89 583.46,228.69 M580.83,230.85 Q585.71,227.08 590.62,223.34 M588.61,224.73 Q593.54,221.62 598.44,218.47 M595.99,219.85 Q601.31,217.12 606.59,214.33 M604.13,215.46 Q609.77,213.13 615.42,210.78 M612.6,211.8 Q618.35,209.95 624.12,208.17 M621.41,208.89 Q627.52,207.53 633.64,206.18 M630.38,206.78 Q636.21,206.01 642.05,205.24 M639,205.48 Q645.51,205.16 652.03,204.91 M647.92,204.91 Q654.19,205.14 660.45,205.46 M657.32,205.16 Q663.29,205.95 669.26,206.73 M667.29,206.39 Q672.76,207.58 678.21,208.81 M676.24,208.28 Q681.73,210.03 687.23,211.75 M684.91,210.92 Q690.52,213.22 696.11,215.56 M693.27,214.26 Q698.53,217.04 703.83,219.76 M700.7,217.92 Q706.17,221.45 711.68,224.92 M709.03,223.07 Q714.11,227 719.21,230.88 M716.65,228.79 Q720.87,232.64 725.06,236.5 M723.17,234.58 Q727.52,239.29 731.83,244.03 M729.38,241.14 Q733.23,246.17 737.1,251.19 M735.2,248.5 Q738.3,253.42 741.45,258.31 M740.34,256.35 Q743.15,261.72 745.94,267.11 M744.52,264.08 Q746.95,269.97 749.4,275.85 M748.12,272.35 Q750.09,278.58 752.05,284.82 M750.96,280.73 Q752.27,286.69 753.6,292.64 M753.2,290.22 Q753.98,296.24 754.79,302.26 M754.52,299.09 Q754.8,305.36 755.07,311.64 M756.65,310 Q702.65,310.17 648.65,310 M651.62,310 Q597.68,309.96 543.74,310" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><polygon points="755,310 748.52,315.16 742.22,319.69 736.16,323.65 730.36,327.08 724.85,330.06 719.64,332.63 714.73,334.85 710.1,336.76 705.75,338.41 701.67,339.83 697.83,341.06 694.21,342.12 690.8,343.04 687.58,343.84 684.53,344.53 681.63,345.13 678.87,345.65 676.23,346.1 673.7,346.49 671.26,346.83 668.91,347.12 666.64,347.37 664.43,347.58 662.27,347.76 660.16,347.9 658.08,348.02 656.04,348.11 654.01,348.17 652,348.2 650,348.22 648,348.2 645.99,348.17 643.96,348.11 641.92,348.02 639.84,347.9 637.73,347.76 635.57,347.58 633.36,347.37 631.09,347.12 628.74,346.83 626.3,346.49 623.77,346.1 621.13,345.65 618.37,345.13 615.47,344.53 612.42,343.84 609.2,343.04 605.79,342.12 602.17,341.06 598.33,339.83 594.25,338.41 589.9,336.76 585.27,334.85 580.36,332.63 575.15,330.06 569.64,327.08 563.84,323.65 557.78,319.69 551.48,315.16 545,310 650,310" fill="url(#dvt-hatch-screen)" stroke="none"/><polygon points="755,310 748.52,315.16 742.22,319.69 736.16,323.65 730.36,327.08 724.85,330.06 719.64,332.63 714.73,334.85 710.1,336.76 705.75,338.41 701.67,339.83 697.83,341.06 694.21,342.12 690.8,343.04 687.58,343.84 684.53,344.53 681.63,345.13 678.87,345.65 676.23,346.1 673.7,346.49 671.26,346.83 668.91,347.12 666.64,347.37 664.43,347.58 662.27,347.76 660.16,347.9 658.08,348.02 656.04,348.11 654.01,348.17 652,348.2 650,348.22 648,348.2 645.99,348.17 643.96,348.11 641.92,348.02 639.84,347.9 637.73,347.76 635.57,347.58 633.36,347.37 631.09,347.12 628.74,346.83 626.3,346.49 623.77,346.1 621.13,345.65 618.37,345.13 615.47,344.53 612.42,343.84 609.2,343.04 605.79,342.12 602.17,341.06 598.33,339.83 594.25,338.41 589.9,336.76 585.27,334.85 580.36,332.63 575.15,330.06 569.64,327.08 563.84,323.65 557.78,319.69 551.48,315.16 545,310 650,310" fill="none" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/><polygon points="650,310 575.75,384.25 571.97,380.26 568.4,376.08 565.05,371.72 561.94,367.19 559.07,362.5 556.44,357.67 554.08,352.71 551.97,347.63 550.14,342.45 548.58,337.18 547.29,331.83 546.29,326.43 545.58,320.98 545.14,315.5 545,310" fill="url(#dvt-hatch-screen)" stroke="none"/><polygon points="650,310 575.75,384.25 571.97,380.26 568.4,376.08 565.05,371.72 561.94,367.19 559.07,362.5 556.44,357.67 554.08,352.71 551.97,347.63 550.14,342.45 548.58,337.18 547.29,331.83 546.29,326.43 545.58,320.98 545.14,315.5 545,310" fill="none" stroke="light-dark(#007c9a, #6bd8f0)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/><polygon points="650,310 724.25,384.25 728.03,380.26 731.6,376.08 734.95,371.72 738.06,367.19 740.93,362.5 743.56,357.67 745.92,352.71 748.03,347.63 749.86,342.45 751.42,337.18 752.71,331.83 753.71,326.43 754.42,320.98 754.86,315.5 755,310" fill="url(#dvt-hatch-screen)" stroke="none"/><polygon points="650,310 724.25,384.25 728.03,380.26 731.6,376.08 734.95,371.72 738.06,367.19 740.93,362.5 743.56,357.67 745.92,352.71 748.03,347.63 749.86,342.45 751.42,337.18 752.71,331.83 753.71,326.43 754.42,320.98 754.86,315.5 755,310" fill="none" stroke="light-dark(#007c9a, #6bd8f0)" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/><path d="M757.32,310 Q649.78,310.3 542.25,310" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/><text x="650" y="431" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700">S</text><text x="650" y="199" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700">N</text></g><g id="dvt-note"><text x="390" y="448" font-size="12" style="--fs:12" fill="light-dark(#607181, #aabccb)" text-anchor="middle">South facade. Hatched 45°: sun behind the facade. Hatched 135°: sun positions fully screened by the device.</text></g></g></svg></div><figcaption><span><strong>Figure 4.</strong> Device types and shading masks</span><a href="./assets/diagrams/solar/device-types.svg" download>Editable SVG ↓</a></figcaption></figure>
<!-- FIG:device-types_END -->
</section>
<section id="shadows" class="reader-section">
<div class="section-heading"><span class="section-number">04</span><div><p class="eyebrow">SHADOW LENGTH · EQ. 22</p><h2>Shadows and solar access</h2></div></div>
<p class="section-lead">A building is a set of vertical edges ("poles"). The shadow of each edge is drawn in plan from its length and direction; the outline joining the shadow tips and the base is the building's shadow on level ground.</p>
<div class="eq" id="eq-22"><span class="eq-math"><span class="eq-line"><math><mi>L</mi><mo>=</mo><mfrac><mi>H</mi><mrow><mi>tan</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mi class="sym alt">ALT</mi></mrow></mfrac><mo>,</mo><mspace width="0.6em"/><mtext>direction</mtext><mo>=</mo><mi class="sym azi">AZI</mi><mo>+</mo><mn>180°</mn></math></span><span class="eq-line"><math><mrow><mi mathvariant="normal">Δ</mi><msub><mi>x</mi><mtext>E</mtext></msub></mrow><mo>=</mo><mo form="prefix" lspace="0" rspace="0">−</mo><mi>L</mi><mo>·</mo><mrow><mi>sin</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mi>AZI</mi></mrow><mo>,</mo><mspace width="0.6em"/><mrow><mi mathvariant="normal">Δ</mi><msub><mi>y</mi><mtext>N</mtext></msub></mrow><mo>=</mo><mo form="prefix" lspace="0" rspace="0">−</mo><mi>L</mi><mo>·</mo><mrow><mi>cos</mi><mo lspace="0" rspace="0.1667em">⁡</mo><mi>AZI</mi></mrow></math></span></span><span class="eq-n">(22)</span></div>
<div class="lab lab-wide"><div class="lab-canvas"><div class="canvas-heading"><span class="small-label">ONE POLE · H = 3 M</span><button type="button" class="quiet-button" data-export="pole">Save SVG ↓</button></div><div class="diagram-host" id="d-pole"></div><div class="diagram-inputs" id="in-pole"></div></div></div>
<div class="calc calc-wide" id="calc-pole" aria-live="polite"></div>
<!-- FIG:shadow-construction_START -->
<figure class="fig" id="fig-shadow-construction"><div class="fig-plate"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 760 520" class="diagram" role="img" aria-label="Shadow construction for a box building at three hours"><title>Shadow construction for a box building at three hours</title><defs><marker id="shc-arrow-ink" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5"/></marker><marker id="shc-arrow-alt" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#2479ad, #8bcfff)" stroke-width="1.5"/></marker><marker id="shc-arrow-azi" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#007c9a, #6bd8f0)" stroke-width="1.5"/></marker><marker id="shc-arrow-third" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#6a4fb3, #c3b2ff)" stroke-width="1.5"/></marker><marker id="shc-arrow-muted" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#607181, #aabccb)" stroke-width="1.5"/></marker><marker id="shc-arrow-red" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse" markerUnits="userSpaceOnUse"><path d="M0,1 L9,5 L0,9" fill="none" stroke="light-dark(#b13d4c, #ff9daa)" stroke-width="1.5"/></marker><pattern id="shc-hatch-shadow" patternUnits="userSpaceOnUse" width="3.4" height="3.4" patternTransform="rotate(45)"><rect width="3.4" height="3.4" fill="light-dark(#ffffff, #202124)"/><line x1="0" y1="0" x2="0" y2="3.4" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern><pattern id="shc-hatch-shade" patternUnits="userSpaceOnUse" width="7.5" height="7.5" patternTransform="rotate(45)"><rect width="7.5" height="7.5" fill="light-dark(#ffffff, #202124)"/><line x1="0" y1="0" x2="0" y2="7.5" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern><pattern id="shc-hatch-screen" patternUnits="userSpaceOnUse" width="4.2" height="4.2" patternTransform="rotate(135)"><line x1="0" y1="0" x2="0" y2="4.2" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6"/></pattern></defs><g font-family="Helvetica Neue, Helvetica, Arial, sans-serif"><g id="shc-shadow-9"><text x="140" y="30" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="600">9:00 solar · ALT 31.2° · AZI 124.3°</text><polygon points="54.8,240.46 104,274 176,274 176,226 126.8,192.46 54.8,192.46" fill="url(#shc-hatch-shadow)" stroke="none"/><path d="M54,239.92 Q79.47,257.38 105.03,274.7 M102.63,274 Q140.36,273.68 178.09,274 M176,275.43 Q176.18,250.21 176,224.99 M177.73,227.18 Q151.32,209.16 124.9,191.17 M128.91,192.46 Q91.18,192.78 53.45,192.46 M54.8,190.24 Q54.64,216.31 54.8,242.38" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><line x1="104" y1="274" x2="54.8" y2="240.46" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="3 3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="54.8" cy="240.46" r="2.5" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><line x1="176" y1="274" x2="126.8" y2="240.46" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="3 3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="126.8" cy="240.46" r="2.5" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><line x1="176" y1="226" x2="126.8" y2="192.46" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="3 3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="126.8" cy="192.46" r="2.5" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><line x1="104" y1="226" x2="54.8" y2="192.46" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="3 3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="54.8" cy="192.46" r="2.5" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><polygon points="104,274 176,274 176,226 104,226" fill="light-dark(#ffffff, #202124)" stroke="none"/><path d="M101.43,274 Q140.68,273.68 179.93,274 M176,276.67 Q176.18,250.39 176,224.1 M179.6,226 Q140.31,226.04 101.02,226 M104,223.93 Q104.08,250.09 104,276.24" fill="light-dark(#ffffff, #202124)" stroke="light-dark(#26333e, #edf4fa)" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/><text x="140" y="470" font-size="12" style="--fs:12" fill="light-dark(#2479ad, #8bcfff)" text-anchor="middle" font-weight="600">L = 6 / tan 31.2° = 9.9 m</text></g><g id="shc-shadow-12"><text x="390" y="30" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="600">12:00 solar · ALT 47.2° · AZI 180.0°</text><polygon points="354,274 426,274 426,192.66 354,192.66" fill="url(#shc-hatch-shadow)" stroke="none"/><path d="M353.09,274 Q390.28,274.19 427.46,274 M426,275.58 Q426.02,233 426,190.42 M427.69,192.66 Q390.27,192.54 352.85,192.66 M354,191.26 Q354.09,233.16 354,275.06" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><line x1="354" y1="274" x2="354" y2="240.66" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="3 3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="354" cy="240.66" r="2.5" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><line x1="426" y1="274" x2="426" y2="240.66" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="3 3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="426" cy="240.66" r="2.5" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><line x1="426" y1="226" x2="426" y2="192.66" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="3 3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="426" cy="192.66" r="2.5" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><line x1="354" y1="226" x2="354" y2="192.66" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="3 3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="354" cy="192.66" r="2.5" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><polygon points="354,274 426,274 426,226 354,226" fill="light-dark(#ffffff, #202124)" stroke="none"/><path d="M352.3,274 Q390.52,274.19 428.74,274 M426,276.95 Q426.01,250.16 426,223.37 M429.02,226 Q389.47,225.9 349.92,226 M354,223.2 Q353.8,249.59 354,275.98" fill="light-dark(#ffffff, #202124)" stroke="light-dark(#26333e, #edf4fa)" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/><text x="390" y="470" font-size="12" style="--fs:12" fill="light-dark(#2479ad, #8bcfff)" text-anchor="middle" font-weight="600">L = 6 / tan 47.2° = 5.6 m</text></g><g id="shc-shadow-15"><text x="640" y="30" font-size="12" style="--fs:12" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="600">15:00 solar · ALT 31.2° · AZI 235.7°</text><polygon points="604,274 676,274 725.2,240.46 725.2,192.46 653.2,192.46 604,226" fill="url(#shc-hatch-shadow)" stroke="none"/><path d="M601.89,274 Q639.87,273.82 677.84,274 M675.17,274.57 Q700.8,256.88 726.63,239.48 M725.2,242.31 Q725.29,216.86 725.2,191.41 M726.94,192.46 Q689.49,192.53 652.03,192.46 M654.07,191.87 Q628.42,209.15 602.96,226.71 M604,223.77 Q604.08,250.03 604,276.29" fill="none" stroke="light-dark(#26333e, #edf4fa)" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/><line x1="604" y1="274" x2="653.2" y2="240.46" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="3 3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="653.2" cy="240.46" r="2.5" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><line x1="676" y1="274" x2="725.2" y2="240.46" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="3 3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="725.2" cy="240.46" r="2.5" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><line x1="676" y1="226" x2="725.2" y2="192.46" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="3 3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="725.2" cy="192.46" r="2.5" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><line x1="604" y1="226" x2="653.2" y2="192.46" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1" stroke-dasharray="3 3" stroke-linecap="round" stroke-linejoin="round"/><circle cx="653.2" cy="192.46" r="2.5" fill="light-dark(#26333e, #edf4fa)" stroke="none"/><polygon points="604,274 676,274 676,226 604,226" fill="light-dark(#ffffff, #202124)" stroke="none"/><path d="M600.05,274 Q639.75,273.82 679.45,274 M676,276.63 Q675.86,249.2 676,221.77 M678.98,226 Q639.82,226.01 600.66,226 M604,221.81 Q604.08,250.05 604,278.29" fill="light-dark(#ffffff, #202124)" stroke="light-dark(#26333e, #edf4fa)" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/><text x="640" y="470" font-size="12" style="--fs:12" fill="light-dark(#2479ad, #8bcfff)" text-anchor="middle" font-weight="600">L = 6 / tan 31.2° = 9.9 m</text></g><line x1="735" y1="90" x2="735" y2="55" stroke="light-dark(#26333e, #edf4fa)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#shc-arrow-ink)"/><text x="735" y="48" font-size="14" style="--fs:14" fill="light-dark(#26333e, #edf4fa)" text-anchor="middle" font-weight="700">N</text><text x="20" y="492" font-size="12" style="--fs:12" fill="light-dark(#607181, #aabccb)">Ithaca, Mar 21. Plan 12 × 8 m, height 6 m. Each vertical corner is a pole (Eq. 22).</text><text x="20" y="508" font-size="12" style="--fs:12" fill="light-dark(#607181, #aabccb)">Connect the shadow tips and the base to obtain the shadow outline.</text></g></svg></div><figcaption><span><strong>Figure 5.</strong> Shadow construction</span><a href="./assets/diagrams/solar/shadow-construction.svg" download>Editable SVG ↓</a></figcaption></figure>
<!-- FIG:shadow-construction_END -->
<h3 class="sub">Overshadowing study</h3>
<p class="measure">Overlaying the shadows of several hours shows which areas are shaded and for how long.</p>
<div class="lab massing-lab">
<div class="lab-canvas"><div class="canvas-heading"><span class="small-label">MASSING PLAN · NEIGHBORS TO THE NORTH</span><button type="button" class="quiet-button" data-export="massing">Save SVG ↓</button></div><div class="diagram-host" id="d-massing"></div><div class="diagram-inputs" id="in-massing"></div></div>
<div class="lab-controls"><p class="control-kicker">KEEP THE FOOTPRINT. CHANGE THE FORM.</p>
<div class="large-result"><strong id="clear-count">0 / 5</strong><span>sampled hours clear of neighbor footprints</span></div>
<p class="control-note">West wing 3 m; neighbors to the north. Exercise rule (not a code requirement): no ground shadow on a neighbor footprint at 10:00–14:00.</p></div>
<div id="massing-checks" class="massing-checks" aria-label="Results at each sampled time"></div>
</div>
<p class="caption">Lowering the east wing from 6 m to 3 m halves its shadow length (Eq. 22). At 12:00 on Mar 21 in Ithaca, ALT = 47.2°, so a 6 m wing casts 5.6 m and a 3 m wing 2.8 m.</p>
</section>
<section id="quiz" class="reader-section quiz-section">
<div class="section-heading"><span class="section-number">05</span><div><p class="eyebrow">7 QUESTIONS · CALCULATION AND CONCEPT</p><h2>Self-test</h2></div></div>
<p class="section-lead">"New values" generates a new variant of a calculation. Each answer shows a worked solution.</p>
<form id="quiz-form" data-quiz="shading" novalidate><div id="quiz-questions"></div><div class="quiz-actions"><button class="button" type="submit">Check all answers</button><button id="reset-quiz" class="quiet-button" type="button">Clear</button><p id="quiz-score" role="status"></p></div></form>
</section>
<section id="figures" class="reader-section references-section">
<p class="eyebrow">EDITABLE VECTOR FILES</p><h2>Figure files</h2>
<p class="measure">Editable SVG files of every figure. Interactive drawings save their current state with "Save SVG".</p>
<!-- FIGLIST_START -->
<ol class="fig-list"><li><a href="./assets/diagrams/solar/stereographic-construction.svg" download>stereographic-construction.svg</a> <span>· Fig. 1 · Stereographic projection</span></li><li><a href="./assets/diagrams/solar/sunpath-ithaca-stereographic.svg" download>sunpath-ithaca-stereographic.svg</a> <span>· interactive drawing, reference state · Sun-path diagram, Ithaca</span></li><li><a href="./assets/diagrams/solar/sunpath-ithaca-cylindrical.svg" download>sunpath-ithaca-cylindrical.svg</a> <span>· interactive drawing, reference state · Cylindrical sun-path diagram, Ithaca</span></li><li><a href="./assets/diagrams/solar/latitudes.svg" download>latitudes.svg</a> <span>· Fig. 2 · Sun paths at different latitudes</span></li><li><a href="./assets/diagrams/solar/solar-window.svg" download>solar-window.svg</a> <span>· Fig. 3 · Solar window, Ithaca</span></li><li><a href="./assets/diagrams/solar/profile-angle.svg" download>profile-angle.svg</a> <span>· interactive drawing, reference state · Profile angle construction</span></li><li><a href="./assets/diagrams/solar/device-types.svg" download>device-types.svg</a> <span>· Fig. 4 · Device types and shading masks</span></li><li><a href="./assets/diagrams/solar/shadow-construction.svg" download>shadow-construction.svg</a> <span>· Fig. 5 · Shadow construction</span></li></ol>
<!-- FIGLIST_END -->
</section>
<section id="references" class="reader-section references-section">
<p class="eyebrow">SOURCES</p><h2>Sources and model notes</h2>
<ol class="source-list">
<li>S. V. Szokolay, <em>Introduction to Architectural Science</em>, 3rd ed., Routledge, 2014. Section 1.4.1; Method sheets M.1.1 (solar geometry), M.1.2 (stereographic charts, shadow-angle protractor).<span>Eq. 16–18, 21; device masks.</span></li>
<li>N. Lechner, <em>Heating, Cooling, Lighting</em>, 4th ed., Wiley, 2015. 9.5–9.9 (shading periods, overhangs).<span>Solar window, sunbeam drawing, test dates.</span></li>
</ol>
<details class="math-details"><summary>Model assumptions and precision</summary><p>Sun positions use Eq. 3, 4, 6, 7 and 8 of <a href="./index.html#references">Chapter 02</a>, with the same accuracy and assumptions.</p>
<p>Masks and shadows assume parallel rays, opaque obstructions, level ground and a clear sky. The window model assumes an overhang and fins that continue beyond the window. Direct-sun hours are sampled every 5 minutes. These are geometric screening tools; daylight, glare, solar gains and comfort need climate data (Chapter 01), radiation on surfaces (Chapter 05) and simulation.</p>
</details>
<p><a class="text-link" href="./solar-radiation.html">Continue to Chapter 05: Solar radiation on surfaces ↗</a></p>
<div class="reader-end"><span>ES1 / ENVIRONMENTAL SYSTEMS I</span>
<a href="#top">Back to top ↑</a>
</div>
</section>
</main>
</body>
</html>