polygonal data input in a first step is subjected to evaluation in which all edges of the polygon data are ranked in importance on the basis of a volume change caused by removal of that edge. The edges are sorted on the basis of an evaluation value in a third step. In a fourth step, the edge of a small evaluation value is determined to be an edge of a small influence on the general shape and is removed. In a fifth step, a new vertex is determined from the loss of vertex by the edge removal. In a sixth step, a movement of texture coordinates and a removal of the texture after the edge removal are executed on the basis of the area change of the texture due to the edge removal by a predetermined evaluating function. In a seventh step, by repeating the processes in the second to sixth steps, a polygon model approximated to a desired layer can be obtained.
|
105. A method of approximating an image by decreasing an amount of image data used to create the image, wherein said image data defines a polygonal framework, said framework being composed of line segments drawn between vertices, said method comprising:
assigning an importance value to each line segment of said framework;
removing from said framework that line segment having a lowest importance value; and
reconfiguring said framework to account for said removal of said line segment having said lowest importance value,
wherein said framework is drawn on a display apparatus.
1. A method of approximating an image by decreasing an amount of image data used to create the image, wherein said image data defines a polygonal framework, said framework being composed of line segments drawn between vertices, said method comprising:
evaluating a degree of importance of each line segment of said framework;
removing at least one unnecessary line segment from said framework which is identified based on said evaluation of said degree of importance of each line segment; and
determining a position of a vertex after said unnecessary line segment is removed,
wherein said framework is drawn on a display apparatus.
244. A medium for storing image data for approximating an image by decreasing an amount of image data used to create the image, wherein said image data defines a polygonal framework, said framework being composed of line segments drawn between vertices, said medium comprising:
a memory unit for storing said image data, wherein said image data stored onto said memory unit are generated by a processor that:
assigning assigns an importance value to each line segment of said framework;
removing removes from said framework that line segment having a lowest importance value; and
reconfiguring reconfigures said framework to account for said removal of said line segment having said lowest importance value.
156. An apparatus for approximating an image by decreasing an amount of image data used to create the image, wherein said image data defines a polygonal framework, said framework being composed of line segments drawn between vertices, said apparatus comprising:
a memory unit configured to store said image data; and
a processing apparatus for: configured to:
evaluating evaluate a degree of importance of each line segment of said framework;
removing remove at least one unnecessary line segment from said framework which is identified based on said evaluation of said degree of importance of each line segment; and
determining determine a position of a vertex after said unnecessary line segment is removed.
77. An apparatus for use with a display device that approximates an image by decreasing an amount of image data used to create the image, wherein said image data defines a polygonal framework, said framework being composed of line segments drawn between vertices, said device apparatus comprising:
a memory unit for storing said image data; and
a processor connected to said memory unit, wherein said processor is programmed to:
(a) assign an importance value to each line segment of said framework;
(b) remove from said framework that line segment having a lowest importance value; and
(c) reconfigure said framework to account for said removal of said line segment having said lowest importance value.
216. A medium for storing image data for approximating an image by decreasing an amount of said image data used to create the image, wherein said image data defines a polygonal framework, said framework being composed of line segments drawn between vertices, said medium comprising:
a memory unit for storing configured to store said image data, wherein said image data stored onto said memory unit are generated by a processor that:
evaluating evaluates a degree of importance of each line segment of said framework;
removing removes at least one unnecessary line segment from said framework which is identified based on said evaluation of said degree of importance of each line segment; and
determining determines a position of a vertex after said unnecessary line segment is removed.
42. A method of approximating an image by decreasing an amount of image data used to create the image, wherein said image data defines a polygonal framework formed of polygons to which textures or pictures are applied, said polygons of said framework being composed of line segments connected between vertices, said method comprising:
evaluating a degree of importance of each line segment of said framework;
removing an unnecessary line segment identified by said step of evaluating a degree of importance of each line segment;
reconfiguring said framework to account for said removal of said line segment; and
reconfiguring said textures or pictures applied to said framework to account for said removal of said line segment,
wherein said framework is drawn on a display apparatus.
184. An apparatus for approximating an image by decreasing an amount of image data used to create the image, wherein said image data defines a polygonal framework formed of polygons to which textures or pictures are applied, said polygons of said framework being composed of line segments connected between vertices, said apparatus comprising:
a memory unit configured to store said image data; and
a processing apparatus for: configured to:
evaluating evaluate a degree of importance of each line segment of said framework;
removing remove an unnecessary line segment identified by said step of evaluating a degree of importance of each line segment;
reconfiguring reconfigure said framework to account for said removal of said line segment; and
reconfiguring reconfigure said textures or pictures applied to said framework to account for said removal of said line segment.
272. A medium for storing image data for approximating an image by decreasing an amount of image data used to create the image, wherein said image data defines a polygonal framework formed of polygons to which textures or pictures are applied, said polygons of said framework being composed of line segments connected between vertices, said medium comprising:
a memory unit for storing said image data, wherein said image data stored onto said memory unit are generated by a processor for:
evaluating a degree of importance of each line segment of said framework;
removing an unnecessary line segment identified by said evaluating a degree of importance of each line segment;
reconfiguring said framework to account for said removal of said line segment; and
reconfiguring said textures or pictures applied to said framework to account for said removal of said line segment.
0. 305. A method of approximating an image by decreasing an amount of image data used to create the image, wherein said image data defines a polygonal framework, said framework being composed of line segments drawn between vertices, said method comprising the steps of:
evaluating line segments of said framework;
identifying at least one line segment from said framework which is identified based on said evaluation of the line segments;
integrating vertices connected by the identified line segment to an integrated vertex, a position of the integrated vertex being determined based on at least location information of one of the vertices integrated to the integrated vertex; and
assigning a weight which is considered in the evaluating step or the identifying step to reflect a user's intention in the approximated image,
wherein said framework is drawn on a display apparatus.
0. 336. An apparatus of approximating an image by decreasing an amount of image data used to create the image, wherein said image data defines a polygonal framework, said framework being composed of line segments drawn between vertices, said apparatus comprising a processor and storing instructions which when executed by the processor executes the steps of: evaluating line segments of said framework;
identifying at least one line segment from said framework which is identified based on said evaluation of line segment;
integrating vertices connected by the identified line segment to an integrated vertex, wherein a position of the integrated vertex is determined based on at least location information of one of the vertices integrated to the integrated vertex; and
assigning a weight which is considered in the evaluating step or the identifying step to reflect a user's intention in the approximated image.
0. 307. A method for creating data which comprises approximated image data formed by decreasing an amount of original image data, wherein said approximated and original image data define a polygonal framework, said framework being composed of line segments drawn between vertices, said method comprising the steps of:
causing a processor to form said approximated image data from said original image data,
wherein the processor forms said approximated image data by executing the steps of:
evaluating line segments of said framework;
identifying at least one line segment from said framework which is identified based on said evaluation of the line segments;
integrating vertices connected by the identified line segment to an integrated vertex, a position of the integrated vertex being determined based on at least location information of one of the vertices integrated to the integrated vertex; and
storing said approximated image data.
0. 337. An apparatus for creating data which comprises approximated image data formed by decreasing an amount of original image data, wherein said approximated and original image data define a polygonal framework, said framework being composed of line segments drawn between vertices, said apparatus comprising a processor and storing instructions which when executed by the processor executes the steps of:
forming said approximated image data from said original image data, wherein the forming step comprises:
evaluating each line segment of said framework;
identifying at least one line segment from said framework which is identified based on said evaluation of each line segment; and
integrating vertices connected by the identified line segment to an integrated vertex, wherein a position of the integrated vertex is determined based on at least location information of one of the vertices integrated to the integrated vertex; and
storing said approximated image data.
0. 311. A method of forming finer model from image data created by an approximated image data creation, wherein:
(a) the image data created by said approximated image data creation comprising approximated image data formed by decreasing an amount of original image data, wherein said original image data defines a polygonal framework, said framework being composed of line segments drawn between vertices; and
(b) said approximated image data creation comprising:
(b-1) forming said approximated image data from said original image data, the step (b-1) being executed by a processor, wherein the step (b-1) of forming said approximated image data comprises:
(b-1-1) evaluating line segments of said framework;
(b-1-2) identifying at least one line segment from said framework which is identified based on said evaluation of each line segments;
(b-1-3) integrating vertices connected by the identified at least one line segment to an integrated vertex, a position of the integrated vertex being determined based on at least location information of one of the vertices integrated to the integrated vertex;
(b-2) storing said approximated image data; and
(b-3) storing additional data relating integration of said vertices to said integrated vertex for use in forming a model finer than said approximated image data;
said method comprising the steps of:
(c) forming the finer model by using said approximated image data and said additional data, the step (c) of forming the finer model comprises:
(c-1) creating at least two vertices comprised in said finer model from said integrated vertex by using data included in said additional data.
0. 338. An apparatus of forming finer model from image data created by an approximated image data creation, wherein:
(a) the image data created by said approximated image data creation comprising approximated image data formed by decreasing an amount of original image data, wherein said original image data defines a polygonal framework, said framework being composed of line segments drawn between vertices; and
(b) said approximated image data creation comprising:
(b-1) forming said approximated image data from said original image data, wherein the step (b-1) of forming said approximated image data comprises:
(b-1-1) evaluating line segments of said framework;
(b-1-2) identifying at least one line segment from said framework which is identified based on said evaluation of line segments;
(b-1-3) integrating vertices connected by the identified at least one line segment to an integrated vertex, wherein a position of the integrated vertex is determined based on at least location information of one of the vertices integrated to the integrated vertex;
(b-2) storing said approximated image data; and
(b-3) storing additional data relating integration of said vertices to said integrated vertex for use in forming a model finer than said approximated image data;
said apparatus comprising a processor, and instructions stored within memory of said apparatus which when executed perform the steps of:
(c) forming the finer model by using said approximated image data and said additional data, the step (c) of forming the finer model comprises:
(c-1) creating at least two vertices comprised in said finer model from said integrated vertex by using data included in said additional data.
3. The method of
4. The method of
5. The method of
6. The method of
wherein said evaluating a degree of importance of each line segment further comprises calculating an importance of a particular line segment by (N·E)×A,
wherein E is said vector representing a particular line segment, A is said area of a polygon sided by said particular line segment, and N is said normal vector.
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
13. The method of
14. The method of
15. The method of
16. The method of
17. The method of
18. The method of
19. The method of
20. The method of
21. The method of
22. The method of
23. The method of
24. The method of
25. The method of
26. The method of
27. The method of
28. The method of
29. The method of
30. The method of
31. The method of
32. The method of
33. The method of
34. The method of
35. The method of
36. The method of
37. The method of
38. The method of
39. The method of
40. The method of
41. The method of
43. The method of
44. The method of
said reconfiguring of said framework comprises replacing two vertices of said framework, between which said unnecessary, removed line segment had been connected, with a single new vertex; and
said reconfiguring the textures or pictures applied to the framework comprises determining a new position on said textures or pictures corresponding to a position of said single new vertex in said framework.
45. The method of
46. The method of
47. The method of
48. The method of
49. The method of
51. The method of
52. The method of
53. The method of
54. The method of
wherein said evaluating a degree of importance of each line segment further comprises calculating an importance of a particular line segment by (N·E)×A,
wherein E is said vector representing a particular line segment, A is said area of a polygon sided by said particular line segment, and N is said normal vector.
55. The method of
56. The method of
57. The method of
58. The method of
59. The method of
60. The method of
61. The method of
62. The method of
63. The method of
64. The method of
65. The method of
66. The method of
67. The method of
68. The method of
69. The method of
70. The method of
71. The method of
72. The method of
73. The method of
74. The method of
75. The method of
76. The apparatus method of
78. The apparatus of
79. The apparatus of
80. The apparatus of
81. The apparatus of
82. The apparatus of
83. The apparatus of
84. The apparatus of
86. The apparatus of
87. The apparatus of
88. The apparatus of
89. The apparatus of
wherein said processor assigns an importance value to each line segment by calculating an importance of a particular line segment by (N·E)×A,
wherein E is said vector representing a particular line segment, A is said area of a polygon sided by said particular line segment, and N is said normal vector.
90. The apparatus of
91. The apparatus of
92. The apparatus of
93. The apparatus of
94. The apparatus of
95. The apparatus of
96. The apparatus of
97. The apparatus of
98. The apparatus of
99. The apparatus of
100. The apparatus of
101. The apparatus of
102. The apparatus of
103. The apparatus of
104. The apparatus of
106. The method of
108. The method of
109. The method of
110. The method of
111. The method of
wherein said assigning an importance value to each line segment further comprises calculating an importance of a particular line segment by (N·E)×A,
wherein E is said vector representing a particular line segment, A is said area of a polygon sided by said particular line segment, and N is said normal vector.
112. The method of
113. The method of
114. The method of
115. The method of
116. The method of
117. The method of
118. The method of
119. The method of
120. The method of
121. The method of
122. The method of
123. The method of
124. The method of
125. The method of
126. The method of
127. The method of
128. The method of
129. The method of
130. The method of
131. The method of
132. The method of
133. The method of
134. The method of
135. The method of
136. The method of
137. The method of
138. The method of
139. The method of
140. The method of
141. The method of
142. The method of
143. The method of
144. The method of
145. The method of
146. The method of
147. The method of
148. The method of
149. The method of
150. The method of
151. The method of
152. The method of
153. The method of
154. The method of
155. The method of
said determining of a position of vertex determines amount of shift the vertex which is constructing the unnecessary line segment and not removed on said removing of unnecessary line segment.
157. The apparatus of
158. The apparatus of
159. The apparatus of
160. The apparatus of
161. The apparatus of
wherein said evaluating a degree of importance of each line segment further comprises calculating an importance of a particular line segment by (N·E)×A,
wherein E is said vector representing a particular line segment, A is said area of a polygon sided by said particular line segment, and N is said normal vector.
162. The apparatus of
163. The apparatus of
164. The apparatus of
165. The apparatus of
166. The apparatus of
167. The apparatus of
168. The apparatus of
169. The apparatus of
170. The apparatus of
171. The apparatus of
172. The apparatus of
173. The apparatus of
174. The apparatus of
175. The apparatus of
176. The apparatus of
177. The apparatus of
178. The apparatus of
179. The apparatus of
180. The apparatus of
181. The apparatus of
182. The apparatus of
183. The apparatus of
185. The apparatus of
186. The apparatus of
said reconfiguring of said framework comprises replacing two vertices of said framework, between which said unnecessary, removed line segment had been connected, with a single new vertex; and
said reconfiguring the textures or pictures applied to the framework comprises determining a new position on said textures or pictures corresponding to a position of said single new vertex in said framework.
187. The apparatus of
188. The apparatus of
189. The apparatus of
190. The apparatus of
191. The apparatus of
192. The apparatus of
193. The apparatus of
194. The apparatus of
195. The apparatus of
wherein said evaluating a degree of importance of each line segment further comprises calculating an importance of a particular line segment by (N·E)×A,
wherein E is said vector representing a particular line segment, A is said area of a polygon sided by said particular line segment, and N is said normal vector.
196. The apparatus of
197. The apparatus of
198. The apparatus of
199. The apparatus of
200. The apparatus of
201. The apparatus of
202. The apparatus of
203. The apparatus of
204. The apparatus of
205. The apparatus of
206. The apparatus of
207. The apparatus of
208. The apparatus of
209. The apparatus of
210. The apparatus of
211. The apparatus of
212. The apparatus of
213. The apparatus of
214. The apparatus of
215. The apparatus of
218. The medium of
219. The medium of
220. The medium of
221. The medium of
wherein said evaluating a degree of importance of each line segment further comprises calculating an importance of a particular line segment by (N·E)×A,
wherein E is said vector representing a particular line segment, A is said area of a polygon sided by said particular line segment, and N is said normal vector.
222. The medium of
223. The medium of
224. The medium of
225. The medium of
226. The medium of
227. The medium of
228. The medium of
229. The medium of
230. The medium of
231. The medium of
232. The medium of
233. The medium of
234. The medium of
235. The medium of
236. The medium of
237. The medium of
238. The medium of
239. The medium of
240. The medium of
241. The medium of
242. The medium of
243. The medium of
245. The medium of
247. The medium of
248. The medium of
249. The medium of
250. The medium of
wherein said assigning an importance value to each line segment further comprises calculating an importance of a particular line segment by (N·E)×A,
wherein E is said vector representing a particular line segment, A is said area of a polygon sided by said particular line segment, and N is said normal vector.
251. The medium of
252. The medium of
253. The medium of
254. The medium of
255. The medium of
256. The medium of
257. The medium of
258. The medium of
259. The medium of
260. The medium of
261. The medium of
262. The medium of
263. The medium of
264. The medium of
265. The medium of
266. The medium of
267. The medium of
268. The medium of
269. The medium of
270. The medium of
271. The medium of
273. The medium of
274. The medium of
said reconfiguring of said framework comprises replacing two vertices of said framework, between which said unnecessary, removed line segment had been connected, with a single new vertex; and
said reconfiguring the textures or pictures applied to the framework comprises determining a new position on said textures or pictures corresponding to a position of said single new vertex in said framework.
275. The medium of
277. The medium of
278. The medium of
279. The medium of
281. The medium of
282. The medium of
283. The medium of
284. The medium of
wherein said evaluating a degree of importance of each line segment further comprises calculating an importance of a particular line segment by (N·E)×A,
wherein E is said vector representing a particular line segment, A is said area of a polygon sided by said particular line segment, and N is said normal vector.
285. The medium of
286. The medium of
287. The medium of
288. The medium of
289. The medium of
290. The medium of
291. The medium of
292. The medium of
293. The medium of
294. The medium of
295. The medium of
296. The medium of
297. The medium of
298. The medium of
299. The medium of
300. The medium of
301. The medium of
302. The medium of
303. The medium of
304. The medium of
0. 306. The method of
storing data relating to said integrated vertices; and
using the stored data for forming a model finer than the approximated image.
0. 308. The method of
0. 309. The method of
0. 310. A method of forming a finer model from the data created by the method of
0. 312. A forming method of
said forming step (c) further comprising:
(c-2) allotting a texture to a face created by said creating step (c-1) of said two vertices.
0. 313. A forming method of
said finer model having one or more vertices and two or more faces than does said approximated image data.
0. 314. A forming method of
said polygonal framework being represented using triangle meshes.
0. 315. A forming method of
said identifying step (b-1-2) and said integrating step (b-1-3) are repeated in said approximated image data creation so that said approximated data have a desired resolution.
0. 316. A forming method of
said additional data comprises information of integration relations of said integrated vertex and deleted vertices in said original image data.
0. 317. A forming method of
in said creating step (c-1),
one of said two vertices is created by modifying the position of said integrated vertex based on information comprised in said additional data, and
the other is created by modifying the position of said integrated vertex based on information comprised in said additional data.
0. 318. A forming method of
a plurality of said finer image data can be formed from said approximated image data, wherein
one of the finer image data has resolution which is different from resolution of another of the finer image data.
0. 319. A forming method of
in said forming step (c), the creating step (c-1) for creating of said two vertices comprised in said finer model is repeated in order to be executed on a plurality of integrated vertices of said approximated image data.
0. 320. A forming method of
0. 321. A forming method of
0. 322. A forming method of
0. 323. A forming method of
0. 324. A forming method of
0. 325. A forming method of
(c-2) receiving said approximated image data stored in an external storing device for utilizing the approximated image data in the vertices creating step (c-1), and
(c-3) displaying the formed finer model on a local display.
0. 326. A forming method of
(c-4) receiving said additional data stored in an external storing device for utilizing the additional data in the vertices creating step (c-1), and
(c-5) displaying the formed finer model on a local display.
0. 327. A forming method of
(c-6) receiving said approximated image data and said additional data stored in an external storing device for utilizing the approximated image data and the additional data in the vertices creating step (c-1);
(c-7) displaying the formed finer model on a local display.
0. 328. A forming method of
0. 329. A forming method of
0. 330. A forming method of
0. 331. A forming method of
0. 332. A forming method of
0. 333. A forming method of
(c-2) receiving said approximated image data stored in an external storing device for utilizing the approximated image data in the vertices creating step (c-1); and
(c-3) displaying the formed finer model on a local display.
0. 334. A forming method of
(c-4) receiving said additional data stored in an external storing device for utilizing the additional data in the vertices creating step (c-1); and
(c-5) displaying the formed finer model on a local display.
0. 335. A forming method of
(c-6) receiving said approximated image data and said additional data stored in an external storing device for utilizing the approximated image data and the additional data in the vertices creating step (c-1);
(c-7) displaying the formed finer model on a local display.
|
This application is a continuation of application Ser. No. 08/755,129, filed on Nov. 25, 1996, now U.S. Pat. No. 5,963,668.
1. Field of the Invention
The present invention relates to a method and apparatus for hierarchically approximating shape data with an image, in which the data amount is reduced by reducing the complexity of the shape of a geometric model which is used in generating CG (Computer Graphics), thereby enabling the CG to be drawn at a high rate of speed. The invention also relates to a method and apparatus for hierarchically approximating shape data with an image, which is suitable for use in a game using CG, VR (Virtual Reality), designing, and the like since a shape which was approximated so as not to give a sense of incongruity is changed.
2. Description of the Prior Art
When drawing using a model as part of computer graphics, the same model may be used repeatedly. For example, as shown in
However, when the observer pays no attention to the model because the model is minimized and looks smaller on the picture plane or the model is out of a target point of the picture plane, it is not always necessary to draw by using the model having a high degree of detail. That is, by using a similar model in which a degree of detail is decreased to a certain extent by using a method of reducing the number of vertices of the model, reducing the number of planes of a polygon, or the like, it can appear as if the same model is used.
Such an approximation of the model is useful for the drawing of the CG display as mentioned above. However, if the data amount of the model is simply reduced by approximating the details of the model, the observer feels incongruity when he sees the approximated model. If this sense of incongruity can be suppressed, requests for both of the drawing speed and the drawing quality can be satisfied. For this purpose, it is desirable to reduce the data amount in a manner such that a general characteristic portion of the model is left and the other portions are reduced. Hitherto, such an approximation of the model is often executed by the manual work of a designer, so that much expense and time are necessary for the above work.
A method of obtaining a more realistic image by adhering a two-dimensional image to a plane of a model as a drawing target is generally used. This is called a texture mapping, The image that is adhered in this instance is called a texture. When the approximation of the shape as mentioned above is executed to the model which was subjected to the texture mapping, it is necessary to also pay attention to the texture adhered to the model plane. That is, it is necessary to prevent a deterioration in the appearance of the model due to a deformation of the texture shape at the time of approximation and to prevent the occurrence of a problem such that the amount of work is increased since the texture must be again adhered to the approximated model.
In past studies, according to Francis J. M. Schmitt, Brian A. Barsky, and Wen-Hui Du, “An Adaptive Subdivision Method for Surface-Fitting from Sampled Data”, Computer Graphics, Vol. 20, No. 4, August, 1986, although the shape is approximated by adhering the Bezier patch to a three-dimensional shape, there is a problem in that a general polygon is not a target.
According to Greg Turk, “Re-Tiling Polygonal Surface”, Computer Graphics, Vol. 26, No. 2, July, 1992, a trial of hierarchically approximating a polygon model is executed. There is, however, a problem in that although the algorithm in the above paper can be applied to a round shape, it is not suitable for a square shape and a general shape is not a target. Further, it is not considered to approximate the shape on the basis of characteristic points of the object shape.
Further, according to Hugues Hoppe et al., “Mesh Optimization”, Computer Graphics Proceedings, Annual Conference Series, SIGGRAPH 1993, a model is approximated in a manner such that energy is introduced to an evaluation of the approximated model, and operations for removing the edge, dividing the patch, and swapping the edge are repeated so as to minimize the energy. According to the method of the paper, however, it is necessary to execute a long repetitive calculation until the minimum point of the energy is determined. In addition, a solving method such as a simulated annealing or the like is necessary in a manner similar to other energy minimizing problems so as not to reach a local minimum point. There is no guarantee that the energy minimum point is always visually the best point.
Further, in those papers, no consideration is made up to the texture adhered to the model upon approximation. Consequently, the method of approximating the model according to the methods in the papers has a problem in that double processes are required in which the texture is newly adhered to the approximated model after the approximation.
As mentioned above, the past studies have problems regarding the approximation of a model when a polygon is drawn. That is, the conventional method has problems such that application of the shape approximation is limited, a long calculation time is necessary for approximation, and the approximation in which required characteristic points are considered is not executed. The approximation of figure data to realize a switching of continuous layers, in which the sense of incongruity to be given to the observer at the time of the switching of the approximated model is considered, is not executed.
When the approximation is executed to the geometric model to which the texture is adhered, there is a problem in that a measure to prevent a quality deterioration after the approximation, by keeping the shape of the texture adhered to the model, is not taken. There is also a problem in that a measure to eliminate the necessity to newly adhere the texture after the approximation is not taken. Further, there is a problem that the approximation in which the existence of the texture itself is considered is not executed.
It is, therefore, an object of the invention to provide a method and apparatus for hierarchically approximating figure data with an image in the drawing of CG so that high-speed drawing is performed while maintaining a quality of the drawing.
It is another object of the invention to provide a method and apparatus for hierarchically approximating figure data with an image as if the approximation of a geometric model is performed in consideration of the existence of a texture itself.
According to the invention, in order to solve the above problems, there is provided a hierarchical approximating method of shape data for approximating shape data to data of a desired resolution, comprising the steps of: evaluating an importance of each of the edges which construct the shape data; removing an unnecessary edge on the basis of a result of the edge evaluation; and determining a vertex position after the unnecessary edge was removed.
According to the invention, in order to solve the above problems, there is provided a hierarchical approximating method of shape data with an image for approximating shape data to which image data was adhered to data of a desired resolution, comprising the steps of: determining which edge in the shape data should be removed upon approximation; determining a new vertex position in the shape data after the edge removal performed on the basis of the edge removal determination; and removing an unnecessary vertex in the image data adhered to the shape data in accordance with outputs from the edge removal determining step and the vertex movement determining step and moving a vertex on the image data in accordance with the new vertex position in the shape data.
According to the invention, in order to solve the above problems, there is provided an approximating apparatus for figure data for approximating shape data to that of a desired resolution, comprising: evaluating means for evaluating an importance of each of the edges which construct the shape data; edge removing means for removing an unnecessary edge on the basis of a result of the edge evaluation; and vertex position determining means for determining a vertex position after the unnecessary edge was removed.
According to the invention, in order to solve the above problems, there is provided a hierarchical approximating apparatus for figure data with image data for approximating shape data to which image data is adhered to data of a desired resolution, comprising: edge removal determining means for determining which edge in the shape data is removed upon approximation; vertex movement determining means for determining a new vertex position in the shape data after the edge removal; and image data removal and movement determining means for removing an unnecessary vertex in the image data adhered to the shape data in accordance with outputs from the edge removal determining means and the vertex movement determining means and for moving the vertex on the image data in accordance with the new vertex position in the shape data.
According to the invention as mentioned above, the importance of each of the edges of the shape data is evaluated, the unnecessary edge is removed on the basis of the evaluation, a new vertex after the edge removal is determined, and further, the vertex is moved on the image data in accordance with the new vertex position. Thus, the shape data can be approximated so that the change in shape is little while suppressing the deterioration of the image data adhered to the shape model.
The above and other objects and features of the present invention will become apparent from the following detailed description and the appended claims with reference to the accompanying drawings.
An embodiment of the invention will now be described hereinbelow with reference to the drawings.
As shown in
First, processes in the flowchart shown in
In the first step S1, original polygon data is inputted. The texture is adhered to each plane for the inputted polygon data. The input of the data and the adhesion of the texture are manually performed from the keyboard 1 or by a method whereby data which has been made in another place and stored in a floppy disk or an MO disk is read out by the FDD 2 or MO drive 3. The polygon data can be also inputted through a network such as the internet.
In step S2, each edge of the inputted polygon data is evaluated for performing the edge removal. In the edge evaluation in step S2, each edge of the inputted polygon data is converted into a numerical value by a method, which will be described below, and is set to an evaluation value. In step S3, the evaluation values of the edges obtained in step S2 are sorted and the edge having the minimum evaluation value is selected
Si=|E|×Ai
The equation (1) is constructed by two terms. The first term Vi shows a volume amount which is changed when the edge as an evaluation target is removed. The volume amount here denotes a virtual volume of a shape specified by the shape data of the polygon. The second term Si shows a value obtained by multiplying the planes existing on both sides of the target edge with the length of the target edge. It denotes a change amount of the volume of the plane including only the target edge. Coefficients a and b are multiplied to the two terms. The user can select which one of the first term Vi and the second term Si is preferentially used by properly setting the values of the coefficients.
The first term Vi largely depends on the peripheral shape of the edge as an evaluation target. On the other hand, the second term Si depends on the length of the target edge and the area of planes existing on both sides of the target edge. In the case of a polygon model having a flat shape like a sheet of paper, when the edge e(v1 and v2) is removed, the change amount by the term Si is larger than that by the term Vi. In the polygon model constructed by planes in which all of them have similar shapes and areas, for example, in the model shown in
The value of the equation (1) is calculated with respect to each of the edges constructing the polygon model and the evaluation value for each edge is obtained. In step S3, the calculation values are sorted in accordance with the values and the edge having the minimum evaluation value is selected, thereby obtaining the edge whose contribution to the model shape when the edge is removed is the smallest.
When the importance of the edge is evaluated in step S2, the length of edge is considered. When the evaluation values are the same, the shorter edge can be also set as a target to be removed.
Although the local evaluation value in the polygon model is obtained by the equation (1), each edge can be also evaluated by a value obtained by adding the evaluation values of the peripheral edges to the evaluation value of a certain target edge. In this case, the evaluation can be performed not only with the peripheral shape of one edge but also with the shape or a wide range. When the area which the user wants to evaluate is wide as mentioned above, the calculation range of the equation (1) can be widened in accordance with such a wide area.
In addition to the evaluation value simply derived by the calculation of the equation (1), the user can give the evaluation value or can operate the evaluation value. Therefore, when there is a portion which the user wants to leave intact without approximation or a portion which he, contrarily, wants to approximate, the intention of the designer or operator can be reflected in the approximating process by designating such a portion. In this case, the evaluation value is determined by executing a weighted addition by giving a weight coefficient to each of the value operated by the user and the calculated evaluation value.
In this case, the approximation in which the intention of the designer is reflected can be performed by giving a weight coefficient, for example, by giving weight to the evaluation value designated by the user. On the contrary, when a large weight is given to the evaluation value obtained by the calculation of the equation (1), an accurate approximation can be performed by a quantitative evaluation of the volume change in shape. In this manner, the change in shape can be freely controlled by the weighting process.
When the evaluation values for the edges of the polygon data are obtained in step S2 as mentioned above, the obtained evaluation values are sorted and the edge having the minimum evaluation value is selected in step S3. When sorting the edges, for example, a quick sorting as a known technique can be used. Other sorting methods can be also obviously used. Since the sorting methods including the quick sorting are described in detail in “Algorithm Dictionary” published by Kyoritsu Publication Co., Ltd. or the like, the description is omitted here. The selected edge having the minimum evaluation value is removed in step S4.
Although the case where the edge having the minimum evaluation value is simply removed has been described here, the removing order of the edges or the edge which is not removed can be also arbitrarily designated. When the edge is not removed, there is no change in shape of such a portion. For example, in the case where it is desirable that the shape is not changed, like a portion in which two models are in contact each other, it is sufficient to set a portion where no edge is removed.
When the edge is removed in step S4, the vertices (v1 and v2 in this case) constructing the edge are lost. In step S5, therefore, a new vertex position in association with the edge removal is determined.
The vertex V6 v6 is removed by the approximation of the polygon model and the two vertices v3 and v6 in this model are integrated to one vertex V3 v3′. In association with it, by removing the edge e(v3, v6) comprising v3 and v6, triangular areas on both sides including the removed edge are lost. In this instance, unless the loss of those triangular areas is considered, the image data comprising the texture coordinates Vt3, Vt4, and Vt6 vt3, vt4, and vt6 and the image data comprising Vt3, vt5, and Vt6 vt3, vt5, and vt6 are lost.
As shown by the texture in the diagram on the right side in
In this example, the vertices v3 and v6 are integrated on the polygon model and the vertex v3 remains. The remaining vertex V3 v3 is set to a vertex V3′ v3′. The position of the vertex V3′ v3′ is arranged at a predetermined distribution ratio t on the coordinates between the edge e(v3, v6) comprising V3 v3 and v6 before approximation. In this case, the coordinates of the vertex v3′ can be calculated by ((1−t)×V3+t×V6). ((1−t)×v3+t×v6). When 0≦t≦1, the distribution coefficient t exists on the edge straight line of the edge e(v3, v6) before approximation and, when t<0 or 1<t, t exists out of the edge e(v3, v6). By changing a value of t, therefore, a shape change amount after the model was approximated by the edge removal can be controlled.
As mentioned above, the vertices v3 and v6 are integrated on the polygon model and are set to the vertices v3′, and V3′ v3′ is arranged between the vertex v3 and the vertex v6. The texture coordinates vt3 and vt6 corresponding to those two vertices are, therefore, also integrated to the coordinates Vt3 vt3 after approximation and are set to coordinates vt3′. The coordinates vt3′ are arranged between the coordinates Vt3 vt3 and vt6 before approximation.
In this instance, when the position of the coordinates Vt3 vt3 of the texture data corresponding to the vertex V3 v3 on the polygon model is not changed in accordance with the change in model shape as mentioned above, for example, in the texture shown in
With respect to an original polygon model shown in
When the texture is adhered to the polygon model, there is a case where not only one texture but also a plurality of different textures are allocated to the model. In this case, a boundary in which the texture is switched from a certain texture to another texture exists.
In case of adhering the texture to the polygon model, as mentioned above, the texture is allocated to each vertex of the model. Even in the boundary of the texture, therefore, the boundary is allocated to each vertex constructing the edge of the model. Further, as mentioned above, the approximation of the model is performed by repeating the edge removal only a desired number of times. In this instance, if the texture area allocated to the edge as a target of the removal is in the texture, as shown in
However, when the area of the image allocated to the edge as a removal target exists just on the boundary of the image, the polygon model is approximated by the edge removal and since the vertex position is moved, a plurality of textures are mixed and the appearance of the texture is broken. To prevent this, it is necessary to make a discrimination so as not to break the image boundary at the time of the edge removal and to decide sizes of a change of the outline portion by the edge removal.
As shown in
In this case, since the outline portion of the face image has also been adhered to each of the vertices v3 to v6, as shown in
To prevent this, a removal evaluating function of the edge as a boundary portion of the texture is introduced and when the shape of the texture boundary is largely changed by the edge removal, it is necessary to use any one of the following methods. Namely, as a first method, the relevant edge is not removed. As a second method, although the edge is removed, a movement amount of the vertex position after the removal is adjusted. The following equation (2) is used as a removal evaluating function of each edge in this instance.
In the equation (2), E denotes the vector having the direction and length of the edge e, Ni indicates the normal vector of the edge, and Li the length of edge. A range of i corresponds to the whole edge of the boundary lines existing before and after the edge as a removal target. The equation (2) denotes an area change amount when the edge of the boundary portion is removed. Therefore, when the calculation value of the equation (2) is large, a change of the outline portion by the edge removal is large.
Namely, when the calculation value of the equation (2) is large, the area change in the outline portion of the texture increases, so that there is a fear of occurrence of the breakage of the texture shape. To prevent this, there is a method whereby the relevant edge is not removed like the foregoing first method. However, like the foregoing second method, there is also a method whereby the texture coordinates after the edge removal are moved within a range where the value of the equation (2) is smaller than the designated value, thereby consequently decreasing the change amount of the outline portion. By using the second method, the breakage of the texture after the approximation can be suppressed.
As mentioned above, the approximated polygon model to which the texture having a desired precision is adhered can be obtained. In this case, when the texture is adhered to the original model, there is no need to again adhere the texture to the model after completion of the approximation and the approximated model with the texture can be automatically obtained.
As mentioned above, the approximated model obtained by repeating the processes in steps S2 to S6 is stored in the external storing apparatus such as hard disk 6 or memory 7. However, when displaying in step S8, the approximated model stored in the external storing apparatus is read out, drawn, and displayed to the display apparatus 8. As already described in the foregoing prior art, in this display, for example, when the model is displayed as a small image on the picture plane because it appears at a remote location or when the observer fails to notice the model because it is out of the target point on the picture plane, the model is switched to the model of a layer that was approximated and the image is displayed.
Upon switching to the approximated model, if the model is suddenly switched to the model in which a degree of approximation largely differs, a sudden change occurs in the shape of the displayed model at a moment of the switching and a feeling of disorder is given to the observer.
To prevent that feeling of disorder, it is sufficient that a number of models whose approximation degrees are slightly changed are prepared and stored into the external storing apparatus and the display is performed while sequentially switching those models. In this case, however, since an amount of models to be stored increases, it is not efficient. Therefore, to realize a smooth continuous conversion even with a small number of models, it is sufficient to interpolate the model among the discrete layers and to obtain the model of the middle layer.
For example, in the example shown in
Such a forming method of the approximated model in the middle layer between the discrete layers has already been described in detail in Japanese Patent Application No. 6-248602 regarding the proposition of the present inventors.
In the example, the vertices v1, and v2 bounding the edge e(v1, v2) of the layer N are integrated to v1 in the layer N+1 and the deleted vertex v2 is integrated to v1. From the correspondence relation of the vertices, in the middle layer N′, the positions of vertices v1′ and V2′ v2′ bounding an edge e′(v1′, V2′) e′(v1′, v2′) corresponding to the edge e(v1, v2) of the layer N can be obtained by the linear interpolation between the layers N and N+1. Although the example in which one middle layer is obtained is shown here, a degree of linear interpolation is changed in accordance with a desired number of middle layers and a plurality of middle layers can be obtained. The formation of the approximated model of the middle layer can be performed in a real-time manner in accordance with a situation in which the model is displayed.
Although the case where the approximated model of the middle layer is formed and displayed in a real-time manner while displaying the model has been described here, the invention is not limited to such an example. For instance, it is also possible to practice the invention in a manner such that the approximated model of the middle layer is previously formed and stored in the external storing apparatus and the stored approximated model of the middle layer is read out at the time of the display.
Although the case where one edge is removed has been mentioned as an example here, since the edge removal is repeated a plurality of number of times in the approximation of the actual model, one vertex of a certain layer corresponds to a plurality of vertices of another layer which is closer to the original model. By using the correspondence relation of the vertices in those two layers as mentioned above, the vertices of the model can be made to correspond among all of the layers. The model of the middle layer is obtained on the basis of the correspondence relation of the vertices derived as mentioned above.
As mentioned above, since the coordinates of the image data in the texture are allocated to each vertex of each model, in a manner similar to the case of the vertices of such a model, the model to which the texture was adhered in the middle layer can be obtained by the interpolation of the texture coordinates vt1 and vt2 allocated to the vertices v1 and v2, respectively. By such a process, the models in a range from the original model to the most approximated model can be smoothly continuously obtained.
By the above processes, the discrete hierarchical approximated model can be obtained and the model of the middle layer can be also obtained. The approximated model obtained and stored as mentioned above is switched in accordance with the size, position, speed, and attention point of the viewer of the apparent model on the picture plane in the display apparatus 8 and is displayed in step S8.
As specifically shown in
Although the case where the texture image is adhered to the polygon model has been described above, the invention can be also obviously applied to the case where the texture image is not adhered. In this case, step S6 can be omitted in the flowchart shown in
As described above, according to the invention, when image data (texture) is adhered to geometric data such as polygon data which is used in the CG, the model can be approximated to a desired degree of details while preventing the breakage of the texture shape or an apparent deterioration of the quality.
According to the invention, therefore, there is an effect such that the geometric model which is used in the CG can be approximated in a state in which the texture is adhered. There is also an effect such that not only is the model approximated but also the breakage of the appearance of the texture in the approximation result can be suppressed.
By using the geometric model approximated by the method based on the invention, in the drawing of the CG, there is an effect such that a request for drawing of at a high speed and at a high picture quality can both be satisfied.
Further, according to the invention, an importance degree of each edge constructing the geometric model which is used for the CG can be evaluated by an evaluation value. There is an effect such that the geometric model can be approximated by preferentially removing the edge of a low evaluation value of the edge.
According to the invention, the position of the vertex remaining after the edge was removed can be determined so as to suppress a change in general shape. Thus, there is an effect such that a feeling of disorder upon looking when drawing by using the approximated model can be suppressed.
According to the invention, figure data which is used in the CG can be approximated by a plurality of resolutions. There is an effect such that by using the figure data derived by the invention, both of the goals of drawing at a high speed and drawing with a high quality can be satisfied.
The present invention is not limited to the foregoing embodiments but many modifications and variations are possible within the spirit and scope of the appended claims of the invention.
Totsuka, Takashi, Horikawa, Junji
Patent | Priority | Assignee | Title |
10269327, | Feb 18 2014 | ZERO360, INC | Display control |
Patent | Priority | Assignee | Title |
4152766, | Feb 08 1978 | Hughes Aircraft Company | Variable resolution for real-time simulation of a polygon face object system |
4600919, | Aug 03 1982 | New York Institute of Technology | Three dimensional animation |
4694407, | Jun 11 1985 | RCA Corporation | Fractal generation, as for video graphic displays |
4783829, | Feb 23 1983 | Hitachi, Ltd. | Pattern recognition apparatus |
4941193, | Oct 02 1987 | Iterated Systems, Inc.; ITERATED SYSTEMS, INC , 1266 HOLLY LANE, N E , ATLANTA, GEORGIA 30329, A CORP OF GEORGIA | Methods and apparatus for image compression by iterated function system |
4969204, | Nov 29 1989 | Eastman Kodak Company | Hybrid residual-based hierarchical storage and display method for high resolution digital images in a multiuse environment |
5029228, | Dec 28 1987 | Mitsubishi Denki Kabushiki Kaisha | Image data filing system |
5159512, | Jun 16 1989 | International Business Machines Corporation | Construction of Minkowski sums and derivatives morphological combinations of arbitrary polyhedra in CAD/CAM systems |
5276786, | Sep 05 1988 | Quantel Limited | Video graphics systems separately processing an area of the picture before blending the processed area into the original picture |
5341466, | May 09 1991 | Open Invention Network LLC | Fractal computer user centerface with zooming capability |
5373375, | Dec 21 1990 | EASTMAN KODAK COMPANY, A CORP OF NJ | Metric conversion mechanism for digital images in a hierarchical, multi-resolution, multi-use environment |
5384904, | Dec 08 1992 | Intel Corporation | Image scaling using real scale factors |
5448686, | Jan 02 1992 | International Business Machines Corporation; INTERNATIONAL BUSINESS MACHINES CORPORATION A CORPORATION OF NEW YORK | Multi-resolution graphic representation employing at least one simplified model for interactive visualization applications |
5471568, | Jun 30 1993 | Apple Inc | Object-oriented apparatus and method for scan line conversion of graphic edges |
5490239, | Oct 01 1992 | University Corporation for Atmospheric Research | Virtual reality imaging system |
5506947, | Sep 22 1994 | International Business Machines Corporation; IBM Corporation | Curve and surface smoothing without shrinkage |
5590248, | Jan 02 1992 | General Electric Company | Method for reducing the complexity of a polygonal mesh |
5611036, | Nov 30 1990 | Cambridge Animation Systems Limited | Apparatus and method for defining the form and attributes of an object in an image |
5613051, | Dec 21 1994 | Harris Corporation | Remote image exploitation display system and method |
5621827, | Jun 29 1993 | Canon Kabushiki Kaisha | Image processing method and apparatus for obtaining object data to reconstruct the original image |
5689577, | Oct 14 1994 | Picker International, Inc. | Procedure for the simplification of triangular surface meshes for more efficient processing |
5751852, | Apr 29 1996 | Xerox Corporation | Image structure map data structure for spatially indexing an imgage |
5761332, | Mar 11 1995 | U.S. Philips Corporation | Method of reconstructing the surface of an object |
5774130, | Sep 08 1994 | Sony Corporation | Computer animation generator creating hierarchies of models for rapid display |
5796400, | Aug 07 1995 | AUTODESK CANADA CO | Volume-based free form deformation weighting |
5809322, | Dec 12 1993 | GSI TECHNOLOGY ISRAEL LTD | Apparatus and method for signal processing |
5929860, | Jan 11 1996 | Microsoft Technology Licensing, LLC | Mesh simplification and construction of progressive meshes |
5963209, | Jan 11 1996 | Microsoft Technology Licensing, LLC | Encoding and progressive transmission of progressive meshes |
5963668, | Dec 18 1995 | Sony Corporation | Computer animation generator |
5966133, | Jan 11 1996 | Microsoft Technology Licensing, LLC | Geomorphs and variable resolution control of progressive meshes |
6046744, | Jan 11 1996 | Microsoft Technology Licensing, LLC | Selective refinement of progressive meshes |
EP156343, | |||
EP734163, | |||
JP1205277, | |||
JP4015772, | |||
JP5250445, | |||
JP5266212, | |||
JP5266213, | |||
JP5290145, | |||
JP6052270, | |||
JP6231276, | |||
JP6251126, | |||
JP63118890, | |||
JP8272957, | |||
JP9198524, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 19 2004 | Sony Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jul 18 2013 | ASPN: Payor Number Assigned. |
Nov 22 2013 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
May 17 2014 | 4 years fee payment window open |
Nov 17 2014 | 6 months grace period start (w surcharge) |
May 17 2015 | patent expiry (for year 4) |
May 17 2017 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 17 2018 | 8 years fee payment window open |
Nov 17 2018 | 6 months grace period start (w surcharge) |
May 17 2019 | patent expiry (for year 8) |
May 17 2021 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 17 2022 | 12 years fee payment window open |
Nov 17 2022 | 6 months grace period start (w surcharge) |
May 17 2023 | patent expiry (for year 12) |
May 17 2025 | 2 years to revive unintentionally abandoned end. (for year 12) |