This is a copy of the documentation/help file for the FlyAKite program. The file
comes in three versions FlyAKiteHelp.doc, FlyAKiteHelp.txt, and
FlyAKiteHelp.pdf. The .txt file does not have the screen prints.
Documentation/Help for FlyAKite - A kite-flying program
Can compute and plot the string trajectory of the flight.
C# Version 2.0.xxxx.xxxxx
Copyright (c) 1981-2005 by author: Harry J. Smith,
19628 Via Monte Dr., Saratoga CA 95070. All rights reserved.
FlyAKite is a kite-flying program with the following features:
Allows for flight data files input, edit, and update
Displays flight data
Can save all displayed data to a log file
Allows for entering integration parameters
Computes wind factors for flight data file
Uses differential equations to solve for position and tension vectors as a
function of arc length
Uses Runge-Kutta method for integration of ordinary differential equations
Plots string trajectory/profile on hires screen
Plots analytical continuation of the string trajectory
Allows for printer output of help file
And more...
----------------------------------------------------------------------------
Sample flight data file -
FlyAKite - A kite-flying program, C# Version 2.0.2112.12037
Run on: Harry's Intel 3 GHz Pentium 4 - Dell DGV4T641 - Windows XP Pro SP2
Flight data file Data.txt, 10/13/2005 7:00:51 AM
Fac1 Fac2 L/W H
20.00 35.00 8700.0 600.0
Len T Zeta SA Factor XKite YKite Flight
900.0 5.00 59.000 51.000 18.92 461.8 768.7 1
1800.0 5.50 42.000 29.000 31.43 1321.0 1189.4 2
2700.0 5.00 33.000 19.000 33.29 2224.3 1444.5 3
3600.0 4.00 26.000 11.000 36.26 3147.4 1535.1 4
4500.0 4.00 22.000 8.000 35.97 4066.1 1642.8 5
5400.0 4.00 18.000 5.000 39.28 5011.7 1628.4 6
6300.0 4.00 16.000 3.000 41.44 5894.7 1690.3 7
7200.0 4.50 15.000 3.000 38.10 6816.1 1826.4 8
8100.0 4.50 14.000 2.500 31.20 7735.1 1928.6 9
9315.0 5.00 14.000 3.000 25.14 8925.4 2225.3 10
EOF
To use this program you need flight data. The flight data needed for a given
flight is:
Len: Length of string out between the kite flyer and the kite in feet,
T: Tension in the string at the flyer in pounds,
Zeta: Elevation angle measured at the flyer from the horizontal to the kite in
degrees,
Sa: String angle measured at the flyer from the horizontal to tangent of
string in degrees.
All measurements are taken in an x-y coordinate system with the kite flyer at
the origin. The y-axis is straight up; the x-axis is horizontal, the kite and
string are assumed to be in the x-y plane.
The program allows you to generate and maintain flight data text files. These
files can contain several lines of flight data as well as parameters for the set
of flights in the file:
Fac1: Low guess at wind factor,
Fac2: High guess at wind factor,
L/W: The length of one pound of string in feet per pound,
H: Integration step size in feet.
Each line of flight data also can contains computed data:
Factor: Computed wind factor for the corresponding flight,
xKite: Computed x-coordinate of the kite,
yKite: Computed y-coordinate of the kite.
Besides being able to compute these three parameters, the program can plot the
string trajectory/profile from the flyer to the kite. It can also plot the
analytical continuation of the string trajectory past the kite and before the
flyer. The kite string is plotted in green and the analytical continuation is
plotted in red. This curve is a blown catenary.
There are six forms in this program, Startup, Run, Configuration/Edit, Plot,
Help, and About.
Startup Form -
The Startup form comes up first when you start the program. It tells you a
little about the program and allows you to set one parameter, Max Flights/Data
file. You normally do not need to change this parameter. Just click Run to start
the program and bring up the Run form or click Exit to shut it down.
Run Form -
The Run form has ten buttons with associated function keys, a File menu, a Help
menu and a large text output region. The buttons are:
Config./Edit: This brings up the Configuration/Edit form. If it is up
already, this is a no-op.
Load Data: This loads the currently selected flight data file. The
default data file name is Data.txt, but this can be changed on the
Configuration/Edit form.
Show Data: This displays, in the text output region, the currently loaded
data. By default, there is a one-flight data file in memory when you start the
program.
Calculate: This calculates the flight factors for the selected flight
data. A subset of the loaded flights can be selected on the Configuration/Edit
form. By default, all loaded flights are selected.
Abort Calc.: In the unlikely event that the calculation of flight factors
takes longer, than you are willing to wait, this button will abort the
calculation in progress, if any.
Plot: This brings up the Plot form to plot the kite string
trajectory/profile for a selected flight. More than one Plot form may be up at
the same time with each plotting the same or different flights.
Logging is Off: This toggles the state of logging and indicates if logging is
on or off.
Clear Log File: This will clear the selected log file, but does not change the
logging status of on or off. The default log file name is Log.txt, but this can
be changed on the Configuration/Edit form.
Clear Output: This clears the output in the text output region.
Quit: This closes all forms that are up and returns to the Startup form.
This is the same as restarting the program.
The File menu only has an Exit menu item that totally closes the program without
going to the Startup form. This is the same as clicking the X in the upper
right-hand corner of the Run form.
The Help menu has two menu items, "Help Form F1" and "About...".
Help Form F1: Brings up the Help form with this text file (FlyAKiteHelp.txt)
displayed.
About: Brings up the About form.
Configuration/Edit Form -
The Configuration/Edit form has many features. It allows the input of flight
parameters:
H: Integration step size in feet.
L/W: The length of one pound of string in feet per pound
Factor1: Low guess at wind factor
Factor2: High guess at wind factor
The input of flight data:
Line #: Each flight is stored as a line of data in the flight data
file
Length: Length of string out between the kite flyer and the kite in
feet
Tension: Tension in the string at the flyer in pounds
Angle to Kite: Elevation angle measured at the flyer from the horizontal to
the kite in degrees
String angle: String angle measured at the flyer from the horizontal to
tangent of string in degrees.
Line numbers:
Start line: Start line for computing factors
Stop line: Stop line for computing factors
Log to file mode: Is On/Off: This toggles the state of logging and indicates if
logging is on or off.
Home Dir: The program was loaded from this file directory
File path: This is the file directory for the Data File and the Log File
Selected file: Displays the selected file from the Select a File option
Data File: Allows you to select a data file by name
Log File: Allows you to select a log file by name
Load Data: This loads the currently selected flight data file. The
default data file name is Data.txt, but this can be changed.
Save Data: Save the edited flight data to the selected data file.
Clear Data: Clears all flight data from memory except line one of flight
data.
Prev. Line: Moves to the previous line of flight data for editing.
Next Line: Moves to the next line of flight data for editing.
Show Data: This displays, in the text output region, the currently loaded
data. By default, there is a one-flight data file in memory when you start the
program.
Insert Line: Inserts a line of flight data after the currently selected
line.
Delete Line: Deletes the currently selected line of flight data.
Calculate: This calculated the flight factors for the selected flight data. A
subset of the loaded flights can be selected. By default, all loaded flights are
selected.
Change File Path: This brings up a "Browse For Folders" dialog to allow you to
change the file path to the data files or log file.
Select a File: This brings up a "Select a file" dialog to allow you to select
a file for the data files or log file.
Exit: Closes the Configuration/Edit form.
Plot Form -
When a Plot form is selected, it automatically plots the last flight of the
flights loaded in memory. The form allows for the selection of:
Sine-Cosine: A test plot that displays the sine and cosine functions. You
may need to change the Start X and Stop X values to make this a reasonable plot.
Start X: The minimum X value of the plot in feet (or degrees for Sine-
Cosine).
Stop X: The maximum X value of the plot in feet (or degrees for Sine-
Cosine).
Sine vs. Cosine: A test plot that displays the sine verses the cosine function.
This tests plotting without connecting the points.
Load Data: This loads the currently selected flight data file. The
default data file name is Data.txt, but this can be changed on the
Configuration/Edit form.
About: Brings up the About form.
Plot Kite: Plots the kits string trajectory with the selected start and
stop parameters.
Start Y: The minimum Y value of the plot.
Flight #: The flight number of flight to plot.
Prev. Flight: Moves to the previous flight from the one selected.
Next Flight: Moves to the next flight from the one selected.
Auto Display: Plots the kits string trajectory with a computed value for
Start Y and Stop X
Exit: You guessed it; it brings down the current Plot form.
Help Form -
The Help form displays this text file (FlyAKiteHelp.txt). It also allows for
searching the displayed text by using the buttons "F3 Find" and "F2 UP". These
two buttons are the same except for the direction of the search and the musical
note sounded when and if a match is found, C-sharp (277Hz is middle C#) in the
down direction and C-sharp+ (554Hz is one octave above middle C#) in the up
direction. If the file is wrapped to accomplish the find, the file Wrap.wav is
played. If the target is not found, the file NotFound.wav is played. These file
must be in the same directory the program was loaded from, the Home Directory.
The Help form also has a File menu, which allows for Print Setup, Print...
Ctrl+P, Print Preview, and Exit.
About Form -
The About form displays a picture of me (how vain am I?) and information about
the program.
FlyAKite - A kite-flying program
Can compute and plot the string trajectory of the flight.
C# Version 2.0.xxxx.xxxxx
Copyright (c) 1981-2005 by author: Harry J. Smith,
19628 Via Monte Dr., Saratoga CA 95070. All rights reserved.
http://www.oocities.org/hjsmithh/download.html
Program Icons -
The Kite.ico is associated with the Startup form and the Plot form:
The cs.ico (for C-sharp) is associated with the Run form, Help form and the
About form:
The ConfigEdit.ico is associated with the Configuration/Edit form:
The Kite.ico file is also the program's icon. It was made using the American
Kitefliers Association logo. Their web site URL is:
http://www.aka.kite.org/
Here is a quote from there:
The American Kitefliers Association was founded in 1964 by the late Robert M.
Ingraham of New Mexico. Now, with over 4,000 members, in 35 countries, we are
the largest association of kiters in the world. Our purpose is to educate the
public in the art, history, technology, and practice of building and flying
kites - to advance the joys and values of kiting in all nations.
The differential equations solved -
The four variables (x, y, tX, tY) are a function of s:
dx/ds = tX / t
dy/ds = tY / t
d(tX)/ds = -eMu * Abs((dy/ds)^3)
d(ty)/ds = wOL + eMu * Abs(dy/ds) * dy/ds * dx/ds
s is the length of string from the flyer to a point on the kite string
x = the x-coordinate at the point
y = the y-coordinate at the point
tX = the tension in the string in the x direction
tY = the tension in the string in the y direction
t = Sqrt(tX^2 + tY^2) is the tension in the string at the point
eMu = wOL * factor, a constant
wOL = W/L, weight of one foot of string in pounds per foot, a constant
factor = wind factor, an unknown constant (Fac1 = first guess, Fac2 = second
guess)
The initial conditions are:
s = 0
x = 0
y = 0
tX = T * Cos(Sa);
tY = T * Sin(Sa);
The differential equations are integrated, using the Runge-Kutta method, from s
= 0 to s = Len. At this point the computed elevation angle eL = Atan2(y, x) is
compared with Zeta and the error = eL - Zeta is computed. A root finding method
is used to adjust the wind factor to find the root of the function:
error = Function(factor)
The value of factor is adjusted until the error is near zero. Once we have the
wind factor we can integrate the differential equations to find points (x, y)
along the string, and even past the string by letting s be greater than Len, and
before the flyer by letting s be negative.
From this, we see that we are not actually flying the kite, we are actually
flying the string. The kite is just holding up its end of the string. If we had
a kite with a greater lift to drag ration, which is determined by the slope of
the string at the kite, the string trajectory would remain the same, the
position of the kite would just move up along the catenary.
If we had a model airplane engine mounted on the front of the kite to give
negative drag, the kite would move up the catenary past the vertical portion of
the curve.
In the other direction, we can move the kite flyer to the left along the curve
by merely letting out more string. The low point may start to drag on the ground
so the flyer may need to move up on a cliff.
If we wanted to fly our kite to a higher altitude (my record is about 2225 feet
with 9315 feet of string), we would need to reduce the force of the wind on the
string. This can be done by reducing the diameter of the string without reducing
its tensile strength. This is even more important than the weight of the string.
Piano wire gives great performance, but it is not recommended. It is too
dangerous.
Notes: If you want to get your computer system's name added to the program's
output, add a line like the following to your C:\AUTOEXEC.BAT file.
SET SYSTEM=Harry's Intel 3 GHz Pentium 4 - Dell DGV4T641 - Windows XP Pro SP2
The C# Version number like 2.0.xxxx.xxxxx. It refers to as
MajorVersion.MinorVersion.BuildNumber.Revision, The four digit number,
BuildNumber, is the number of days since January 1, 2000 local time of the
build. The five digit number, Revision, is the number of seconds since midnight
local time, divided by 2 of the build.
You can down the latest version of the program from the URL:
http://www.oocities.org/hjsmithh/FlyAKite/
---------------- *** LEGAL NOTICE: *** ------------------
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License (GPL) as published
by the Free Software Foundation. cf. the file COPYING.txt.
------------ *** end of legal notice *** ------------------
The end -
Report any errors by sending me a letter, an e-mail or call me at my home phone.
-Harry
Harry J. Smith
19628 Via Monte Dr.
Saratoga, CA 95070-4522, USA
Home Phone: 1 408 741-0406
E-mail: hjsmithh@sbcglobal.net
Web site: http://www.oocities.org/hjsmithh/
Return to FlyAKite Program
Return to Harry's Home Page