Minecraft Wing Designer
A python script that takes in a minimal number of aircraft wing parameters, and returns a pair of text files indicating where blocks should be placed to generate an accurate 3D aircraft wing. The resulting wing is a discrete approximation of a NACA 4-digit airfoil.
It was written during 2012 to aid in the construction of a large Boeing 747 in Minecraft.
Unzip the contents into a directory of your choice. The script is ready to run, although you will need a working installation of the python programming language.
Open MCWingDesign.py in your prefered text editor. Edit the input parameters to match those of your desired wing.
If you are not sure of the parameters of the wing, then you can measure them off a scale drawing. You can easily find such a drawing by entering the name of your aircraft along with "3 view" into your prefered search engine. Once you have the drawing, scale it if necessary (larger is better), and open it in an image editor that allows you to read off coordinates of points. You can then measure or calculate the relevant lengths and angles.
The following parameters that are required.
- Root Chord - Distance from the front to the back of the wing at the point where it meets the fuselage.
- Half Span - Shortest horizontal distance from the tip of the wing to the fuselage.
- Thickness to Chord Ratio - The ratio of the thickness of the wing to the chord. Most easily measured at the root.
- Taper ratio - The chord at the wing tip divided by the chord at the root.
- Leading Edge Sweep - The sweep angle measured in the top view along leading edge of the wing.
- Dihedral Angle - The angle of the wing from the horizontal in the front view.
- y0 - The y coordinate of the centreline of the wing root.
There are also two optional parameters: the character combinations used to represent blocks and empty spaces in the output text files.
The script assumes that the airfoil is a symmetrical NACA 4-series airfoil. This is accurate enough for all but very large builds (that is, chords of more than 50 m). Should you need a different airfoil shape, you may edit the airfoilCoords function. If you need an airfoil that is not symmetrical, you will need to add an additional function for the bottom surface.
To run the program, simply call MCWingDesign.py in python. The script will output two text files in the same directory (WARNING: existing files will be overwritten). wingcrosssections.txt consists of vertical cross sections moving from the root outward, which is suited to building in Creative mode). winglayers.txt consists of horizontal layers moving from the ground up, and is more suited to building in Survival mode or without flying.