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