Thrust Curve Tracer

TCTracer is a freely available Java application that makes creation of rocket motor data files quick and easy. If you have an image of the thrust curve graph of a motor plus some standard information about it, you can use it to create a motor file simply and accurately.

In simplest terms, TCtracer opens an image file of the motor's thrust curve and lets you draw right on that image. After drawing the thrust curve, you input some standard data on the motor and it will write out a RASP format motor data file. TCTracer is written as a Java application and should run on all modern operating systems. (I have tested it on Windows XP, Mac OS X and Linux.)

See the download options at the bottom of this page.

There are five steps in using TCtracer to make a motor data file:

  1. Open Image loads an image file of the thrust curve to be traced.
  2. Setup Grid allows you to specify the grid values and drag the edges.
  3. Draw Points is used to draw the data points directly on the graph image.
  4. Motor Info brings up a dialog to enter basic information on the motor.
  5. Save Data saves the resulting RASP format simulator file.

Tim Van Milligan of Apogee Rockets made a video demonstration of tracing the thrust curve from a Tripoli certification document.

View the movie here or go to the YouTube video.

Check out the Apogee site for other related tutorials (including one on extracting data from a NAR certification document).

1. Open Image

The first step is to load the original graph image which you will be tracing. This can be any of the standard image formats supported by Java (GIF, JPEG, PNG or BMP). Clicking the Open Image toolbar button or menu item.

The image will be displayed in the background of the editing area so you can draw directly on top of it. Ideally the image file will contain just the graph with its legends. If necessary, you can crop the image to just the area of interest, but as long as there isn't too much extra space around the sides, the exact layout won't matter.

2. Setup Grid

The next step is to set up the grid. The grid is drawn overlaying the image and is used to scale the data points. Clicking the Setup Grid toolbar button or menu item brings up a dialog where you enter basic information.

X axis These two fields specify the minimum and maximum values for the time range displayed by the graph. The minimum value is generally zero seconds, but the maximum must be specified to match the value at the right edge of the graph.

X sub-subdivisions This field specifies the number of vertical grid lines between the left and right edges displayed by the graph. Leaving this value at zero is fine, but you can also enter a value to make the overlay grid match the image more closely.

Y axis These two fields specify the minimum and maximum values for the thrust range displayed by the graph. The minimum value is generally zero, but the maximum must be specified to match the value at the top edge of the graph. Note that you must also specify which units are used by the graph image using the combo box on right. (Thrust is measured in Newtons or pounds-force.)

Y sub-subdivisions This field specifies the number of horizontal grid lines between the bottom and top edges displayed by the graph. Leaving this value at zero is fine, but you can also enter a value to make the overlay grid match the image more closely.

When you hit OK, the grid is drawn as per your settings. If the range, units or sub-divisions are not correct, just open the dialog again and adjust as necessary. Once the overlaid grid has the same structure as the background image, drag the edges of the grid to match the edges of the graph image. The goal is for the drawn graph to overlap the image graph as exactly as possible.

You can go back and forth between dragging the overlay grid edges and using the dialog until everything looks right. Note that you can also resize the window larger to get more precision. The grid overlay will resize as well, but you will notice small errors, which are the result of rounding, as the window gets larger.

3. Draw Points

Next, it's time to draw the thrust curve. Clicking the Draw Points toolbar button or menu item puts you into drawing mode and clicking on the area of the grid overlay will add, remove and adjust points.

Click at various points along the thrust curve on the image to start tracing out the line. Note that the points will be connected by a line showing you the resulting curve. Clicking on an existing point will erase it and dragging a point will move it.

You can draw points in any order and they will be automatically arranged in time. Start by picking the major inflection points on the thrust curve. (Note that no point is needed at zero time since an initial point at zero thrust, zero time is assumed by the RASP format.) If the straight lines between them deviate too much, you can put another line between any two points.

While drawing points, you can see how close to the published specifications you've come by looking at the statistics in the panel below the drawing area. As you draw points, the curve is updated and the summary statistics displayed. Matching the official information exactly is not critical (since motors can vary quite a bit from firing to firing), but this gives you a way to check your progress. If the numbers are way off, check that you've chosen the correct ranges, and particularly the thrust units, using the Setup Grid dialog.

The status icon (below the drawing area) will be a yellow warning sign if there are any errors. Clicking on this icon will bring up a dialog listing the errors found.

The thrust curve must end with a point at zero thrust. This point is created by placing a point on the X axis where the thrust curve reaches zero. Once you have placed this point (and no other errors are found), the icon below the drawing area will turn into a green check, indicating that the thrust curve is done.

4. Motor Info

The thrust curve is the most interesting part of the process, but there is some other information on the motor necessary to create the RASP file. This info is entered using the Motor Info toolbar button or menu item, which brings up a dialog.

You should be able to find this information on the motor manufacturer's web site or on printed instructions that came with the motor. For more detail on these pieces of information, see the RASP format page.

5. Save Data

Once a valid thrust curve has been drawn and the motor information is complete, the resulting RASP data file can be saved using the Save Data toolbar button or menu item and you're done!


TCtracer is written in Java (specifically using Java 1.5). This means that it should run on any modern operating system.

Download this executable for Windows. This has been tested on Windows Vista, but should also work on anything from Windows NT on.
Download this application bundle for Mac OS for modern (64-bit) Macs. This has been tested on Big Sur, but should work on later versions of OS X (any hardware).
Download this universal binary application bundle for Mac OS X on old (32-bit) Macs. This has been tested on 10.5, but should work on older versions of OS X with 32-bit processors.
Download this pure Java installer for any platform. (This is an executable jar file, created using IzPack.)

The current version of TCtracer is 1.1 of January 2023. To see what version you have, open the About dialog from within the program.