Monday, October 29, 2012

Finally

I've got a solution.

Ta da

After, I don't know 1.5-2 years of messing around with this, I've finally got a working method for creating these surfaces I need to the quality I desire.

It's G3. It's beautiful.

The scene:


Next, I'll make an infinite line that captures the side profile of the front of the nose


I want 16 evenly spaced points from 350 to 2200


I only need the first and last 4


Make a series of lines from the first four points up to the infinite line in the zx direction


Hide infinite line, put a point at then end of each of these lines


Hide the support lines. Draw one line from the first control point to the last one


Hit control points, this will create a new line. Right click on the number of control points, change this to 16. There are now 16 evenly spaced control points.


Hide the old line and control points. We'll use the Manipulators snap to constrain this control point to the point earlier created


Select the first point


Snap to this point


Should look like this:


Repeat


For the points at the top - right click on the control point and select Edit position


Change the y position


Repeat for the top 4 control points


1) Select Grid mode
2) Set translation to something reasonably large
3) Use the handle to move the points only in the y direction

Start moving the control points to approximately the line we intend


Curve is getting there. Now change the translation distance to something finer to start fine tuning the curve control point by control point


Here is my result. Some of the control points have to be pulled way out to get the desired spline shape.


Select all points


Right click on any of the points and select Keep all points


Hide everything but these points. We've now got all the control points necessary to replicate this spline


Lets do it all again from a side view

Infinite line


Points on lines


Line with 16 control points


Snap manipulators, edit points


Adjust curve using control points, keep all points


Hide all this for now. We're going to make a support surface

Make a point using the first control point as a reference at y=200. Do the same for the last control point

Then make two more points using these points as a reference at z=200.


Make a 4-point patch using these points


Make this surface symmetrical across the zx plane


Blend. G3


Hit control points, make this blend have 16 control points in the v direction. This is our magic surface.


Hide the support surfaces, unhide the side view points we're going to snap to

I'll apply a material and paint it blue as well, so it's easier to see the support we're working with


Working with control points, make symmetry across the zx plane and highlight the first set of control points as shown in the box


Select this control point


Snap to this point we created



Snap the rest of them


Want a surprise? Check it out from the top


Unhide the top view points and snap the control points again


So far so good


So lets say we've got one dimension completed. The y direction


Let's work on the next dimension. Z


I'll make a 3d curve representing approximately what I want to accomplish in the z direction


Select the 3d curve and click on Distance Analysis


Select our surface, change the Measurement Direction to z, and change Display Options to Full Range of Colors


Now I can see how far off I am.

Before I start going crazy adding control points u direction, I think it's worth understanding how the distribution of control points effects the shape of a curve.

Here is a G3 curve created by blending two straight lines using a tension of 1.


I'll set a target of how high I want it to look in the center


Here is what it looks like with a "Linear Law" adjustment


Concave Law, notice the effect of not evening spacing the control points


Convex Law


Bell Law


Comparison of all four


So before I start adding control points in the U direction on this surface, I'll try to get as close as possible to the shape that I want by using the appropriate spacing of the existing control points.

So maybe first things first. Use linear law adjustments to get the surface as close as possible in my distance analysis, remembering to maintain G3 continuity at the start and the end.


Alright, that looks pretty nice. I know that the there is a lot of red, but that is simply the "min/max" showing me the points where things are out the most. We can see that it's all within 1mm tolerance. Good enough.


So lets say for a moment that 2 dimensions are now done. Y and Z


So what's left is the shape of this surface. Here: (all the way through the model)


This is going to be pretty subjective.

I know about these lines in 2 dimensions


So I'll project them onto my surface to help as guides



Another trick here; create an offset plane


And calculate the intersection of the surface and the plane


I've got this set at the mating point between the nose and the monocoque


But I think this should be much more "convex" than it is now


So I no longer want these CV evenly spaced in the z direction


Something more like that


Makes a "rounder" curve here


Which makes more of my projections fit


Biggest issue is going to be here


At this point I'm going to introduce two more control points in the u direction



And really go extreme messing with the control points

I think that's pretty much going to do it.


All my guide lines fit up pretty much perfectly


So why go through all this work?

Extrapolate the side


Go through and edit all the bottom points to be z=0


Something like that


Extrapolate the top of the nose


Then the side of the nose


Around the cockpit


Run a connection checker analysis


It's all perfectly G3. Meaning I have all these great surfaces I can use to build the next features