Claims
- 1. Scanning apparatus for scanning an object having a surface to generate a three-dimensional computer model thereof, comprising:
a scanner for movement by an operator to scan the object to capture data from a plurality of points on the surface of the object by irradiating the object and detecting radiation reflected from the object surface as the scanner is moved to different positions; a position detector for determining the position of the scanner; a modeler for processing data from the scanner and the position detector to generate the three-dimensional computer model of the object; and a display processor for processing data from the scanner and the position detector to generate in substantially real-time rendered polygon image data representing an evolving representation of the object for display to the operator on a display as the object is scanned by the operator; wherein the display processor is operable to:
process the data from the scanner and the position detector to generate a plurality of polygon meshes, each respective mesh containing points in three-dimensional space representing points on the surface of the object; align the polygon meshes in dependence upon a plurality of points in different respective meshes; and render the aligned polygon meshes to generate the rendered polygon image data.
- 2. Apparatus according to claim 1, wherein the display processor is operable to perform data reduction to produce reduced data and to generate the rendered polygon image data using the reduced data.
- 3. Apparatus according to claim 1, wherein the scanner has a position and an orientation, and wherein the display processor is operable to generate the rendered polygon image data to produce the representation from a viewpoint determined by the position and orientation of the scanner.
- 4. Apparatus according to claim 1, wherein the modeler is operable to generate the model as a plurality of polygons organized in one or more meshes.
- 5. Apparatus according to claim 4, wherein the modeler is operable to generate the model by grouping the data into data sets in dependence upon scanning orientation, to filter the data sets to produce filtered data sets, to derive a plurality of polygon meshes using the filtered data sets, and to integrate the meshes.
- 6. Apparatus according to claim 1, wherein the modeler is operable to generate the model as one or more surface patches.
- 7. Apparatus according to claim 1, further comprising a controller for generating control menus for display on the display, and for controlling the apparatus in response to operator selections from displayed menus, wherein the apparatus is operable to allow navigation of the menus by movement of the scanner by the operator.
- 8. Apparatus according to claim 1, wherein the position detector includes a multiply jointed arm for carrying the scanner during use, and a processor for calculating the position of the scanner on the basis of angles between joints in the arm.
- 9. Apparatus according to claim 1, wherein the position detector comprises a remote position sensor.
- 10. Apparatus according to claim 1, wherein the position detector includes a horizontal arm machine for carrying the scanner during use.
- 11. Apparatus according to claim 1, wherein the scanner is operable as a stripe probe.
- 12. Apparatus according to claim 1, wherein the scanner is operable as an area probe.
- 13. Apparatus according to claim 1, further comprising a color detector for detecting colors of the surface of the object, and wherein the display processor is operable to process data from the color detector and to generate the rendered polygon image data with color textures.
- 14. Apparatus according to claim 1, further comprising a display for displaying the evolving representation of the object to the operator as the object is scanned.
- 15. Processing apparatus, comprising a real-time image data generator operable to receive and process signals detected by a scanner as it is moved by an operator to different positions representing radiation reflected from a plurality of points on an object surface and signals conveying the position of the scanner, to generate in substantially real-time rendered polygon image data representing an evolving representation of the object for display to the operator of the scanner, wherein the real-time image data generator comprises:
a polygon mesh generator operable to process the signals from the scanner and the signals conveying the position of the scanner to generate a plurality of polygon meshes, each respective mesh containing points in three-dimensional space representing points on the surface of the object; a polygon mesh aligner operable to align the polygon meshes in dependence upon a plurality of points in different respective meshes; and a renderer operable to render the aligned polygon meshes to generate the rendered polygon image data.
- 16. Processing apparatus according to claim 15, operable to perform data reduction on the signals to produce reduced data and to generate the rendered polygon image data using the reduced data.
- 17. Processing apparatus according to claim 15, wherein the processor is further operable to process the signals to generate a three-dimensional computer model of the object.
- 18. Processing apparatus according to claim 17, wherein the processor is operable to generate the model as a plurality of polygons organized in one or more meshes.
- 19. Processing apparatus according to claim 18, wherein the processor is operable to generate the model by processing the signals to form data sets in dependence upon scanning direction, to filter the data sets to produce filtered data sets, to derive a plurality of polygon meshes using the filtered data sets, and to integrate the meshes.
- 20. Processing apparatus according to claim 17, wherein the processor is operable to generate the model as one or more surface patches.
- 21. Processing apparatus according to claim 15, wherein the processor is further operable to process data relating to the object surface color to generate the rendered polygon image data with color textures.
- 22. A method of scanning an object having a surface to generate a three-dimensional computer model thereof, comprising:
an operator moving a scanner over the object surface to capture data from a plurality of points on the surface by irradiating the object and detecting radiation reflected from the surface as the scanner is moved to different positions; generating signals conveying the position of the scanner; processing data from the scanner and the signals conveying the position of the scanner to generate the three-dimensional computer model of the object; processing data from the scanner and the signals conveying the position of the scanner to generate in substantially real-time rendered polygon image data representing an evolving representation of the object; and displaying the evolving representation of the object to the operator as the object is scanned; wherein the rendered polygon image data is generated in substantially real-time by:
processing the data from the scanner and the signals conveying the position of the scanner to generate a plurality of polygon meshes, each respective mesh containing points in three-dimensional space representing points on the surface of the object; aligning the polygon meshes in dependence upon a plurality of points in different respective meshes; and rendering the aligned polygon meshes to generate the rendered polygon image data.
- 23. A method according to claim 22, wherein data reduction is performed to produce reduced data and the rendered polygon image data is generated using the reduced data.
- 24. A method according to claim 22, wherein the scanner has a position and an orientation, and the rendered polygon image data is generated to produce the representation from a viewpoint determined by the position and orientation of the scanner.
- 25. A method according to claim 22, wherein the model is generated as a plurality of polygons organized in one or more meshes.
- 26. A method according to claim 25, wherein the model is generated by grouping the data into data sets in dependence upon scanning orientation, filtering the data sets to produce filtered data sets, deriving a plurality of polygon meshes using the filtered data sets, and integrating the meshes.
- 27. A method according to claim 22, wherein the model is generated as one or more surface patches.
- 28. A method according to claim 22, further comprising the steps of generating control menus, displaying the control menus on the display, and controlling the apparatus in response to operator selections from displayed menus, wherein the menus are navigated by movement of the scanner by the operator.
- 29. A method according to claim 22, wherein the scanner is mounted on a multiply jointed arm and the signals conveying the position of the scanner are generated on the basis of angles between joints in the arm.
- 30. A method according to claim 22, wherein the signals conveying the position of the scanner are generated on the basis of remote position sensing of the scanner.
- 31. A method according to claim 22, wherein the signals conveying the position of the scanner are generated from a horizontal arm machine, on which the scanner is mounted.
- 32. A method according to claim 22, wherein the scanner irradiates the object surface with a stripe.
- 33. A method according to claim 22, wherein the scanner irradiates the object surface with an area.
- 34. A method according to claim 22, further comprising the step of detecting the object surface color, and wherein the rendered polygon image data is generated with color textures.
- 35. A method according to claim 22, further comprising the step of generating a signal conveying data defining the model.
- 36. A method according to claim 35, further comprising the step of recording the signal.
- 37. A method according to claim 35, further comprising the step of using the signal to display an image of the object.
- 38. A processing method, comprising processing signals representing radiation reflected from a plurality of points on an object surface and detected by a scanner as it is moved by an operator to different positions and signals conveying the position of the scanner, to generate in substantially real-time rendered polygon image data representing an evolving representation of the object for display to the operator of the scanner; wherein the rendered polygon image data is generated in substantially real-time by:
processing the data from the scanner and the signals conveying the position of the scanner to generate a plurality of polygon meshes, each respective mesh containing points in three-dimensional space representing points on the surface of the object; aligning the polygon meshes in dependence upon a plurality of points in different respective meshes; and rendering the aligned polygon meshes to generate the rendered polygon image data.
- 39. A method according to claim 38, wherein data reduction is performed to produce reduced data and the rendered polygon image data is generated using the reduced data.
- 40. A method according to claim 38, further comprising the step of processing the signals to generate a three-dimensional computer model of the object.
- 41. A method according to claim 40, wherein the model is generated as a plurality of polygons organized in one or more meshes.
- 42. A method according to claim 41, wherein the model is generated by processing the signals to form data sets in dependence upon scanning direction, filtering the data sets to produce filtered data sets, deriving a plurality of polygon meshes using the filtered data sets, and integrating the meshes.
- 43. A method according to claim 40, wherein the model is generated as one or more surface patches.
- 44. A method according to claim 38, further comprising the step of processing signals defining the object surface color, and wherein the rendered polygon image data is generated with color textures.
- 45. Scanning apparatus for scanning an object having a surface, comprising:
a scanner for movement by an operator to scan the object to capture data from a plurality of points on the surface of the object by irradiating the object and detecting radiation reflected from the object surface as the scanner is moved to different positions; a position detector for determining the position of the scanner; and a display processor for processing data from the scanner and the position detector to generate in substantially real-time rendered polygon image data representing an evolving representation of the object for display to the operator on a display as the object is scanned by the operator; wherein the display processor is operable to:
process the data from the scanner and the position detector to generate a plurality of polygon meshes, each respective mesh containing points in three-dimensional space representing points on the surface of the object; align the polygon meshes in dependence upon a plurality of points in different respective meshes; and render the aligned polygon meshes to generate the rendered polygon image data.
- 46. Apparatus according to claim 45, wherein the display processor is operable to align the polygon meshes in dependence upon the positions of closest points in different respective meshes.
- 47. A method of scanning an object having a surface, comprising:
an operator guiding a scanner over the object surface to capture data from a plurality of points on the surface by irradiating the object and detecting radiation reflected from the surface as the scanner is moved to different positions; generating signals conveying the position of the scanner; processing data from the scanner and the signals conveying the position of the scanner to generate in substantially real-time rendered polygon image data representing an evolving representation of the object; and displaying the evolving representation of the object to the operator as the object is scanned; wherein the rendered polygon image data is generated in substantially real-time by:
processing the data from the scanner and the signals conveying the position of the scanner to generate a plurality of polygon meshes, each respective mesh containing points in three-dimensional space representing points on the surface of the object; aligning the polygon meshes in dependence upon a plurality of points in different respective meshes; and rendering the aligned polygon meshes to generate the rendered polygon image data.
- 48. A method according to claim 47, wherein the polygon meshes are aligned in dependence upon the positions of closest points in different respective meshes.
- 49. A computer-readable medium having computer executable instructions which, when executed, cause a programmable processing apparatus to perform the processing operations of:
(i) processing signals representing radiation reflected from a plurality of points on an object surface and detected by a scanner as it is moved by an operator to different positions and processing signals conveying the position of the scanner to generate a plurality of polygon meshes, each respective mesh containing points in the three-dimensional space representing points on the surface of the object; (ii) aligning the polygon meshes in dependence upon a plurality of points in different respective meshes; and (iii) rendering the aligned polygon meshes so as to generate in substantially real-time rendered polygon image data representing an evolving representation of the object for display to the operator of the scanner.
- 50. The computer-readable medium of claim 49, wherein the computer executable instructions are arranged to cause the programmable processing apparatus to perform the step of performing data reduction to produce reduced data and to generate the rendered polygon image data using the reduced data.
- 51. The computer-readable medium of claim 49, wherein the computer executable instructions are arranged to cause the programmable processing apparatus to perform the step of processing the signals to generate a three-dimensional computer model of the object.
- 52. The computer-readable medium of claim 51, wherein the computer executable instructions are arranged to cause the programmable processing apparatus to generate the three-dimensional computer model as a plurality of polygons organized in one or more meshes.
- 53. The computer-readable medium of claim 52, wherein the computer executable instructions are arranged to cause the programmable processing apparatus to generate the three-dimensional computer model by processing the signals to form data sets in dependence upon scanning direction, filtering the data sets to produce filtered data sets, deriving a plurality of polygon meshes using the filtered data sets, and integrating the meshes.
- 54. The computer-readable medium of claim 51, wherein the computer executable instructions are arranged to cause the programmable processing apparatus to generate the three-dimensional computer model as one or more surface patches.
- 55. The computer-readable medium of claim 49, wherein the computer executable instructions are arranged to cause the programmable processing apparatus to perform the step of processing signals defining the object surface color, and generating the rendered polygon image data with color textures.
- 56. The computer-readable medium of claim 49, wherein the computer executable instructions are arranged to cause the programmable processing apparatus to perform the processing to align the polygon meshes by aligning the meshes in dependence upon the positions of closest points in different respective meshes.
- 57. Apparatus for scanning an object having a surface to produce data defining a three-dimensional computer model thereof and texture data for rendering onto the computer model, the apparatus comprising:
(a) a scanner for movement by an operator which comprises:
(i) a laser arranged to emit laser light onto the object surface; (ii) a detector to detect laser light reflected from the object surface; (iii) a light source arranged to emit illumination light onto the object surface; and (iv) a detector to detect illumination light reflected from the object surface; wherein:
(i) the light source is arranged to substantially surround the detector which detects the illumination light; and (ii) the laser, the detector which detects the laser light, the light source and the detector which detects the illumination light are provided in a single housing which can be guided by the operator to scan the object; (b) a position detector for determining the position of the scanner; (c) a processor for processing signals from the detector which detects laser light and the position detector to produce data defining the three-dimensional computer model; and (d) a processor for processing signals from the detector that detects the illumination light to produce the texture data.
- 58. A scanning apparatus for movement by an operator to scan an object having a surface to produce data for use in generating a three-dimensional computer model thereof, comprising:
a laser arranged to emit laser light onto the object surface; a detector to detect laser light reflected from the object surface; a light source arranged to emit illumination light onto the object surface; and a detector to detect illumination light reflected from the object surface; wherein:
the light source is arranged to substantially surround the detector which detects the illumination light; and the laser, the detector which detects the laser light, the light source and the detector which detects the illumination light are provided in a single housing which can be guided by the operator to scan the object.
- 59. Apparatus according to claim 58, wherein the light source comprises a plurality of separate lights arranged around the detector that detects the illumination light.
- 60. Apparatus according to claim 58, wherein the detector that detects the laser light and the detector that detects the illumination light are provided as a single detector which detects both the laser light and the illumination light.
- 61. Apparatus according to claim 60, wherein the single detector comprises an array of sensing elements.
- 62. Apparatus according to claim 61, wherein the single detector comprises a color camera.
- 63. Scanning apparatus for scanning an object to generate a three-dimensional computer model thereof, comprising:
a scanner mounted on a multiply-jointed arm for movement by an operator to scan the object to capture data from a plurality of points on the surface of the object, the scanner comprising:
(a) a light source operable to emit light onto the object surface; and (b) a light detector operable to detect light reflected from the object surface; (c) a position calculator for calculating the position of the multiply-joined arm, and outputting position data defining the position; and (d) a model generator for receiving reflected light data output by the light detector and associated position data output from the position calculator, and for processing the data to generate a three-dimensional computer model of the object, wherein the model generator comprises:
(i) a polygon mesh generator operable to process the reflected light data and the associated position data to generate a plurality of polygon meshes, each respective mesh containing points in three-dimensional space representing points on the surface of the object; (ii) a polygon mesh aligner operable to align the polygon meshes in dependence upon the positions of closest points in different respective meshes; and (iii) a polygon mesh integrator operable to combine the aligned polygon meshes to generate the three-dimensional computer model.
- 64. Processing apparatus operable to receive and process signals detected by a scanner as it is moved by a user to different positions representing radiation reflected from a plurality of points on an object surface and signals conveying the position of the scanner, the apparatus comprising:
a polygon mesh generator operable to process the signals received from the scanner and the signals conveying the position of the scanner to generate a plurality of polygon meshes, each respective mesh containing points in three-dimensional space representing points on the surface of the object; and a polygon mesh aligner operable to align the polygon meshes in dependence upon the positions of closest points in different respective meshes.
- 65. A method of processing signals detected by a scanner as it is moved by a user to different positions representing radiation reflected from a plurality of points on an object surface and signals conveying the position of the scanner, the method comprising:
processing the signals received from the scanner and the signals conveying the position of the scanner to generate a plurality of polygon meshes, each respective mesh containing points in three-dimensional space representing points on the surface of the object; and aligning the polygon meshes in dependence upon the positions of closest points in different respective meshes.
- 66. A computer-readable medium having computer executable instructions which, when executed, cause a programmable processing apparatus to perform the processing operations of:
processing signals representing radiation reflected from a plurality of points on an object surface and detected by a scanner as it is moved by an operator to different positions and signals conveying the position of the scanner, to generate a plurality of polygon meshes, each respective mesh containing points in three-dimensional space representing points on the surface of the object; and aligning the polygon meshes in dependence upon the positions of closest points in different respective meshes.
- 67. Scanning apparatus for scanning an object to generate three-dimensional data, comprising:
a scanner mounted on a multiply-jointed arm for movement by an operator to scan the object to capture data from a plurality of points on the surface of the object, the scanner comprising:
(a) a light source operable to emit light onto the object surface; and (b) a light detector operable to record light reflected from the object surface at different respective recording times; (c) a position calculator operable to generate position data defining the position of the multiply-jointed arm at different respective times; (d) a data synchronizer operable to determine the timing relationship between the recording times of the light detector and the position data of the multiply-jointed arm generated by the position calculator; and (e) a three-dimensional data generator operable to receive data recorded by the light detector, position data generated by the position calculator and timing relationship data determined by the data synchronizer, and operable to process the data to generate three-dimensional data relating to the object.
- 68. Apparatus according to claim 67, wherein the data synchronizer is operable to determine the timing relationship by determining the time difference between a recording time of the light detector and a time at which position data is generated by the position calculator, and determining therefrom a position of the multiply-jointed arm when the light was recorded by the light detector.
- 69. Apparatus according to claim 67, wherein the data synchronizer is operable to determine the timing relationship by reading position data generated by the position calculator defining the position of the multiply-jointed arm at a plurality of different times, and calculating therefrom a position of the multiply-jointed arm at a time of light recording by the light detector.
- 70. Apparatus according to claim 69, wherein the data synchronizer is operable to interpolate between different positions of the multiply-jointed arm to calculate a position of the multiply-jointed arm at a time of light recording by the light detector.
- 71. Scanning apparatus for scanning an object to generate three-dimensional data, comprising:
scanning means mounted on a multiply-jointed arm for movement by an operator for scanning the object to capture data from a plurality of points on the surface of the object, the scanning means comprising:
(a) light emitting means for emitting light onto the object surface; and (b) light detecting means for recording light reflected from the object surface at different respective recording times; (c) position calculating means for generating position data defining the position of the multiply-jointed arm at different respective times; (d) data synchronization means for determining the timing relationship between the recording times of the light detector and the position data of the multiply-jointed arm generated by the position calculator; and (e) three-dimensional data generating means for receiving data recorded by the light detecting means, position data generated by the position calculating means and timing relationship data determined by the data synchronization means, and for processing the data to generate three-dimensional data relating to the object.
- 72. A method of scanning an object having a surface to generate three-dimensional data, comprising:
moving a scanner mounted on a multiply-jointed arm to scan the object to capture data from a plurality of points on the surface of the object by lighting the object surface and recording light reflected from the object surface at different respective recording times to generate recorded light data; generating position data defining the position of the multiply-jointed arm at different respective times; determining the timing relationship between the recording times of the recorded light data and the position data of the multiply-jointed arm; and processing the recorded light data and the position data in accordance with the determined timing relationship to generate three-dimensional data relating to the object.
- 73. A method according to claim 72, wherein the timing relationship is determined by determining the time difference between a recording time of light data and a time at which position data is generated, and determining therefrom a position of the multiply-jointed arm when the light was recorded to generate the recorded light data.
- 74. A method according to claim 72, wherein the timing relationship is determined by reading position data defining a plurality of positions of the multiply-jointed arm and calculating therefrom a position of the multiply-jointed arm at a time of light recording.
- 75. A method according to claim 74, wherein the position of the multiply-jointed arm at the time of light recording is calculated by interpolation.
- 76. Scanning apparatus for scanning an object to generate three-dimensional data, comprising:
a scanner mounted on a multiply-jointed arm for movement by an operator to scan the object to capture data from a plurality of points on the surface of the object, the scanner comprising:
(a) a light source operable to emit light onto the object surface; and (b) a light detector operable to record light reflected from the object surface at recording times defined by a timing signal; (c) a position calculator operable to generate position data defining the position of the multiply-jointed arm in response to a position data request signal; (d) a signal generator operable to generate the timing signal for the light detector and to generate the position data request signal for the position calculator so as to cause the light detector to record reflected light and the position calculator to generate position data in a synchronous manner; and (e) a three-dimensional data generator operable to receive data recorded by the light detector and synchronized position data generated by the position calculator, and operable to process the data to generate three-dimensional data relating to the object.
- 77. Apparatus according to claim 76, wherein the signal generator is operable to generate the position data request signal for the position calculator using the timing signal for the light detector.
- 78. Apparatus according to claim 76, wherein the signal generator is operable to generate the position data request signal for the position calculator in dependence upon the recording times of the light detector.
- 79. Scanning apparatus for scanning an object to generate three-dimensional data, comprising:
scanning means mounted on a multiply-jointed arm for movement by an operator for scanning the object to capture data from a plurality of points on the surface of the object, the scanning means comprising:
(a) light emitting means for emitting light onto the object surface; and (b) light detecting means for recording light reflected from the object surface at recording times defined by a timing signal; (c) position calculating means for generating position data defining the position of the multiply-jointed arm in response to a position data request signal; (d) signal generating means for generating the timing signal for the light detecting means and for generating the position data request signal for the position calculating means so as to cause the light detecting means to record reflected light and the position calculating means to generate position data in a synchronous manner; and (e) three-dimensional data generating means for receiving data recorded by the light detecting means and synchronized position data generated by the position calculating means, and for processing the data to generate three-dimensional data relating to the object.
- 80. A method of scanning an object having a surface to generate three-dimensional data, comprising:
moving a scanner mounted on a multiply-jointed arm to scan the object to capture data from a plurality of points on the surface of the object by lighting the object surface and recording light reflected from the object surface at recording times defined by a timing signal to generate recorded light data; generating position data defining the position of the multiply-jointed arm in response to a position data request signal; generating the timing signal to control the reflected light recording and generating the position data request signal to control the generation of the position data so as to cause the reflected light to be recorded and the position data to be generated in a synchronous manner; and processing the recorded light data and synchronized position data to generate three-dimensional data relating to the object.
- 81. A method according to claim 80, wherein the position data request signal is generated in dependence upon the timing signal for the light detector.
- 82. A method according to claim 80, wherein the position data request signal is generated in dependence upon the recording times of the reflected light.
Priority Claims (1)
Number |
Date |
Country |
Kind |
9515311.0 |
Jul 1995 |
GB |
|
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application is a continuation of application Ser. No. 09/000,215, filed May 26, 1998, priority from the filing date of which is hereby claimed under 35 U.S.C. § 120, and which is incorporated herein by reference. Said parent application is the National Stage of International application No. PCT/GB96/01868, filed Jul. 25, 1996, which designates the United States, the benefit of the filing date of which is hereby claimed under 35 U.S.C. § 371.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09000215 |
May 1998 |
US |
Child |
10601043 |
Jun 2003 |
US |