<html>
Beppo … is not entirely insane.
</html>
Beppo: Buffalo PHP Pattern Maker
Buffalo PHP is a group that meets once a month in Buffalo Hackerspace.
Synace was looking for a project to talk about on an ongoing basis. I suggested Beppo.
The rest is not yet history–but it may be history in the making.
| If you do not see a larger version of this thumbnail to the right of the flying buffalo, then you do not have a browser that shows SVG images. |
Goals
The goal of this project is to provide a pattern-drawing application that will:
-
Allow the construction of an unknown sequence by use of dynamic forms that present only the next allowed set of maneuvers to the contestants (some turnaround maneuvers cannot be connected to all of the center maneuvers and, perhaps, vice-versa).
Create two .pdf files:
Complete sequence, wind from the right.
Complete sequence, wind from the left (i.e., a mirror image).
Create a calling card to accompany the diagrams.
Provide accounts in which designers may save and edit their own designs.
Allow publication of patterns for registered NSRCA users.
Methods
Native Joomla! 1.5 component (access control; delivery to an indefinite number of clients)
MySQL database tables for the list of maneuvers and user designs.
Vector graphics: SVG files drawn with
Inkscape.
Javascript for dynamic form revision as maneuvers are chosen (implementing all constraints specified in the rules)? Hmm. That's a ton of javascript!
Use Joomla forms to construct the maneuver list (pick 17).
Source repository? SVN?
Data tables
Front end
How a user will construct a schedule
Opening Move
Present a list of center maneuver families to choose from.
User selects one family.
Present the list of all maneuvers in that family.
User selects one maneuver.
Middle Steps
Present a list of all turnaround maneuver families.
User selects one family.
Present a list of all maneuvers from that family that can connect to the chosen center maneuver (help needed here–I'm a little unclear on the concepts).
Present a list of remaining center maneuver families to choose from.
User selects one family.
Present the list of all maneuvers in that family that can connect to the last turnaround maneuver (help needed).
User selects one maneuver.
Repeat Middle Steps until 17 maneuvers have been chosen.
Pretty pictures
How to implement it
Check whether user has a library. If so, open it for inspection; on clicking any entry, go to edit mode. Icons: New, .pdf, Exit, Help.
If first use, start the New routine. Icons: Save, Cancel, Help.
New routine
Alternate presenting family lists for Center and Turnaround, beginning with Center.
After a family has been chosen, list all the maneuvers in that family that are allowed to follow the last Center or Turnaround maneuver. You cannot go from an inverted exit to an upright entry, and vice-versa.
On click on one maneuver, store it in the list and go to next family list (Center or Turnaround).
Show the list of maneuvers already chosen at the top of the next selection screen.
Need to allow backing up and editing what has been done. People change their minds as they go along. They should be able to edit what they've done so far.
.pdf output
from SVG to .pdf
zkwarl:
inkscape -f file.svg -A file.pdf
Back end
Add/remove classes.
Add/remove maneuvers.
Same selection structure to get at one maneuver: family first, then the variation picked from a table. Maybe use phpMyAdmin-style icons on each line: edit, copy, delete.
Dump whole list to a .pdf catalog for proofreading.
Showing the next set of available options
Use controller.php and toolbars to show the 23 center families or the 12 turnaround families. Have the functions called by the icons determine what options are available next.
Each family will need its own toolbar icon.
The user would select the family, then one of the options from a menu presented by the function.
The maneuver would be stored in the record for the schedule that is being built.
The next screen would be from the other family: to the center from a turnaround or to a turnaround from the center.
First draft
Produce a calling card onscreen and in .pdf.
Obey the rules for construction: connections, K-Factor, etc.
Graphics routines
First draft: graphics library
<html>
<table class=“inline” width=“70%” border=“1” cellpadding=“4”>
<tr>
<td colspan="3" align="center">Top Margin</td>
</tr>
<tr>
<td colspan="3" align="center">Heading: Name, author, date. </td>
</tr>
<tr>
<td colspan="3" align="center">Takeoff boilerplate + wind arrow. </td>
</tr>
<tr>
<td> </td>
<td>1. Center</td>
<td rowspan="2">2. Turnaround</td>
</tr>
<tr>
<td rowspan="2">4. Turnaround</td>
<td>3. Center</td>
</tr>
<tr>
<td>5. Center</td>
<td rowspan="2">6. Turnaround</td>
</tr>
<tr>
<td rowspan="2">8. Turnaround</td>
<td>7. Center</td>
</tr>
<tr>
<td>9. Center</td>
<td rowspan="2">10. Turnaround</td>
</tr>
<tr>
<td rowspan="2">12. Turnaround</td>
<td>11. Center</td>
</tr>
<tr>
<td>13. Center</td>
<td rowspan="2">14. Turnaround</td>
</tr>
<tr>
<td rowspan="2">16. Turnaround</td>
<td>15. Center</td>
</tr>
<tr>
<td colspan="2">17. Center</td>
</tr>
<tr>
<td colspan="3" align="center">Landing boilerplate.</td>
</tr>
</table>
</html>
Nine (9) center maneuvers on every page by necessity. 1.1“ each = ~100 dots high maximum. There needs to be some whitespace between center maneuvers so we cannot draw all the way to the top of the 90 pixel canvas. 90 px high centered on a 100 px box leaves a margin of 10 px top and bottom. Center maneuvers starting from the bottom should be as low in the drawing box as possible; those starting from the top should be as high as possible.
There is only one turnaround for each two center maneuvers. There is more space for drawing turnarounds. 2” = 180 dots high maximum. 170 dots high leaves 20 dots for a top and bottom margin. Turnaround maneuvers should be centered in the drawing box because they always straddle two center maneuvers–from one center maneuver to the next center maneuver.
All of the drawings must fit into a box that is 5.5“ px = ~500 px wide.
Center maneuvers should be centered left to right with 75 dots on each side. So the drawing space is 140 wide by 90 high.
Turnaround maneuvers should be drawn on the left margin of a in a 140 wide by 140 high drawing box, centered top to bottom.
Goal: get turnarounds positioned halfway between the two center maneuvers.
Store files individually in a folder, named by Family number, dot, sub-ID (e.g., “1.1.svg”). This will allow users to update the drawings as they please.
Maneuvers only
Maneuvers with maneuver description
Manipulating the maneuver drawings
Use them by ID with (x,y) for upper left corner and with scale(-1,1) to reverse them as needed. Because all of the maneuvers are drawn for flight from left to right, the downwind maneuvers (3-4, 7-8, 11-12, 15-16) need to be flipped horizontally (and repositioned). In order to draw the maneuvers for the wind coming from the left, the upwind maneuvers (1-2, 5-6, 9-10, 13-14, 17) need to be flipped and repositioned.
Collect information from each drawing about the y-height of the entrance and exit dots. That y-height can be converted to an absolute (x,y) position based on the (0,0) frame for the whole composite SVG. The coordinates for each of the 17 locations will be determined by the final layout tweaks. Each of the dots to be connected will be on one of four possible x-across locations:
Entrance/exit axis for left side of center maneuvers.
Entrance/exit axis for right side of center maneuvers.
Entrance/exit axis for left side of right-hand turnaround maneuvers.
Entrance/exit axis for right side of left-hand turnaround maneuvers.
Do some kind of analysis of all possible “attachment points” for variations?
How are the indications of variations drawn over the base figure?
Dotted lines, color-coding?
Image library
CSS
All of the drawings should call on the same Cascading Style Sheet (.css). Line thickness and the selection of dotted lines should be done through .css classes. Changes to the .css should propagate to the 17 selected maneuver drawings.
If the .css file exists, place the xml call to read it at the beginning of the output .svg files. The same .css file could be used to style the call sheet, too.
If the .css file does not exist, plug in some inline .css at the head of the output .svg files and the caller's sheet.
Constraints
Blurb
Those who fly precision radio-controlled aerobatics at the highest level (FAI F3A) are given one night to jointly select, then individually master 17 maneuvers to be flown the next day.
Competitors would like to have a program that can allow them to draw up unknown schedules both for practicing unfamiliar routines as well as for making up the real unknowns at contests.
There are approximately 300 variations of center maneuvers and about 200 turnaround variants.
Although not every center maneuver can be hooked up to every turnaround, the number of permutations and combinations is still quite large.
The final output of the program should be a .pdf file that shows the 17 selected maneuvers (9 center maneuvers [5 upwind, 4 downwind] and 8 turnaround maneuvers) in mirror images–one version will show the maneuvers with the wind coming from the left and other will show them with the wind coming from the right.
Beppo might not fly, Orville, but it should be an instructive experience to try to get it off the ground.
Rules for composing an unknown schedule
The composition of the unknown manoeuvre schedules shall be done by the finalists with each finalist nominating, in turn, an appropriate centre or turn-around manoeuvre from the approved and published list of manoeuvres. This nomination and selection of manoeuvres may be either manual or computer-aided. The order of selection will be determined following the random flight draw with the order repeating until the manoeuvre schedule is complete. The nominated and selected manoeuvres must conform to the following general criteria:
1. The entry of one manoeuvre must be matched to the exit of the previous manoeuvre, for entry altitude, entry attitude (level upright or level inverted flight), size of manoeuvres (wide as in a horizontal eight or narrow as in a stall turn) and direction of flight.
2. No duplication of manoeuvres.
3. No duplication of centre manoeuvres from the same manoeuvre group but excluding group 23 manoeuvres.
4. Spins are entered into the wind.
5. All horizontal rolling manoeuvres (4 pt. rolls, 8 pt. rolls, slow rolls, etc) are usually flown in a downwind direction.
6. Snap rolls may be flown positive or negative, unless specified.
7. Not more than five manoeuvres of each schedule may be K = 5.
8. Only 17 manoeuvres per unknown schedule.
a) Take-off sequence into wind (not judged and not scored).
b) 9 centre manoeuvres (5 upwind, 4 downwind).
c) 8 turn-around manoeuvres (4 left and 4 right).
d) Landing sequence into wind (not judged and not scored).
9. There is no limit on the total K-factor, and the maximum score.
5G.3. Once an unknown schedule has been composed and checked for correctness it must receive the final approval of the Jury and the contest director. Printed copies, showing the Aresti pictograms and manoeuvre lists, shall then be distributed to team managers, finalists, judges, jury members, and non-finalists who are scheduled to perform warm-up flights. A sufficient number shall be made available by the organisers for spectators.
5G.4. The judges shall receive instructions after the composition of the unknown schedule covering the unknown manoeuvres to ensure that they are fully aware of the sequence of manoeuvres.
5G.5. Aresti drawings of the unknown schedules must be provided to finalists and judges.
5G.6. Finalists may not attempt practice flights of an unknown schedule between its composition and the finals flights either with a model aircraft or via electronic flight simulator. Evidence of such practice shall be deemed cheating and shall lead to disqualification from the championships. Hand-held stick models are permitted.
5G.7. In addition to the warm-up flight for the finals known schedule, at least two warm-up flights must be arranged for the unknown schedule. The unknown warm-up flights may be observed by the finalists and must be judged. Under no circumstances should the flight scores of any warm-up flights be tabulated.
Suggestions from a competitor
Quique Somenzini, the person whom Ryan Smith mentions in this e-mail, won the FAI F3A world championship in 2007. Ryan knows what he is talking about.
From: "Ryan Smith"
Date: Sat, 23 May 2009 22:50:10 -0400
Marty,
This sort of combines your e-mail directly to me, and the e-mail that you
posted to the list, about what I was thinking for the program. I don't know
which method would be easier, but here is what I was thinking.
The purpose that I would be using this program, and I'm sure Andrew and
Jason and Brett, and any other host of FAI guys that would like to make
their own unknowns to practice with would be to start off with a base
drawing of each maneuver stored in a data bank and then have the maneuver
modifiers (rolls, etc.) in a bank as well. This way there wouldn't be a lot
of pictorial data stored in the program, just basic maneuver groups and
their individual modifiers.
One would input the unique identifier for the maneuver from the FAI sporting
code, and it would have information attached to it to know which maneuver
family to pull the base drawing from, and also what modifiers need to be
attached to it. It would draw the Aresti only when these were input, so I
would assume that the program would be less data intensive, and be able to
run quicker on older computers or what not.
For example, let's take a reverse Cuban eight, top entry, with 2/4 point
rolls. The identifier for this maneuver in the FAI Sporting Code is 10.11.
So the user would input 10.11 in a box, and it would take this, and with the
data attached to it, would take a base Cuban eight drawing, add the 2/4
point rolls to the 45* lines, and "invert" the maneuver because it's
starting at the top. It would only have the basic Cuban eight drawing stored
on the system and the 2/4 point roll modifier would be added when necessary.
Other niceties to consider would be to ensure that you can't input a wrong
maneuver in the sequence, as in, you can't have a maneuver with an inverted
entry following a maneuver with an upright exit, maybe an error code could
flash and a substitute maneuver could be suggested that has the correct
orientation. Also, if one could input a set of rules that defined where the
beginning of the maneuver drawing and where the end of the maneuver drawing
was so that there could be automated connector lines drawn, that would be
helpful. The only other problem would be how to organize the drawings on one
page since they don't exactly fit to a grid in some of the more obscure
sequences.
I know this is a lot of information, and I'm doing a poor job explaining it.
It's times like these that I wish I had pursued computer programming in
school so that I could make a program like this. I think the way I have
setup to organize it would be ideal because the people designing a given
sequence are not going to be without the sporting code, so there is nothing
exotic in the least to input, just the simple, unique identifier to the
maneuver.
Food for thought. I will see what I can come up with. I will be returning to
school to finish my degree in Finance soon, so I may pick up a few computer
classes to satisfy my curiosity. Thanks for being a good vent, I hope some
of this made sense to you. Let me know what you think of it.
Regards,
Ryan
-----Original Message-----
From: Martin X. Moleski, SJ [mailto:moleski@canisius.edu]
Ryan Smith wrote:
> Thank you for your offer, Marty. I have an idea how I would like something
> like that to be setup, but I have no computer programming experience. I may
> see what I can come up with. I'll probably continue to have a need for a
> program like this, because I always seem to need to write unknowns.
The first step is to get digital pictures of the maneuvers.
I guess we'll need two of each--one for each wind direction.
Once we have the graphics, manipulating them is not all that hard.
> In 2007 when I was creating unknowns for Quique, I would pick the maneuvers
> out, and then draw them with a pen and paper to scan and send to him. This
> precluded me from easily making two call sheets for both wind directions.
This is what computers were designed for.
They are great tools for drudge work.
Marty
Center Maneuvers
1. Loop
1.1 Rolling loop with one roll (from bottom) (K5)
1.2 Rolling loop with one roll (from bottom) inverted entry (K5)
1.3 Loop with 8-point roll (from bottom) (K5)
1.4 Loop with 8-point roll (from bottom) inverted entry (K5)
1.5 Loop with 4-point roll (from bottom (K5)
1.6 Loop with 4-point roll (from bottom) inverted entry (K5)
2. Two loops
2.1 Two loops with half rolls at top (from bottom) (K3)
2.2 Two loops with half rolls at top (from bottom) inverted entry (K4)
2.3 Two loops with half rolls at bottom (from top) (K4)
2.4 Two loops with half rolls at bottom (from top) inverted entry (K3)
2.5 Two loops with full roll first top, half roll second (from bottom) (K4)
2.6 Two loops with full roll first top, half roll second, inverted entry (from bottom) (K4)
2.7 Two loops with half roll first top, full roll second (from bottom) (K4)
2.8 Two loops with half roll first top, full roll second, inverted entry (from bottom) (K4)
2.9 Two loops with full roll first bottom, half roll second (from top) (K4)
2.10 Two loops with full roll first bottom, half roll second (from top) inverted entry (K4)
2.11 Two loops with half roll first bottom, full roll second (from top) (K4)
2.12 Two loops with half roll first bottom, full roll second (from top) inverted entry (K4)
3. Avalanche
3.1 Avalanche with full snap (from bottom) (K3)
3.2 Avalanche with full snap (from bottom) inverted entry (K3)
3.3 Avalanche with 1½ snap (from bottom) (K4)
3.4 Avalanche with 1½ snap, inverted entry (from bottom) (K4)
3.5 Avalanche with 1 negative snap (from top) (K4)
3.6 Avalanche with 1 positive snap (from top) inverted entry (K3)
4. Triangular loop
4.1 Triangular loop with full roll (from bottom) (K4)
4.2 Triangular loop with full roll (from bottom) inverted entry (K4)
4.3 Triangular loop with 2/2pt roll (from bottom) (K4)
4.4 Triangular loop with 2/2pt roll (from bottom) inverted entry (K4)
4.5 Triangular loop with 2/4pt roll (from bottom) (K4)
4.6 Triangular loop with 2/4pt roll (from bottom) inverted entry (K4)
4.7 Triangular loop with snap roll (from bottom) (K4)
4.8 Triangular loop with snap roll (from bottom) inverted entry (K4)
4.9 Triangular loop with 1½ snap roll (from bottom) (K4)
4.10 Triangular loop with 1½ snap roll (from bottom) inverted entry (K4)
4.11 Triangular loop with 1/2 rolls (from bottom) (K3)
4.12 Triangular loop with 1/2 rolls (from bottom) inverted entry (K3)
4.13 Triangular loop (base at bottom) with half rolls in 45 degree legs (K3)
4.14 Triangular loop (base at bottom) with half rolls in 45 degree legs, inverted entry (K3)
4.15 Triangular loop (base at bottom) with 2/4pt rolls in 45 degree legs (K4)
4.16 Triangular loop (base at bottom) with 2/4pt rolls in 45 degree legs, inverted entry(K4)
4.17 Triangular loop (base at bottom) with 2/2pt rolls in 45 degree legs (K4)
4.18 Triangular loop (base at bottom) with 2/2pt rolls in 45 degree legs, inverted entry (K4)
4.19 Triangular loop from top (base at top) with half rolls in 45 degree legs (K4)
4.20 Triangular loop from top (base at top) with half rolls in 45 degree legs, inverted entry (K4)
4.21 Triangular loop from top (base at top) with 2/4pt rolls in 45 degree legs (K4)
4.22 Triangular loop from top (base at top) with 2/4pt rolls in 45 degree legs, inverted entry (K4)
4.23 Triangular loop from top (base at bottom) with half rolls in 45 degree legs (K4)
4.24 Triangular loop from top (base at bottom) with half rolls in 45 degree legs, inverted entry (K4)
4.25 Triangular loop from top (base at bottom) with 2/4pt rolls in 45 degree legs (K4)
4.26 Triangular loop from top (base at bottom) with 2/4pt rolls in 45 legs, inverted entry (K4)
4.27 Triangular loop from top (base at bottom) with 2/4pt roll at bottom (K4)
4.28 Triangular loop from top (base at bottom) with 2/4pt roll at bottom, inverted entry (K4)
4.29 Triangular loop from top (base at bottom) with full roll (K4)
4.30 Triangular loop from top (base at bottom) with full roll, inverted entry (K4)
5. Square loop
5.1 Square loop with half rolls (K5)
5.2 Square loop with half rolls, inverted entry (K5)
5.3 Square loop with 2/4pt rolls (K5)
5.4 Square loop with 2/4pt rolls, inverted entry (K5)
5.5 Square loop with full snap over top (K4)
5.6 Square loop with full snap over top, inverted entry (K4)
5.7 Square loop from top with half rolls (K5)
5.8 Square loop from top with half rolls, inverted entry (K5)
5.9 Square loop from top with 2/4pt rolls (K5)
5.10 Square loop from top with 2/4pt rolls, inverted entry (K5)
5.11 Square loop from top with full snap at bottom (K4)
5.12 Square loop from top with full snap at bottom, inverted entry (K4)
6. Square loop on corner
6.1 Square loop on corner (K3)
6.2 Square loop on corner, inverted entry (K3)
6.3 Square loop on corner with half rolls in legs 1 & 3 (K4)
6.4 Square loop on corner with half rolls in legs 1 & 3, inverted entry (K4)
6.5 Square loop on corner with full roll in leg 1, half roll in leg 3 (K4)
6.6 Square loop on corner with full roll in leg 1, half roll in leg 3, inverted entry (K4)
6.7 Square loop on corner with four half rolls (K5)
6.8 Square loop on corner with four half rolls, inverted entry (K5)
6.9 Square loop on corner from top (K3)
6.10 Square loop on corner from top , inverted entry (K3)
6.11 Square loop on corner from top with half rolls in legs 1 & 3 (K4)
6.12 Square loop on corner from top with half rolls in legs 1 & 3, inverted entry (K4)
6.13 Square loop on corner from top with full roll in leg 1, half roll in leg 3 (K4)
6.14 Square loop on corner from top with full roll in leg 1, half roll in leg 3, inverted entry (K4)
6.15 Square loop on corner from top with four half rolls (K5)
6.16 Square loop on corner from top with four half rolls, inverted entry (K5)
7. Six-sided loop
7.1 Six sided loop (K4)
7.2 Six sided loop, inverted entry (K4)
7.3 Six sided loop from top (K4)
7.4 Six sided loop from top , inverted entry (K4)
8. Cobra roll
8.1 Cobra roll with 2/4pt rolls (K3)
8.2 Cobra roll with 2/4pt rolls, inverted entry (K3)
8.3 Cobra roll with 2/2pt rolls (K3)
8.4 Cobra roll with 2/2pt rolls, inverted entry (K)3
8.5 Cobra roll from top with half rolls (K3)
8.6 Cobra roll from top with half rolls, inverted entry (K3)
8.7 Cobra roll from top with 2/4pt rolls (K3)
8.8 Cobra roll from top with 2/4pt rolls, inverted entry (K3)
8.9 Cobra roll from top with 2/2pt rolls (K3)
8.10 Cobra roll from top with 2/2pt rolls, inverted entry (K3)
9. Golf ball
9.1 Golf ball (45 degrees up, 3/4 inside loop, 45 degrees down, pull to level), (K3)
9.2 Golf ball, inverted entry (K3)
9.3 Golf ball with half rolls (K3)
9.4 Golf ball with half rolls, inverted entry (K3)
9.5 Golf ball with 2/4pt rolls (K3)
9.6 Golf ball with 2/4pt rolls, inverted entry (K3)
10. Cuban eight
10.1 Cuban eight with 2/4pt rolls (K3)
10.2 Cuban eight with 2/4pt rolls, inverted entry (K3)
10.3 Cuban eight with full rolls (K4)
10.4 Cuban eight with full rolls, inverted entry (K4)
10.5 Reverse cuban eight (from bottom) with 2/4pt rolls (K4)
10.6 Reverse cuban eight (from bottom) with 2/4pt rolls, inverted entry (K4)
10.7 Reverse cuban eight (from bottom) with full rolls (K4)
10.8 Reverse cuban eight (from bottom) with full rolls, inverted entry (K4)
10.9 Cuban eight from top with half rolls (K3)
10.10 Cuban eight from top with half rolls, inverted entry (K3)
10.11 Cuban eight from top with 2/4pt rolls (K4)
10.12 Cuban eight from top with 2/4pt rolls, inverted entry (K4)
10.13 Cuban eight from top with full rolls (K4)
10.14 Cuban eight from top with full rolls, inverted entry (K4)
10.15 Reverse cuban eight from top with half rolls (K3)
10.16 Reverse cuban eight from top with half rolls, inverted entry (K3)
10.17 Reverse cuban eight from top with 2/4pt rolls (K4)
10.18 Reverse cuban eight from top with 2/4pt rolls, inverted entry (K4)
10.19 Reverse cuban eight from top with full rolls (K4)
10.20 Reverse cuban eight from top with full rolls, inverted entry (K4)
11. 45 degree down
11.1 45 degree down with full snap roll (K3)
11.2 45 degree down with full snap roll, inverted entry (K3)
11.3 45 degree down with 1½ snap roll (K3)
11.4 45 degree down with 1½ snap roll, inverted entry (K3)
11.5 45 degree down with two 2/4 pt rolls reversed (K4)
11.6 45 degree down with two 2/4 pt. rolls reversed, inverted entry (K4)
11.7 45 degree down with two 4/8 pt. rolls reversed (K4)
11.8 45 degree down with two 4/8 pt. rolls reversed, inverted entry (K4)
11.9 45 degree up with 1½ snap roll (K4)
11.10 45 degree up with 1½ snap roll, inverted entry (K4)
11.11 45 degree up with full snap roll (K3)
11.12 45 degree up with full snap roll, inverted entry (K3)
11.13 45 degree up with two 2/4 pt rolls reversed (K4)
11.14 45 degree up with two 2/4 pt rolls reversed, inverted entry (K4)
11.15 45 degree up with two 4/8 pt rolls reversed (K4)
11.16 45 degree up with two 4/8 pt rolls reversed, inverted entry (K4)
12.1 Figure Z with half roll up (K3)
12.2 Figure Z with half roll up, inverted entry (K3)
12.3 Figure Z with 2/4pt roll up (K4)
12.4 Figure Z with 2/4pt roll up, inverted entry (K4)
12.5 Figure Z with 2/2pt roll up (K4)
12.6 Figure Z with 2/2pt roll up, inverted entry (K4)
12.7 Figure Z from top with half roll down (K3)
12.8 Figure Z from top with half roll down, inverted entry (K3)
12.9 Figure Z from top with 2/4pt roll down (K4)
12.10 Figure Z from top with 2/4pt roll down, inverted entry (K4)
12.11 Figure Z from top with 2/2pt roll (K4)
12.12 Figure Z from top with 2/2pt roll, inverted entry (K4)
13. Hourglass
13.1 Hourglass (K4)
13.2 Hourglass, inverted entry (K4)
13.3 Hourglass with half rolls up and down (K4)
13.4 Hourglass with half rolls up and down, inverted entry (K5)
13.5 Hourglass with 2/4pt rolls up and down (K5)
13.6 Hourglass with 2/4pt rolls up and down, inverted entry (K5)
13.7 Hourglass (middle entry, top first) (K4)
13.8 Hourglass (middle entry, top first) inverted entry (K4)
13.9 Hourglass (middle entry, top first), half roll down (K4_
13.10 Hourglass (middle entry, top first) half roll down, inverted entry (K4)
13.11 Hourglass (middle entry, top first) 2/4pt roll down (K5)
13.12 Hourglass (middle entry, top first) 2/4pt roll down, inverted entry (K5)
13.13 Hourglass (middle entry, bottom first) (K4)
13.14 Hourglass (middle entry, bottom first), inverted entry (K4)
13.15 Hourglass (middle entry, bottom first) half roll up (K4)
13.16 Hourglass (middle entry, bottom first) half roll up, inverted entry (K4)
13.17 Hourglass (middle entry, bottom first) 2/4pt roll up (K4)
13.18 Hourglass (middle entry, bottom first) 2/4pt roll up, inverted entry (K4)
13.19 Hourglass (top entry) (K4)
13.20 Hourglass (top entry), inverted entry (K4)
13.21 Hourglass (top entry) with half rolls down and up (K5)
13.22 Hourglass (top entry) with half rolls down and up, inverted entry (K5)
13.23 Hourglass (top entry) with 2/4pt rolls down and up (K5)
13.24 Hourglass (top entry) with 2/4pt rolls down and up, inverted entry (K5)
14. Vertical eight
14.1 Vertical eight (from bottom) (K3)
14.2 Vertical eight (from bottom) inverted entry (K3)
14.3 Vertical eight (from bottom) with half rolls (K4)
14.4 Vertical eight (from bottom) with half rolls, inverted entry (K4)
14.5 Vertical eight (from bottom) with half roll after first half loop (K4)
14.6 Vertical eight (from bottom) with half roll after first half loop, inverted entry (K4)
14.7 Vertical eight (from middle) (K3)
14.8 Vertical eight (from middle) inverted entry (K3)
14.9 Vertical eight (from middle) with half roll (K3)
14.10 Vertical eight (from middle) with half roll, inverted entry (K3)
14.11 Vertical eight (from top) (K3)
14.12 Vertical eight (from top) inverted entry (K3)
14.13 Vertical eight (from top) with half rolls (K4)
14.14 Vertical eight (from top) with half rolls, inverted entry (K4)
14.15 Vertical eight (from top) with half roll after first half loop (K4)
14.16 Vertical eight (from top) with half roll after first half loop, inverted entry (K4)
15. Square horizontal eight
15.1 Square horizontal eight (K5)
15.2 Square horizontal eight, inverted entry (K5)
15.3 Square horizontal eight (from top) (K5)
15.4 Square horizontal eight (from top) inverted entry (K5)
15.5 Square vertical eight (from bottom) (K5)
15.6 Square vertical eight (from bottom) inverted entry (K5)
15.7 Square vertical eight (from bottom) with half rolls (K5)
15.8 Square vertical eight (from bottom) with half rolls, inverted entry (K5)
15.9 Square vertical eight (from middle) (K5)
15.10 Square vertical eight (from middle) inverted entry (K5)
15.11 Square vertical eight (from middle) with half roll (K5)
15.12 Square vertical eight (from middle) with half roll, inverted entry (K5)
15.13 Square vertical eight (from top) (K5)
15.14 Square vertical eight (from top) inverted entry (K5)
15.15 Square vertical eight (from top) with half rolls (K5)
15.16 Square vertical eight (from top) with half rolls, inverted entry (K5)
16.1 Figure M with 3/4 rolls (K5)
16.2 Figure M with 3/4 rolls, inverted entry (K5)
16.3 Figure M with 3/4 pt rolls (K5)
16.4 Figure M with 3/4 pt rolls, inverted entry (K5)
16.5 Figure M with 3/4pt rolls up, 1/4 rolls down (K5)
16.6 Figure M with 3/4pt rolls up, 1/4 rolls down, inverted entry (K5)
• Centre half-loop is always flown negative (inverted)
17. Top hat
17.1 Top hat with 2/4pt rolls (K4)
17.2 Top hat with 2/4pt rolls, inverted entry (K4)
17.3 Top hat with 2/2pt rolls (K4)
17.4 Top hat with 2/2pt rolls, inverted entry (K4)
17.5 Top hat from top with 2/4pt rolls (K4)
17.6 Top hat from top with 2/4pt rolls, inverted entry (K4)
17.7 Top hat from top with 2/2pt rolls (K4)
17.8 Top hat from top with 2/2pt rolls, inverted entry (K4)
18. Humpty bump
18.1 Humpty bump, half roll up, 2/4pt roll down (K4)
18.2 Humpty bump, 1/2 roll up, 2/4pt roll down, inverted entry (K4)
18.3 Humpty bump, 2/4pt roll up, full snap down (K5)
18.4 Humpty bump, 2/4pt roll up, full snap down, inverted entry (K5)
18.5 Humpty bump from top, half roll down, 2/4pt roll up (K4)
18.6 Humpty bump from top, half roll down, 2/4pt roll up, inverted entry (K4)
18.7 Humpty bump from top, 2/4pt roll down, full roll up (K4)
18.8 Humpty bump from top, 2/4pt roll down, full roll up, inverted entry (K4)
19. Spin
19.1 2½ turn spin, inverted exit (K3)
19.2 2½ turn spin, inverted entry, upright exit (K3)
19.3 2 turn opposite spin (K4)
19.4 Two turn opposite spin, inverted entry (K4)
19.5 Three turn spin (K3)
19.6 Three turn spin, inverted entry (K3)
19.7 2½ turn spin, half roll exit (K3)
19.8 2½ turn spin, half roll exit, inverted entry (K3)
20. Stall turn
20.1 Stall turn 3/4 roll up, 3/4pt roll down (K3)
20.2 Stall turn, 3/4 roll up, 3/4pt roll down, inverted entry (K3)
20.3 Stall turn 3/4 roll up, 3/4 pt roll down, inverted exit (K3)
20.4 Stall turn, 3/4 roll up, 1¼ snap roll down (K5)
20.5 Stall turn, 3/4 roll up, 1¼ snap roll down, inverted entry (K5)
20.6 Stall turn, 3/4 roll up, 1¼ snap roll down, inverted exit (K5)
20.7 Stall turn, 3/4pt roll up, 1¼ snap roll down (K5)
20.8 Stall turn, 3/4pt roll up, 1¼ snap roll down, inverted entry (K5)
20.9 Stall turn, 3/4pt roll up, 1¼ snap roll down, inverted exit (K5)
21. Double Immelmann
21.1 Double Immelmann with half rolls (K3)
21.2 Double Immelmann with half rolls, inverted entry (K3)
21.3 Double Immelmann with half roll first, full roll second (K4)
21.4 Double Immelmann with half roll first, full roll second, inverted entry (K4)
21.5 Double Immelmann with full rolls (K3)
21.6 Double Immelmann with full rolls, inverted entry (K3)
21.7 Double Immelmann from top, half rolls (K3)
21.8 Double Immelmann from top, half rolls, inverted entry (K3)
21.9 Double Immelmann from top, half roll first, full roll second (K4)
21.10 Double Immelmann from top, half roll first, full roll second, inverted entry (K4)
21.11 Double Immelmann from top with full rolls (K4)
21.12 Double Immelmann from top with full rolls, inverted entry (K4)
22. Rolling circle
22.1 Rolling circle with one roll inside (K5)
22.2 Rolling circle with one roll inside, inverted entry (K5)
22.3 Rolling circle with one roll outside (K5)
22.4 Rolling circle with one roll outside, inverted entry (K5)
22.5 Rolling circle with 2 rolls inside (K5)
22.6 Rolling circle with 2 rolls inside, inverted entry (K5)
22.7 Rolling circle with 2 rolls outside (K5)
22.8 Rolling circle with 2 rolls outside, inverted entry (K5)
22.9 Rolling circle with 4 rolls inside (K5)
22.10 Rolling circle with 4 rolls inside, inverted entry (K5)
22.11 Rolling circle with 4 rolls outside (K5)
22.12 Rolling circle with 4 rolls outside, inverted entry (K5)
23. Roll
(More than one manoeuvre from the following group is allowed, but not two of the same
manoeuvre with only the entry changed)
23.1 1½ rolls reversed (K4)
23.2 1½ rolls reversed, inverted entry (K4)
23.3 Two rolls reversed (K4)
23.4 Two rolls reversed, inverted entry (K4)
23.5 Four point roll (K4)
23.6 Four point roll, inverted entry (K4)
23.7 Eight point roll (K4)
23.8 Eight point roll, inverted entry (K4)
23.9 Two 3/4 pt. rolls reversed (K4)
23.10 Two 3/4 pt. rolls reversed, inverted entry (K4)
23.11 Two 2/2 pt. rolls reversed (K4)
23.12 Two 2/2 pt. rolls reversed, inverted entry (K4)
23.13 Two 2/4 pt. rolls reversed (K4)
23.14 Two 2/4 pt. rolls reversed, inverted entry (K4)
23.15 Slow roll (K3)
23.16 Slow roll, inverted entry (K3)
23.17 Knife edge flight (K4)
23.18 Knife edge flight, inverted entry (K4)
23.19 Reverse knife edge flight (K5)
23.20 Reverse knife edge flight, inverted entry (K5)
23.21 One horizontal snap roll (K3)
23.22 One horizontal snap roll, inverted entry (K4)
23.23 Two snap rolls reversed (K5)
23.24 Two snap rolls reversed, inverted entry (K5)
23.25 2/2pt roll, full snap roll opposite (K5)
23.26 2/2pt roll, full snap opposite, inverted entry (K5)
23.27 2/4pt roll, 1½ snap roll opposite (K5)
23.28 2/4pt roll, 1½ snap roll opposite, inverted entry (K5)
Turnaround manoeuvres
A. Half square loop
A.1 Half square loop (K1)
A.2 Half square loop, inverted entry (K1)
A.3 Half square loop with half roll up (K2)
A.4 Half square loop with half roll up, inverted entry (K2)
A.5 Half square loop with 2/4pt roll up (K2)
A.6 Half square loop with 2/4pt roll up, inverted entry (K2)
A.7 Half square loop with 2/2pt roll up (K2)
A.8 Half square loop with 2/2pt roll up, inverted entry (K2)
A.9 Half square loop with full roll up (K2)
A.10 Half square loop with full roll up, inverted entry (K2)
A.11 Half square loop from top (K1)
A.12 Half square loop from top, inverted entry (K1)
A.13 Half square loop from top, half roll down (K2)
A.14 Half square loop from top, half roll down, inverted entry (K2)
A.15 Half square loop from top, 2/4pt roll down (K2)
A.16 Half square loop from top, 2/4pt roll down , inverted entry (K2)
A.17 Half square loop from top, 2/2pt roll down (K2)
A.18 Half square loop from top, 2/2pt roll down, inverted entry (K2)
A.19 Half square loop from top, full roll down (K2)
A.20 Half square loop from top, full roll down, inverted entry (K2)
A.21 Half square loop from top, full snap down (K3)
A.22 Half square loop from top, full snap down, inverted entry (K3)
B. Half loop
B.1 Half loop (K1)
B.2 Half outside loop, inverted entry (K1)
B.3 Half outside loop from top (K1)
B.4 Half loop from top, inverted entry (K1)
C. Split S
C.1 Split “S” (half roll, half loop from top) (K2)
C.2 Half inside loop, half roll, from top, inverted entry (K2)
C.3 Half outside loop, full roll, from top (K2)
C.4 Half inside loop, full roll, from top, inverted entry (K2)
D. Immelman turn
D.1 Immelmann turn (K2)
D.2 Immelmann turn, inverted entry (K2)
D.3 Immelmann turn, full roll (K2)
D.4 Immelmann turn, full roll, inverted entry (K2)
E.1 Figure 9 from bottom (K1)
E.2 Figure 9 from bottom, inverted entry (K1)
E.3 Figure 9 from bottom, half roll up (K2)
E.4 Figure 9 from bottom, half roll up, inverted entry (K2)
E.5 Figure 9 from bottom, 2/4pt roll up (K2)
E.6 Figure 9 from bottom, 2/4pt roll up, inverted entry (K2)
E.7 Figure 9 from bottom, 2/2pt roll up (K2)
E.8 Figure 9 from bottom, 2/2pt roll up, inverted entry (K2)
E.9 Figure 9 from bottom, full roll up (K2)
E.10 Figure 9 from bottom, full roll up, inverted entry (K2)
E.11 Figure 6 from middle (bottom first) (K1)
E.12 Figure 6 from middle (bottom first), inverted entry (K1)
E.13 Figure 6 from middle (bottom first), half roll up (K2)
E.14 Figure 6 from middle (bottom first), half roll up, inverted entry (K2)
E.15 Figure 6 from middle (bottom first), 2/4pt roll up (K2)
E.16 Figure 6 from middle (bottom first), 2/4pt roll up, inverted entry (K2)
E.17 Figure 6 from middle (bottom first), 2/2pt roll up (K2)
E.18 Figure 6 from middle (bottom first), 2/2pt roll up, inverted entry (K2)
E.19 Figure 6 from middle (bottom first), full roll up (K2)
E.20 Figure 6 from middle (bottom first), full roll up, inverted entry (K2)
E.21 Figure 9 from middle (top first) (K1)
E.22 Figure 9 from middle (top first), inverted entry (K1)
E.23 Figure 9 from middle (top first), half roll down (K2)
E.24 Figure 9 from middle (top first), half roll down, inverted entry (K2)
E.25 Figure 9 from middle (top first), 2/4pt roll down (K2)
E.26 Figure 9 from middle (top first), 2/4pt roll down, inverted entry (K2)
E.27 Figure 9 from middle (top first), 2/2pt roll down (K2)
E.28 Figure 9 from middle (top first), 2/2pt roll down, inverted entry (K2)
E.29 Figure 9 from middle (top first), full roll down (K2)
E.30 Figure 9 from middle (top first), full roll down, inverted entry (K2)
E.31 Figure 9 from middle (top first), full snap down (K3)
E.32 Figure 9 from middle (top first), full snap down, inverted entry (K3)
E.33 Figure 6 from top (K1)
E.34 Figure 6 from top, inverted entry (K1)
E.35 Figure 6 from top, half roll down (K2)
E.36 Figure 6 from top, half roll down, inverted entry (K2)
E.37 Figure 6 from top, 2/4pt roll down (K2)
E.38 Figure 6 from top, 2/4pt roll down, inverted entry (K2)
E.39 Figure 6 from top, 2/2pt roll down (K2)
E.40 Figure 6 from top, 2/2pt roll down, inverted entry (K2)
E.41 Figure 6 from top, full roll down (K2)
E.42 Figure 6 from top , full roll down, inverted entry (K2)
E.43 Figure 6 from top, full snap down (K3)
E.44 Figure 6 from top, full snap down, inverted entry (K3)
F. Half cuban eight
F.1 Half cuban eight (K2)
F.2 Half cuban eight, inverted entry (K2)
F.3 Half cuban eight, 2/4pt roll (K2)
F.4 Half cuban eight, 2/4pt roll, inverted entry (K2)
F.5 Half cuban eight, 2/2pt roll (K2)
F.6 Half cuban eight, 2/2pt roll, inverted entry (K2)
F.7 Half cuban eight with full roll (K2)
F.8 Half cuban eight with full roll, inverted entry (K2)
F.9 Half cuban eight with full snap roll (K3)
F.10 Half cuban eight with full snap roll, inverted entry (K3)
F.11 Half cuban eight with 1½ snap roll (K3)
F.12 Half cuban eight with 1½ snap roll, inverted entry (K3)
F.13 Half cuban eight from top (K2)
F.14 Half cuban eight from top, inverted entry (K2)
F.15 Half cuban eight from top, 2/4pt roll up (K2)
F.16 Half cuban eight from top, 2/4pt roll up, inverted entry (K2)
F.17 Half cuban eight from top, 2/2pt roll up (K2)
F.18 Half cuban eight from top, 2/2pt roll up, inverted entry (K2)
F.19 Half cuban eight from top, full roll up (K2)
F.20 Half cuban eight from top, full roll up, inverted entry (K2)
F.21 Half reverse cuban eight (K2)
F.22 Half reverse cuban eight, inverted entry (K2)
F.23 Half reverse cuban eight, 2/4pt roll (K2)
F.24 Half reverse cuban eight, 2/4pt roll, inverted entry (K2)
F.25 Half reverse cuban eight, 2/2pt roll (K2)
F.26 Half reverse cuban eight, 2/2pt roll, inverted entry (K2)
F.27 Half reverse cuban eight with full roll (K2)
F.28 Half reverse cuban eight with full roll, inverted entry (K2)
F.29 Half reverse cuban eight with full snap roll (K3)
F.30 Half reverse cuban eight with full snap roll, inverted entry (K3)
F.31 Half reverse cuban eight with 11/2 snap roll (K3)
F.32 Half reverse cuban eight with 11/2 snap roll, inverted entry (K3)
F.33 Half reverse cuban eight from top (K2)
F.34 Half reverse cuban eight from top, inverted entry (K2)
F.35 Half reverse cuban eight from top, 2/4pt roll down (K2)
F.36 Half reverse cuban eight from top, 2/4pt roll down, inverted entry (K2)
F.37 Half reverse cuban eight from top, 2/2pt roll down (K2)
F.38 Half reverse cuban eight from top, 2/2pt roll down, inverted entry (K2)
F.39 Half reverse cuban eight from top, full roll down (K2)
F.40 Half reverse cuban eight from top, full roll down, inverted entry (K2)
G. Spin
G.1 Two turn spin (K2)
G.2 Two turn spin, inverted entry (K2)
G.3 2 1/2 turn spin (K2)
G.4 2 1/2 turn spin, inverted entry (K2)
H. Stall turn
H.1 Stall turn, half rolls (K2)
H.2 Stall turn, half rolls, inverted entry (K2)
H.3 Stall turn, half roll up, 2/4pt roll down (K2)
H.4 Stall turn, half roll up, 2/4pt roll down, inverted entry (K2)
H.5 Stall turn, full roll up, half roll down (K2)
H.6 Stall turn, full roll up, half roll down ,inverted entry (K2)
H.7 Stall turn, 2/4pt roll up, half roll down (K2)
H.8 Stall turn, 2/4pt roll up, half roll down, inverted entry (K2)
H.9 Stall turn, 2/2pt roll up, 2/4pt roll down (K2)
H.10 Stall turn, 2/2pt roll up, 2/4pt roll down, inverted entry (K2)
H.11 Stall turn, half roll up, full snap down (K4)
H.12 Stall turn, half roll up, full snap down, inverted entry (K4)
H.13 Stall turn, 3/4pt roll up, 1/4 roll down (K3)
H.14 Stall turn, 3/4pt roll up 1/4 roll down, inverted entry (K3)
H.15 Stall turn, 3/4 roll up, 1¼ snap down (K4)
H.16 Stall turn 3/4 roll up, 1¼ snap down, inverted entry (K4)
J. Top hat
J.1 Top hat, 3/4 roll up, 1/4 roll down (K2)
J.2 Top hat, 3/4 roll up, 1/4 roll down, inverted entry (K2)
J.3 Top hat, 3/4pt roll up, 3/4 roll down (K2)
J.4 Top hat, 3/4pt roll up, 3/4 roll down, inverted entry (K2)
J.5 Top hat, 3/4pt roll up, 3/4 pt roll down, inverted exit (K2)
J.6 Top hat, 3/4pt roll up, 3/4pt roll down, inverted entry and exit (K2)
J.7 Top hat, 1/4 roll up, 1/4 roll down (K2)
J.8 Top hat, 1/4 roll up, 1/4 roll down, inverted entry (K2)
J.9 Top hat, 1/4 roll up, 1/4 roll down, inverted exit (K2)
J.10 Top hat, 1/4 roll up, 1/4 roll down, inverted entry and exit (K2)
J.11 Top hat from top, 3/4 roll down, 3/4pt roll up (K3)
J.12 Top hat from top, 3/4 roll down, 3/4pt roll up, inverted entry (K3)
J.13 Top hat from top, 3/4 roll down, 1/4 roll up (K2)
J.14 Top hat from top, 3/4 roll down, 1/4 roll up, inverted entry (K2)
J.15 Top hat from top, 1/4 roll down, 3/4pt roll up (K2)
J.16 Top hat from top, 1/4 roll down, 3/4pt roll up, inverted entry (K2)1¼
• Horizontal (cross-box) flight is always flown inverted.
K. 45 degree up
K.1 45 degree up, 2/4pt roll, half loop (inside or outside), full roll down (K3)
K.2 45 degree up, 2/4pt roll, half loop (inside or outside), full roll down, inverted entry (K3)
K.3 45 degree up, 2/2pt roll, half loop (inside or outside), 2/4pt roll down (K3)
K.4 45 degree up, 2/2pt roll, half loop (inside or outside), 2/4pt roll down, inverted entry (K3)
K.5 45 degree up, full roll, half loop (inside or outside), 2/4pt roll down (K3)
K.6 45 degree up, full roll, half loop (inside or outside), 2/4pt roll down, inverted entry (K3)
K.7 45 degree up, 2/2pt roll, half loop (inside or outside), full snap roll down (K4)
K.8 45 degree up, 2/2pt roll, half loop (inside or outside), full snap roll down, inverted entry (K4)
L. Humpty bump
L.1 Humpty bump (pull, pull, push) half roll up, 2/4pt roll down (K3)
L.2 Humpty bump (push, push, pull) half roll up, 2/4pt roll down, inverted entry (K3)
L.3 Humpty bump (pull, pull, pull) half roll up, 2/2pt roll down (K3)
L.4 Humpty bump (push, push, push) half roll up, 2/2pt roll down, inverted entry (K3)
L.5 Humpty bump (pull, pull, push) 2/4pt roll up, half roll down (K3)
L.6 Humpty bump (push, push, pull) 2/4pt roll up, half roll down, inverted entry (K3)
L.7 Humpty bump (pull, pull, push, or pull, push, push) 1/4 roll up, 3/4 roll down (K3)
L.8 Humpty bump (push, pull, pull, or push, push, pull) 1/4 roll up, 3/4 roll down, inverted entry (K3)
L.9 Humpty bump (pull, pull, pull) 3/4pt roll up, 1/4 roll down (K3)
L.10 Humpty bump (push, pull, pull) 3/4pt roll up, 1/4 roll down, inverted entry (K3)
L.11 Humpty bump with roll options, (half roll up or 1/4 roll up and down) (K2)
L.12 Humpty bump with roll options, (half roll up or 1/4 roll up and down) inverted entry (K2)
M. Humpty bump from top
M.1 Humpty bump from top, half roll down (push, push, push) (K3)
M.2 Humpty bump from top, half roll down, inverted entry (pull, pull, pull) (K2)
M.3 Humpty bump from top, 2/4pt roll down, half roll up (push, push, pull) (K3)
M.4 Humpty bump from top, 2/4pt roll down, half roll up, inverted entry (pull, pull, push) (K3)
M.5 Humpty bump from top, 2/4pt roll down, 2/2pt roll up (push, push, push) (K3)
M.6 Humpty bump from top, 2/4pt roll down, 2/2pt roll up, inverted entry (pull, pull, pull) (K3)
M.7 Humpty bump from top, 1/4 roll down, 3/4 roll up (push, push, push) (K3)
M.8 Humpty bump from top, 1/4 roll down, 3/4 roll up, inverted entry (pull, push, push) (K3)
M.9 Humpty bump from top, 1/4 roll down, 3/4 roll up, inverted entry and exit (pull, push, pull) (K3)
M.10 Humpty bump from top, 1/4 roll down, 3/4 roll up, inverted exit (push, push, pull) (K3)
Frequently Asked Questions (FAQs)
Credits