FlyAKite Documentation




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


This page accessed times since October 20, 2004.
Page created by: hjsmithh@sbcglobal.net
Changes last made on