I've uploaded a working copy of the glider designer here:
http://ushawks.org/designerHere's a screen shot:
- designer_screen_shot.png (54.48 KiB) Viewed 9663 times
It's currently all line drawing (no filled surfaces), and there's no hidden line removal attempted, so some lines will draw over others when they shouldn't. But it's good enough to play with a new design or to make a 3D model of existing gliders (helpful for diagrams and our training manual). The models can then be rendered in a 3D tool like Blender for finished artwork. There are red tabs (not shown) for 3D rotation, and clicking and dragging anywhere in the window will also rotate the view.
These are the basic parameters for the model:
- designer_controls.png (200.49 KiB) Viewed 9661 times
You lay out the glider starting with the front and rear locations for the keel (it's best to only use the "Y" dimension because I haven't tested alternatives). You also specify a point (x,y,z) for the wing tip. That lets you set the nose angle along with dihedral or anhedral. The control bar is specified with a height and a width. All units are envisioned to be feet, but meters would also be fine (just change the zoom to fit the window). The control bar height is the vertical distance from the keel (when horizontal), and the width is the width of the base tube. The "% Keel" specifies where the apex attaches to the keel (a percentage of the keel's length starting from the nose). The "Rake" parameter is how far (horizontal distance) the base tube is from the apex. The cross bar (X Bar) is specified in percentage of the leading edge and percentage of the keel (both from the nose). The "z from Keel" parameter is the "float" height above the keel. The kingpost is similarly located at a percentage of the keel from the nose, and the height and "Rake" (horizontal offset of tip) can also be specified. The trailing edge of the sail is again specified as a percentage of the keel (again from the nose) and so is the rear wire attachment point. Right now there are only 2 battens (root and tip), and they're drawn with bezier curves in the Battens panel (selector at top). The segments setting determines how many samples (lines) are taken from those two bezier curves to make the wing. The "Refresh" button (at the bottom) will copy all of the current settings to a JSON format in a text box. You can then copy that text and save it for future rendering (see example below).
There's also a batten design panel where you can define a bezier curve for the root chord section and the tip chord section. The root is on the top, and the tip is on the bottom (although you can drag them around to confuse yourself if you want).
- designer_battens.png (138.64 KiB) Viewed 9661 times
The rotation of the battens is relative to the keel, and they will be scaled so that the root batten fits between the front keel point and the trailing edge point (percentage of the keel). The tip batten will be scaled by the same amount, so they will remain relative to each other as drawn.
Here's the JSON specification for this particular model:
{
'Version': 1.0,
'KeelFrontPoint': [0,5,0],
'KeelRearPoint': [0,-5,0],
'WingTipPoint': [15,-3,0.2],
'TrailingEdgePercentKeel': 80,
'RearWirePercentKeel': 82,
'ControlBar': {
'Height': 3.5,
'Width': 3.2,
'ApexPercentKeel': 40,
'RakeDistance': 1.0,
},
'CrossBar': {
'PercentKeel': 33,
'PercentLeadingEdge': 60,
'HeightAboveKeel': 0.1,
},
'KingPost': {
'PercentKeel': 40,
'Height': 3,
'RakeDistance': 0.1,
},
'Battens': {
'NumPerSide': 2,
'BattenList': [
{
'PercentLeadingEdge': 0,
'Segments': 20,
'LeadingEdge': [50.0,165.0],
'LeadingEdgeControl': [125.0,20.0],
'TrailingEdgeControl': [275.0,150.0],
'TrailingEdge': [685.0,160.0]
},
{
'PercentLeadingEdge': 100,
'Segments': 20,
'LeadingEdge': [225.0,305.0],
'LeadingEdgeControl': [240.0,295.0],
'TrailingEdgeControl': [260.0,300.0],
'TrailingEdge': [350.0,315.0]
}
]
}
}
That shows exactly how the glider will be built, and that's a specification that can be easily shared. If you build any gliders, please post the JSON for it so other people can use it as well. Here's the whole application (in frame design mode):
There are a lot of improvements that I can make in the future, but this is a good start. Have fun, and please post the JSON for any models you make.