-
Notifications
You must be signed in to change notification settings - Fork 5
/
control.html
90 lines (87 loc) · 4.83 KB
/
control.html
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
<!DOCTYPE html>
<html>
<head>
<title>Control set</title>
<meta charset="utf-8">
<script src="scripts/ga.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=geometry,places"></script>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="scripts/jquery-ui-1.10.4.custom.min.js"></script>
<script src="scripts/jquery.number.js"></script>
<script src="scripts/blueskies.js"></script>
<script src="scripts/ui.js"></script>
<script src="scripts/loc.js"></script>
<script src="scripts/util.js"></script>
<link rel="stylesheet" href="css/smoothness-theme/jquery-ui-1.10.4.custom.min.css">
<link rel="stylesheet" type="text/css" href="css/common.css" />
<link rel="stylesheet" type="text/css" href="css/article.css" />
</head>
<body>
<div class="container">
<aside>
<nav>
<header>
<h4>Navigation</h4>
</header>
<ul data-bind="foreach: pages">
<li><a data-bind="text: ($index() + 1) + '. ' + title, attr: { href: $index() == $parent.current ? null : url }"></a></li>
</ul>
</nav>
</aside>
<article>
<header>
<h1>Control set</h1>
</header>
<p>When thinking about reaching the target area from a particular location it can be useful to visualize <em>the control set</em>: a set of
points where you can reach the target from.</p>
<p>Think about spotting: you want to be able to reach the landing area from the opening point.</p>
<p>It is important to understand how the shape of this set depends on wind speed and direction. For example, in low/no wind conditions the
control set is a nearly perfect circle centered in the landing spot. Think about it, it's quite logical: your canopy can fly equally(?) well in any direction.</p>
<p>In stronger winds, however, the control set gets shifted upwind: you can reach the target area from further away if you have to return
downwind as opposed to trying to fly into the wind. For overwhelmingly strong winds the landing target even lies outside the control set: if
you open right above the target, you still cannot reach it, as you will get blown back by the strong wind.</p>
<p>As the wind speed increases, note that the control set does not simply shift upwind, it stretches along the wind direction. The reason is
that flying in brakes gives even more significant benefits with a strong tailwind.</p>
<p>In the following demonstration try changing the wind speed and direction. The blue area on the map shows which points you can reach the
target area from if you're at altitude of <span data-bind="text: sim.pattern.openingAltitude"></span>m.</p>
<!-- ko with: sim-->
<div class="settings-pane" data-bind="with: wind">
<h3>Wind conditions</h3>
<a href="#" class="link-button float-right" data-bind="click: randomize">Randomize</a>
<div>
<div class="element-label">
Wind direction:
<span data-bind="html: formatHeading(reportedWindDirection(direction()))"></span>
</div>
<div data-bind="jqSlider: direction, sliderOptions: headingSliderOptions"></div>
<div class="element-label">
Wind speed: <span data-bind="html: formatSpeed(speed(), 1)"></span>
</div>
<div data-bind="jqSlider: speed, sliderOptions: { min: 0, max: 13, step: 0.1 }"></div>
</div>
</div>
<div id="map-canvas" data-bind="Map: { options: mapOptions, to: map }"></div>
<div style="display:none">
<div class="arrow-indicator" data-bind="mapControl: 'RIGHT_TOP'">
<img src="images/windsock.png" data-bind="rotate: radToDeg(wind.direction())"/>
</div>
<div class="arrow-indicator" data-bind="fadeVisible: !pattern.intoWind(), mapControl: 'RIGHT_TOP'">
<img src="images/arrow.png" data-bind="rotate: radToDeg(pattern.landingDirection())"/>
</div>
</div>
<!-- /ko -->
<p data-bind="if: !isLastPage"><a data-bind="attr: {href: nextPage.url}">Next (<span data-bind="text: nextPage.title"></span>)>><a></p>
</article>
</div>
<script src="http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.0.0.js"></script>
<script src="scripts/bindings.js"></script>
<script src="scripts/viewmodel.js"></script>
<script src="scripts/article.js"></script>
<script>
sim.parameters.startable(false);
sim.display.controlset(true);
sim.pattern.openingAltitude(700);
sim.map.zoom(13);
</script>
</body>
</html>