------------------------------------------------------------------------- *PROPOSED* Input format for hidden line removal stuff, 19 Jan 1988 *** Do not implement any code using this standard yet, *** *** or there will be a strong updraught in your urinal *** Coordinate system: y All coordinates are given as an X Y Z triple; all coordinates lie in the range -1.0 to +1.0. A z | 7 Is is reasonable to ask that all points lie within a distance | / of 1.0 from (0.0 0.0 0.0), so that I can do rotation of the | / image without the corners going off the edge of the paper? |/ +-----> x Input will be readable (?) ASCII lines I suggest we have the following input lines to my program: # Aerial sensitivity diagram, height = 0.5, S = 0.125, phase shift = 150.0 Any line beginning with # is a comment to be ignored L x1 y1 z1 x2 y2 z2 line to be clipped, from (x1,y1,z1) to (x2,y2,y3) t x1 y1 z1 x2 y2 z2 x3 y3 z3 obscuring triangle, without lines along its edges T x1 y1 z1 x2 y2 z2 x3 y3 z3 obscuring triangle, with implied lines along its edges. Is this really very useful? Most objects are composed of abuttng triangles, which would mean that every edge was duplicated. Mind you, if they were exact duplicates (as they would be), I could probably eliminate them with a simple == test. Is this really useful? P n xc yc zc x1 y1 z1 x2 y2 z2 ... xn yn zn Polygonal surface, with n vertices and its centre at (xc,yc,zc). The code will decompose it into triangles by drawing lines to its centre from each vertex, and then adding edges where the polygon folds back on itself. I haven't implemented the code to do this, but I guess it is what Alan needs for his aerial diagrams. p n xc yc zc x1 y1 z1 x2 y2 z2 ... xn yn zn As for P, but without lines drawn along all edges. ------------------------------------------------------------------------- I have this vague idea that lines beginning with a capital letter mean that the object has visible line edges, and ones beginning with lower case are just obscuring objects. I'm not convinced that this is such a great idea, as all I really want is a list of visible lines and a list of obscuring triangles, but I guess that P in some shape or form falls to me to do. What is most natural for you? For the sake of brevity, I expect that capitals would be best, and probably easiest to generate, but in fact, it is a more verbose and wasteful format as far as processing goes. Although it is textually briefer for most applications, there is much duplicated information in it, in that lines between butting polygons would be generated once for each polygon. It involves me in more processing to eliminate duplicate lines. Steve, does it come unnaturally to your code to generate only one mention of each line? I know that it is not too difficult for Alan to do by scanning the graph carefully. Is the distinction between P and p correct? Would anyone want to specify an obscuring polygon without outline, and without the folded edges being drawn in? Comments? There will be an option to the program to do perspective transformation etc on the incoming points. Of course there is nothing to stop you doing the Transformations yourself and then asking my stuff just to do a flat projection.