Patent GB-1535581-A (GB)
Title: Real-time simulation of a paint system as viewed by a moving observer
IPC: G06T15/50
Filed: 1976-03-03
Abstract: 1535581 Dynamic image generator SINGER CO 3 March 1976 [12 March 1975] 08432/76 Heading H4T The invention relates to a digital real-time dynamic image generator of an area from a manoeuvreable viewpoint, in particular a simulation of a night-view of a landing area from a moving aircraft where the image consists mainly of object points in the form of light sources. According to the invention, a computer receives observer position and orientation data and provides initialization data by translating selected initial object points into the observer co-ordinate system. The orientation data, object point data (supplied from a terrain data store) and initialization data are held in given format in a buffer memory. An image processor receives the image-data format for translation and rotation of object point data into the observer co-ordinate system whence the data is forwarded to an image generator for display on a CRT. A flight computer 16 controls motion system 20 of A/C 14 in response to controls 24 and also receives commands from instructor's panel 26 to simulate training situations. The computer 16 feeds position and orientation data to a general-purpose computer 40 which also receives from store 48 terrain data such as landing lights, light-strings, beacons &c. including intensity, colour and size of each light source. The A/C position datum is a vector V p  extending from the A/C to the origin of the earth co-ordinate system which preferably has an X-axis co-incident with the runway axis. An updated V p  is supplied with each display frame. GP computer 40 combines V and the position of certain key light sources (e.g. the first light in a light-string) to provide an initialization vector V i  for processor 42 where a translator stage combines the position data of each other light source (delta data) including the rest of the light string (string data), with the appropriate V i  to provide a light source vector V ls  for each other light source. Rotation stages 62 rotate the V ls  by combining them with A/C altitude data in the form of a 3 X 3 matrix which is different for each viewing axis (three shown). Projection stages 64 transform the channel vectors V c  into two-dimensional display vectors V d . A deflection stage 72 receives the positional portion of the processed image data and an intensity stage 74 receives the colour, intrinsic intensity and size portion of the data. The CRT's 84 are random-deflection, beam-penetration colour tubes. The core buffer of computer 40 contains all the image data for the current frame and also computes time-dependent terrain data such as blinking lights, strobes, cloud and fog effects. Training effects such as hazards may be entered manually from panel 28. When the core buffer is complete, the contents are transferred to a 16 Î 1024 RAM buffer 206, Fig. 2, in controller 46 which outputs the 1024 sixteen-bit words sequentially to processor 42 whilst the core buffer assembles the data of the next frame. Each 16-bit word in the Ram buffer has 3 code bits followed by 13 data bits, the code bits determining the next operation of processor 42. The data bits contain X, Y or Z initialization data, delta data, transfer data, colour and intensity data or the number of lights in a string. Each data word containing a transfer code is followed by a 16-bit data word (no code bits). The nine rotational matrix components are transferred in a block. The specification contains a complete list of code descriptions for bits 15-13 and data conent for bits 12-0 for the data format in RAM buffer 204. A single word of CIF (colour, intensity, flags) is processed to establish the light source characteristics of the initial point object, then delta data is processed point by point, the latter being formatted to minimize delta changes between points; e.g. many lights in a set have a common CIF, a zero delta Y or equal spacing. Delta X data is fed into input register 210 under control of input logic circuit 66 and initialization data into X-MuX register 211 under control of transfer logic circuit 68 following a transfer code from controller 46. A normalization register 216 left-shifts leading zeroes (or ones for negative numbers) in response to control logic 68. The first difference between most- and second-most-significant bit sends a normalization-complete signal to control logic 68. Output buffers 218, 228, 248 operate one at a time to transfer V ls  vectors in turn to rotation stage 62. Appropriately coded data on bus 207 concerning number of lights in a string causes counter 250 to load and then, upon a count pulse from logic 68, to count down to zero through a zero-detect circuit 252. The rotation stage 62 is described in detail (Fig. 3, not shown). The rotated channel vector is given by where [H] = [HÏ] [H#][H#] each component vector being defined by a 3 Î 3 matrix. A projection and clipping stage 64 is also described in detail (Fig. 4, not shown). This is essentially a circuit for generating X c /Z c  and Y c /Z c  using the binary division nonrestoring technique, and a re-normalization stage for Z c . In response to control logic, CIF data and texture data are multiplexed with the channel vector data. The field of view may be limited to any desired size by a clipping logic circuit which outputs a LOAD signal to a newpoint register which transmits the data to the image generator 44. The specification also describes in detail the input control logic circuit 66 (Fig. 5, not shown) and the deflection generator 72 (Fig, 6, not shown. Detailed flow charts are given for the operation of stages 66, 68, 70.