The software used is not Powerpoint, so you need instructions for operating it. These are very simple, and you can carry them out while reading this page.
Once you have the presentation window up, it is probably a good idea to move the control window off to one side. Unfortunately it is logically the same window as the main window, and so you can't minimize it, but you can shift it out of the way so that only a small piece is visible for dragging it back when you want to use File|Exit to get out.
During a subsequent presentation with a much larger script, I found problems with the software freezing during garbage collection when beginning to run out of memory. It eventually admits that there isn't enough memory and at that point it returns control to you. Use File|Exit to get out, start again and go straight to the frame you were at before it froze. You don't have to reboot, and it isn't a virus, but I recommend running this software with as little else as possible active in the computer to avoid this problem.
(0) Title
(+) subtitle and affiliation
(+) my email address
(*)(2) The presentations before mine at the conference were fairly diverse, but mostly they can be placed in two dimensions. Up and down is level of abstraction, some being entirely about giving the user easy access to function, other about provision of the function. Left and right at the base of the pyramid is about the size of the software implementing the function, so that a major analysis package or a mesh generator would be at the bottom right hand corner, the formulation of a single element at the bottom left.
(+++++++++) These little stars position some of the talks. Some of these estimates are pretty inaccurate, but they should give you the idea that my focus is at the bottom, relating to something pretty big, but only a part of a major package.
This focus is on the geometry of smooth sculptured surfaces, where the NURBS technology has been standard for about twenty years.
(*)(3) Contents List
(*)(4) A table of memory sizes against date. This is going to show some of the computers I have worked with. My thesis is that the growth of memory has been a major driver of the way our systems work, and I wanted to stress just how dramatic this growth of real memories has been.
(+)My first experience was with a Ferranti Pegasus. 56 words of 49 bits of delay line memory.
(+)This is a bit unfair as it was actually programmed as if the main memory was the drum, which gave 5000 or 7000 words. Call it 50Kbytes.
(+)The ICL 1905 which replaced the Pegasi, had 32k 24 bit words - 96Kbytes - of ferrite core memory.
(+)This in turn was upgraded to a 1906A - an enormous machine for its time with over half a megabyte of memory and also virtual memory, paged from disk. This supported all the technical computing for a fairly large aircraft design office.
(+)I switched jobs and worked on a CNC controller. This was a minicomputer with 16K 16bit words (32K bytes) again core memory. Even though semiconductor memory was becoming available, the persistence of core memory made it more suitable for a dedicated application like this. We had to program in assembler to fit the control software in. The symbol is a diamond, not a blob, to indicate that this was a different kind of computing. It only had to support controlling of one machine tool.
(+)When I moved again it was to an administrative job where I didn't get to play with computers, but the microcomputer was just becoming available, so I bought myself a UK101 - a 6800-based micro - the other machine being available at the time was the Z80-based NASCOM. It initially had 4Kbytes (plus a lot of ROM holding the basic interpreter), but I found another 4K in a shop in Manchester and upgraded it. Again a different kind of computing, as it only had to support me playing. And I could afford to buy it.
From this point onwards all memory was semiconductor.
(+)Although my next job was also administrative, I persuaded my employer to buy me a `proper' micro, a Research Machines 380Z, which had floppy discs and ran CP-M and Wordstar. 56Kbytes. As big as the Pegasus, but it was all mine.
(+)At this time the SERC was pushing the provision of interactive computing power to the universities for research purposes and had a scheme called the `Interactive Computing Facility', which placed a dozen or so `multi-user minicomputers' in various universities, with access through the Janet network. I didn't use these myself, but I was on the committee which had to authorise expenditure, and at almost every meeting there was an item on the agenda - we want to put another quarter of a megabyte on this machine or that one.
(+)At yet another job the computer was a DEC VAX750. I think that it had a megabyte, but I'm not sure. It was certainly bigger than the 1906A, which had supported an entire aircraft design office, but the software team of a dozen or so still filled it.
(+)When I set up Numerical Geometry Ltd. I needed a machine to develop my software on and also to access email etc. so I bought what was a big PC in those days; 16Mbytes, upgraded after a year to 56Mbytes.
(+)A couple of years later I found that I couldn't buy extra discs for it because the technology had changed, so I needed to buy another machine. 256Mbytes (and a lot faster).
(+) It is also interesting to notice how the really tiny end of the market was changing. I had had access to laptop computers - including the Sinclair and the Epson - and had a 640Kbyte MS-DOS Toshiba which served me very well, but the keyboard was beginning to wear out, and so I bought the laptop on which this presentation is developed. Nothing less than 64Mbyte seemed to be available.
This ramble has resulted in a graph where the slope is very obvious. Sooner or later the curve is going to flatten out, but I don't expect it to happen soon. The next computer I buy will probably have 4Gbytes. At this point we shall either get a temporary pause because that is the addressing limit of 32bits, or else we get an instantaneous doubling because all the commercial software starts using 8 bytes instead of 4 for all its pointers.
(*)(5) The next step in the argument is to notice that certain applications become possible when a critical amount of real memory is available.
(+) The most obvious example is that until you have 32Kbytes of memory you cannot do word-processing. Until enough people could afford to leave that memory idle while the operator was doing other things word processing did not happen, but once the threshold was passed, the transition from typewriters to word processing happened very quickly indeed.
(+) Another example was that the Windows interface, using a mouse, was not possible until a frame buffer of about a Megabyte was available. Again, the transition from impossible to universal happened very quickly when that threshold was reached.
(*)(6) A quotation.
(+) and its source.
(*)(7) It is now time to look back at history again, but this time at the ways in which manufacturing has represented its shapes. I am fortunate to have seen all of the techniques that I describe, being operated by people who knew them well, and so I can reasonably compare them.
(+)Physical Lofting
(+++) and some of its properties
(*)(8) and an assessment.
(*)(9) Conic Lofting
(++) attributes
(*)(a) assessment
(*)(b) Parametric Surfaces
(+) attributes
(*)(c) comment (+) more comment
(*)(d) Conic Lofting benefits (+) and requirements
(+) and how long the transition took.
In fact in the UK the principal champion was Shelley at Gloster Aircraft, who used these techniques for the first jet fighter towards the end of the war, and his ideas spread widely during the 1950s. By 1966 there was just one loft in the UK still using physical lofting, and I was lucky to be working there. That loft made the transition direct to parametric surfaces easily because it was ready for change, but had resisted the analytical approach which conic lofting required. There may also have been economic effects relevant, in that the price of office space did not become a serious issue there until the 1960's.
(*)(e) Parametric Surface benefits and requirements
(++) and how long the transition took.
(*)(f) We can put these transitions back on to our threshold graph.
(+) Conic lofting at a few tens of bytes
(+) Parametric surfaces at 64K or so.
(+) We are now as far beyond 64K as that was beyond 64bytes. We should not be surprised if new technology exploits the big memories we have nowadays. I believe that subdivision surfaces have enough operational advantages to make the transition which will soon be possible worthwhile.
(*)(g) Another change of tack. At this point I need to explain enough about subdivision surfaces to make the advantages of this new technology evident to you.
Facet surfaces are familiar in animation, where fancy shading can disguise the sharp edges. A facet surface has facets and it has vertices - no other structure - no fancy mathematics.
(+) but you can't keep the mathematicians out of it. They point out that all the facets are really doing is to define the sequence of vertices. (+++) You don't have to believe that the surface really has all those flat bits. The fancy shading of the animators is only giving a better visual representation of what you actually meant.
(+) The vertices tell you where the surface is (++) but you don't have to infer that the surface actually passes through them.
(+) Subdivision surfaces use the same representation as a facet surface, but have a really precise definition of what the (+)(smooth) surface really is that you are representing by them.
(+) In fact we can think of a classical facet surface (that really has flat bits) as a subdivision surface with an overly simple refinement rule.
(*)(h) Example. (+++) The refinement process adds extra vertices at the middles of the facets and keeps the originals too, and the limit surface is just the original facets.
(*)(i) Next example - the Chaikin refinement has refined vertices at the 1/4 and 3/4 points of each edge (+++) and it converges towards a nice smooth curve. This example is a little unfair because it has curvature continuity by symmetry. In general Chaikin is only C1.
(*)(j) Even if a technology becomes possible, it does not necessarily take over. We don't all fly supersonic when crossing the Atlantic although the technology arrived quarter of a century ago and the economics are not as bad as relative prices would imply.
Before predicting that NURBS will wither on the vine in the same way that physical and conic lofting did, we need to identify why anybody should bother with the new technology.
Benefits and requirements (++) expectation of transition.
(*)(k)Evidence of transition. Since presenting this material I have learnt that the car manufacturers don't trace reflection lines across parametric surfaces any more; they convert to fine facets and view the shapes in an immersive display `cave'.
(+) These applications are happening early because they can either use very big dedicated machines, or else can work at a slightly coarser level than precision engineering would require.
(*)(l) The other side of the coin. There are still problems.
(++++++) NURBS was a single well-defined idea, big enough to be a superset of what people needed to do, but clean enough to have a single implementation. We have three front-runner methods which are not obviously compatible in any way with each other, and a number of research methods which might catch up. The other columns in this table show the kind of mesh and the strengths which the various methods have.
(*)(m) Sensibly used NURBS are relatively compact things, only needing a few Kbytes of data to transfer fairly complex objects. The transfer formats we currently have for subdivision are verbose, as well as potentially carrying more data. (++) In fact since making this presentation I have learned that some of the compression work has been accepted into MPEG4 and so the situation is not as bad as I thought.
(*)(n)Yes, there are still technical problems.
(+) Two main ones.
(+) status
(+) implications.
In fact I hope that the transition doesn't happen until we have managed to sort out the artifacts problem (Give me a year or two) because the present technology will encourage people to define denser models than they need, and then the culture will freeze round relatively dense definitions, which is not going to be necessary at all.
(*)(o) Conclusions(+++).
This looks like the end, but there is also a short sequence on why I regard 500Mbyte of real memory in the engineer's workstation as the threshold.
(*)(p)(+++)The error between the limit surface and the facets depends on the local radius , r and on the facet size h .
(+)The number, n , of facets in the representation depends on the model size, d , and on the facet size.
(+)If we make the realistic assumption that the average radius over the model is not very different from the model size, we find that the relative error is proportional to 1/n.
(*)(q) Everybody knows that for engineering you need 10^-6 precision, so you need a million facets.
(+) From the size of data we find that we need a certain number of bytes per facet(+) which with adequate indexing data means that a surface needs 100Mbytes.
(+) and further armwaving gives a figure of 500Mbyte.
Note, however, that this memory is only what you need for fast interaction. The definition of a subdivision surface can be a coarse representation. Indeed, you can get away with fewer original control points than NURBS, because you don't have to fight so hard at places of irregular topology.
That really is the end.
To close down just go back to the control window and select File|Exit.