Title: 3-dimensional-model-processing apparatus, 3-dimensional-model processing method and program-providing medium
Abstract: Disclosed is a 3-dimensional model-processing apparatus capable of processing a 3-dimensional model appearing on a display unit including a sensor for generating information on the position and the posture, which can be controlled by the user arbitrarily, and control means for carrying out a grasp-state-setting process of taking a relation between the sensor-generated information on the position and the posture of the sensor and information on the position and the posture of the 3-dimensional model appearing on the display unit as a constraint relation on the basis of a relation between the 3-dimensional position of the 3-dimensional model appearing on the display unit and the 3-dimensional position of a tool appearing on the display unit for the sensor or on the basis of a relation between the 3-dimensional posture of the 3-dimensional model appearing on the display unit and the 3-dimensional posture of the tool appearing on the display unit for the sensor.
Patent Number: 6,992,666 Issued on 01/31/2006 to Hiraki,   et al.
| Inventors:
|
Hiraki; Norikazu (Tokyo, JP);
Segawa; Hiroyuki (Kanagawa, JP);
Shioya; Hiroyuki (Tokyo, JP);
Abe; Yuichi (Tokyo, JP)
|
| Assignee:
|
Sony Corporation (Tokyo, JP)
|
| Appl. No.:
|
859020 |
| Filed:
|
May 15, 2001 |
Foreign Application Priority Data
| May 15, 2000[JP] | P2000-141936 |
| Current U.S. Class: |
345/419; 345/420; 345/473; 463/31 |
| Current Intern'l Class: |
G06T 15/00 (20060101) |
| Field of Search: |
345/158,531,419,420,157,161,473,156,51
463/32,31,37,38
715/848
700/97,98,182
|
References Cited [Referenced By]
U.S. Patent Documents
| 4607255 | Aug., 1986 | Fuchs et al.
| |
| 5652603 | Jul., 1997 | Abrams.
| |
| 6020891 | Feb., 2000 | Rekimoto.
| |
| 6072903 | Jun., 2000 | Maki et al.
| |
| 6115028 | Sep., 2000 | Balakrishnan et al.
| |
| 6141015 | Oct., 2000 | Tanaka.
| |
| 6144385 | Nov., 2000 | Girard.
| |
| 6222465 | Apr., 2001 | Kumar et al.
| |
| 6267674 | Jul., 2001 | Kondo et al.
| |
| 6276799 | Aug., 2001 | Van Saarloos et al.
| |
| 6297799 | Oct., 2001 | Knittel et al.
| |
| 6307563 | Oct., 2001 | Kimura.
| |
| 6308144 | Oct., 2001 | Bronfeld et al.
| |
| 6310619 | Oct., 2001 | Rice.
| |
| 6411266 | Jun., 2002 | Maguire, Jr.
| |
Primary Examiner: Eisen; Alexander
Assistant Examiner: Abdulselam; Abbas
Attorney, Agent or Firm: Bell, Boyd & Lloyd LLC
Claims
What is claimed is:
1. A 3-dimensional model-processing apparatus capable of processing a 3-dimensional
model appearing on a display unit comprising:
a user controllable 3-dimensional sensor capable of generating information on
a position and a posture of an appearance on the display unit; and
a controller having a grasp-state-setting process of taking a relation between
said sensor-generated information on a position and a posture of said 3-dimensional
sensor and information on a position and a posture of said 3-dimensional model
appearing on said display unit as a constraint relation on the basis of one of
(a) a relation between a 3-dimensional position of said 3-dimensional model appearing
on said display unit and the 3-dimensional position of a 3-dimensional tool appearing
for said 3-dimensional sensor on said display unit and (b) a relation between a
3-dimensional posture of said 3-dimensional model appearing on said display unit
and a 3-dimensional posture of said 3-dimensional tool appearing for said 3-dimensional
sensor on said display unit,
wherein said controller has a configuration for selecting a 3-dimensional model
crossed by a straight optical beam generated in a specific direction by said tool
appearing on said display unit and for carrying out said grasp-state-setting process
on said selected 3-dimensional model.
2. A 3-dimensional model-processing apparatus capable of processing a 3-dimensional
model appearing on a display unit comprising:
a user controllable 3-dimensional sensor capable of generating information on
a position and a posture of an appearance on the display unit; and
a controller having a grasp-state-setting process of taking a relation between
said sensor-generated information on a position and a posture of said 3-dimensional
sensor and information on a position and a posture of said 3-dimensional model
appearing on said display unit as a constraint relation on the basis of one of
(a) a relation between a 3-dimensional position of said 3-dimensional model appearing
on said display unit and the 3-dimensional position of a 3-dimensional tool appearing
for said 3-dimensional sensor on said display unit and (b) a relation between a
3-dimensional posture of said 3-dimensional model appearing on said display unit
and a 3-dimensional posture of said 3-dimensional tool appearing for said 3-dimensional
sensor on said display unit,
wherein said controller has a configuration for selecting a 3-dimensional model
hit by a flying object emanating in a specific direction from said tool appearing
on said display unit and for carrying out said grasp-state-setting process on said
selected 3-dimensional model.
3. A 3-dimensional model-processing apparatus according to claim 2, wherein said
controller has a configuration which is used for executing control to display said
flying object on said display unit as a flying object emanating from said tool
appearing on said display unit along either a predetermined straight line or a
predetermined curved line.
4. A 3-dimensional model-processing apparatus according to claim 2, wherein said
controller has a configuration which is used for executing control to display said
flying object stuck on a surface of a 3-dimensional model appearing on said display
unit when said flying object hits said 3-dimensional model.
5. A 3-dimensional model-processing apparatus according to claim 2, wherein said
controller has a configuration which is used for:
executing control to display said flying object stuck on a surface of a 3-dimensional
model appearing on said display unit when said flying object hits said 3-dimensional
model; and
carrying out processing to move said 3-dimensional model with said flying object
stuck on said surface thereof to a position of said tool.
6. A 3-dimensional model-processing apparatus according to claim 2, wherein said
controller has a configuration which is used for: constraint relation on the basis
of one of (a) a relation between a 3-dimensional position of said 3-dimensional
model appearing on said display unit and the 3-dimensional position of a 3-dimensional
tool appearing for said 3-dimensional sensor on said display unit and (b) a relation
between a 3-dimensional posture of said 3-dimensional model appearing on said display
unit and a 3-dimensional posture of said 3-dimensional tool appearing for said
3-dimensional sensor on said display unit;
wherein said controller has a configuration for executing control to display
a specific 3-dimensional model subjected to said grasp-state-setting process by
distinguishing said specific 3-dimensional model from other 3-dimensional models
appearing on said display unit.
7. A 3-dimensional model-processing apparatus capable of processing a 3-dimensional
model appearing on a display unit comprising:
a user controllable 3-dimensional sensor capable of generating information on
a position and a posture of an appearance on the display unit; and
controller having a grasp-state-setting process of taking a relation between
said sensor-generated information on a position and a posture of said 3-dimensional
sensor and information on a position and a posture of said 3-dimensional model
appearing on said display unit as a constraint relation on the basis of one of
(a) a relation between a 3-dimensional position of said 3-dimensional model appearing
on said display unit and the 3-dimensional position of a 3-dimensional tool appearing
for said 3-dimensional sensor on said display unit and (b) a relation between a
3-dimensional posture of said 3-dimensional model appearing on said display unit
and a 3-dimensional posture of said 3-dimensional tool appearing for said 3-dimensional
sensor on said display unit,
wherein said controller has a configuration for identifying the area of a 3-dimensional
model appearing on said display unit by recognizing a bounding-box area comprising
said 3-dimensional model, an internal area of said 3-dimensional model or a bounding
sphere displayed as a smallest sphere including said 3-dimensional model.
8. A 3-dimensional model-processing apparatus capable of processing a 3-dimensional
model appearing on a display unit comprising:
a user controllable 3-dimensional sensor capable of generating information on
a position and a posture of an appearance on the display unit; and
a controller having a grasp-state-setting process of taking a relation between
said sensor-generated information on a position and a posture of said 3-dimensional
sensor and information on a position and a posture of said 3-dimensional model
appearing on said display unit as a
allowing a user to arbitrarily control information on a position and a posture
of an appearance on the display unit, which is generated by a 3-dimensional sensor; and
carrying out a grasp-state-setting process of taking a relation between said
sensor-generated information on a position and a posture of said 3-dimensional
sensor and information on a position and a posture of said 3-dimensional model
appearing on said display unit as a constraint relation on either the basis of
a relation between a 3-dimensional position of said 3-dimensional model appearing
on said display unit and the 3-dimensional position of a 3-dimensional tool appearing
for said 3-dimensional sensor on said display unit or on the basis of a relation
between a 3-dimensional posture of said 3-dimensional model appearing on said display
unit and a 3-dimensional posture of said 3-dimensional tool appearing for said
3-dimensional sensor on said display unit,
wherein carrying out said grasp-state-setting process comprises:
selecting a 3-dimensional model hit by a flying object emanating in a specific
direction from said tool appearing on said display unit; and
carrying out said grasp-state-setting process on said selected 3-dimensional model.
9. A 3-dimensional model-processing method capable of processing a 3-dimensional
model appearing on a display unit comprising:
allowing a user to arbitrarily control information on a position and a posture
of an appearance on the display unit, which is generated by a 3-dimensional sensor; and
carrying out a grasp-state-setting process of taking a relation between said
sensor-generated information on a position and a posture of said 3-dimensional
sensor and information on a position and a posture of said 3-dimensional model
appearing on said display unit as a constraint relation on either the basis of
a relation between a 3-dimensional position of said 3-dimensional model appearing
on said display unit and the 3-dimensional position of a 3-dimensional tool appearing
for said 3-dimensional sensor on said display unit or on the basis of a relation
between a 3-dimensional posture of said 3-dimensional model appearing on said display
unit and a 3-dimensional posture of said 3-dimensional tool appearing for said
3-dimensional sensor on said display unit,
wherein carrying out said grasp-state-setting process comprises:
selecting a 3-dimensional model crossed by a straight optical beam generated
in a specific direction by said tool appearing on said display unit; and
carrying out said grasp-state-setting process on said selected 3-dimensional model.
10. A 3-dimensional model-processing method capable of processing a 3-dimensional
model appearing on a display unit comprising:
executing control to display said flying object stuck on a surface of a 3-dimensional
model appearing on said display unit when said flying object hits said 3-dimensional
model; and
carrying out processing to return said flying object from a stuck position on
said surface of said 3-dimensional model to a position of said tool when a cancel
input is received by said 3-dimensional sensor provided in advance.
11. A 3-dimensional model-processing method according to claim 10, wherein at
carrying out said grasp-state-setting process, control is executed to display said
flying object on said display unit as a flying object emanating from said tool
appearing on said display unit along either a predetermined straight line or a
predetermined curved line appearing on said display unit.
12. A 3-dimensional model-processing method according to claim 10, wherein at
carrying out said grasp-state-setting process control is executed to display said
flying object stuck on a surface of a 3-dimensional model appearing on said display
unit when said flying object hits said 3-dimensional model.
13. A 3-dimensional model-processing method according to claim 10, wherein carrying
out said grasp-state-setting process comprises:
executing control to display said flying object stuck on a surface of a 3-dimensional
model appearing on said display unit when said flying object hits said 3-dimensional
model; and
carrying out processing to move said 3-dimensional model with said flying object
stuck on said surface thereof to a position of said tool.
14. A 3-dimensional model-processing method according to claim 10, wherein carrying
out said grasp-state-setting process comprises:
executing control to display said flying object stuck on a surface of a 3-dimensional
model appearing on said display unit when said flying object hits said 3-dimensional
model; and
carrying out processing to return said flying object from a stuck position on
said surface of said 3-dimensional model to a position of said tool when a cancel
input is received by said 3-dimensional sensor provided in advance.
15. A 3-dimensional model-processing method capable of processing a 3-dimensional
model appearing on a display unit comprising:
allowing a user to arbitrarily control information on a position and a posture
of an appearance on the display unit, which is generated by a 3-dimensional sensor; and
carrying out a grasp-state-setting process of taking a relation between said
sensor-generated information on a position and a posture of said 3-dimensional
sensor and information on a position and a posture of said 3-dimensional model
appearing on said display unit as a constraint relation on either the basis of
a relation between a 3-dimensional position of said 3-dimensional model appearing
on said display unit and the 3-dimensional position of a 3-dimensional tool appearing
for said 3-dimensional sensor on said display unit or on the basis of a relation
between a 3-dimensional posture of said 3-dimensional model appearing on said display
unit and a 3-dimensional posture of said 3-dimensional tool appearing for said
3-dimensional sensor on said display unit,
wherein at carrying out said grasp-state-setting process the area of a 3-dimensional
model appearing on said display unit is identified by recognizing a bounding-box
area comprising one of said 3-dimensional model, an internal area of said 3-dimensional
model and a bounding sphere displayed as a smallest sphere including said 3-dimensional model.
16. A 3-dimensional model-processing method capable of processing a 3-dimensional
model appearing on a display unit comprising:
allowing a user to arbitrarily control information on a position and a posture
of an appearance on the display unit, which is generated by a 3-dimensional sensor; and
carrying out a grasp-state-setting process of taking a relation between said
sensor-generated information on a position and a posture of said 3-dimensional
sensor and information on a position and a posture of said 3-dimensional model
appearing on said display unit as a constraint relation on either the basis of
a relation between a 3-dimensional position of said 3-dimensional model appearing
on said display unit and the 3-dimensional position of a 3-dimensional tool appearing
for said 3-dimensional sensor on said display unit or on the basis of a relation
between a 3-dimensional posture of said 3-dimensional model appearing on said display
unit and a 3-dimensional posture of said 3-dimensional tool appearing for said
3-dimensional sensor on said display unit,
wherein at carrying out said grasp-state-setting process control is executed
to display a specific 3-dimensional model subjected to said grasp-state-setting
process by distinguishing said specific 3-dimensional model from other 3-dimensional
models appearing on said display unit.
Description
BACKGROUND OF THE INVENTION
The present invention relates to a 3-dimensional-model-processing apparatus,
a 3-dimensional-model-processing method and a program-providing medium. More particularly,
the present invention relates to a 3-dimensional-model-processing apparatus and
a 3-dimensional-model-processing method which allow the user to experience a grasp
process carried out to control a 3-dimensional model appearing on a display unit
during processing, such as movement or rotation of the 3-dimensional model, and
relates to a program-providing medium for storing the 3-dimensional-model-processing method.
Various kinds of contemporary graphic equipment such as a computer, a CAD
tool and a CG graphic apparatus are capable of carrying out a variety of 3-dimensional-model processes.
Processing, such as movement or rotation of the 3-dimensional model appearing
on a display unit, is carried out by execution of existing computer graphic software
or 3-dimensional CAD software. In this case, the position to display a 3-dimensional
model defined in a 3-dimensional space is specified by using a 2-dimensional pointer,
such as a cursor representing information on a 2-dimensional position. The 2-dimensional
pointer is controlled by an input device, such as a keyboard or a mouse. The position
to display a 3-dimensional model is specified to grasp the 3-dimensional model
in order to carry out the processing, such as movement or rotation of the 3-dimensional
model, by maintaining a position of the 3-dimensional model relative to the cursor.
With such a conventional configuration, however, a 3-dimensional model is operated
by using a 2-dimensional pointer. Thus, the operation is not carried out intuitively.
In addition, for a user unfamiliar with the conventional model-processing apparatus
and the conventional model-processing method, the operation can be cumbersome.
On the other hand, there is also implemented a configuration that allows such
an operation to be carried out more intuitively and to a sense of operating a real
object by directly reflecting signals in the 3-dimensional position of a 3-dimensional
model and information on the posture of the 3-dimensional model. The signals are
normally generated by a 3-dimensional sensor capable of measuring the 3-dimensional
position of a 3-dimensional model and information on the posture of the 3-dimensional model.
If there is only one 3-dimensional model to be displayed, the model is assigned
permanently to a 3-dimensional sensor. If there is a plurality of 3-dimensional
models to be displayed, on the other hand, processing and means for switching the
operating sensor from one model to another are required.
SUMMARY OF THE INVENTION
An advantage of the present invention, addressing the problems described above,
is to provide a 3-dimensional-model-processing apparatus and a 3-dimensional-model-processing
method wherein a 3-dimensional pointer (a grasp tool) having information on a 3-dimensional
position and information on a posture, which can be controlled with a high degree
of freedom, is defined in a 3-dimensional space, and wherein processing to switch
a 3-dimensional model to be moved and rotated can be carried out by using the grasp
tool, and to provide a program-providing medium for storing the 3-dimensional-model-processing method.
According to an embodiment of the present invention, a 3-dimensional model-processing
apparatus is provided which is capable of processing a 3-dimensional model appearing
on a display unit, including a sensor for generating information on the position
and the posture, which can be arbitrarily controlled by the user, and control means
for carrying out a grasp-state-setting process of taking a relation between the
sensor-generated information on the position and the posture of the sensor and
information on the position and the posture of the 3-dimensional model appearing
on the display unit as a constraint relation on the basis of a relation between
the 3-dimensional position of the 3-dimensional model appearing on the display
unit and the 3-dimensional position of a tool appearing on the display unit for
the sensor or on the basis of a relation between the 3-dimensional posture of the
3-dimensional model appearing on the display unit and the 3-dimensional posture
of the tool appearing on the display unit for the sensor.
Preferably, the sensor has a button used as event input means and the
control means has a configuration for determining that the tool appearing on the
display unit is inside the 3-dimensional model and for carrying out the grasp-state-setting
process in the event of an input received from the button.
Preferably, the sensor has a button used as an event input means and
the control means has a configuration for determining that the tool appearing on
the display unit is in contact with a surface of the 3-dimensional model and for
carrying out the grasp-state-setting process in the event of an input received
from the button.
The control means preferably has a configuration for selecting a 3-dimensional
model crossed by a straight optical beam generated in a specific direction by the
tool appearing on the display unit and for carrying out the grasp-state-setting
process on the selected 3-dimensional model.
The control means preferably has a configuration for selecting a 3-dimensional
model hit by a flying object emanating in a specific direction from the tool appearing
on the display unit and for carrying out the grasp-state-setting process on the
selected 3-dimensional model.
The control means preferably has a configuration which is used for executing
control to display the flying object on the display unit as a flying object emanating
from the tool appearing on the display unit along a predetermined straight line
or a predetermined curved line.
The control means preferably has a configuration which is used for executing
control to display the flying object stuck on a surface of a 3-dimensional model
appearing on the display unit when the flying object hits the 3-dimensional model.
The control means preferably has a configuration which is used for executing
control to display the flying object stuck on a surface of a 3-dimensional model
appearing on the display unit when the flying object hits the 3-dimensional model,
and for carrying out processing to move the 3-dimensional model with the flying
object stuck on the surface thereof to a position of the tool.
The control means preferably has a configuration which is used for executing
control to display the flying object stuck on a surface of a 3-dimensional model
appearing on the display unit when the flying object hits the 3-dimensional model,
and for carrying out processing to return the flying object from a stuck position
on the surface of the 3-dimensional model to a position of the tool when a cancel
input is received by the sensor provided in advance.
The control means preferably has a configuration for selecting a 3-dimensional
model existing in an effect range set in a 3-dimensional space area with an origin
coinciding with the tool appearing on the display unit and for carrying out the
grasp-state-setting process on the selected 3-dimensional model.
The control means preferably has a configuration for moving a 3-dimensional model
appearing on the display unit to a position of the tool if the 3-dimensional model
exists in the effect range.
The control means preferably has a configuration for executing control to remove
an appearance of the tool from the display unit after a start of the grasp-state-setting process.
The control means preferably has a configuration for executing control to update
a position and a posture of the 3-dimensional model appearing on the display unit
in accordance with information on a position and a posture obtained from the sensor
after a start of the grasp-state-setting process.
The control means preferably has a configuration for identifying the area of
a 3-dimensional model appearing on the display unit by recognizing a bounding-box
area including the 3-dimensional model, an internal area of the 3-dimensional model
or a bounding sphere displayed as a smallest sphere including the 3-dimensional model.
The control means preferably has a configuration for executing control to display
a specific 3-dimensional model subjected to the grasp-state-setting process by
distinguishing the specific 3-dimensional model from other 3-dimensional models
appearing on the display unit.
In accordance with another embodiment of the present invention, a 3-dimensional
model-processing method is provided which is capable of processing a 3-dimensional
model appearing on a display unit, including the steps of allowing the user to
arbitrarily control information on a position and a posture, which is generated
by a sensor, and carrying out a grasp-state-setting process of taking a relation
between the sensor-generated information on a position and a posture of the sensor
and information on a the position and a posture of the 3-dimensional model appearing
on the display unit as a constraint relation on the basis of a relation between
a 3-dimensional position of the 3-dimensional model appearing on the display unit
and the 3-dimensional position of a tool appearing for the sensor on the display
unit or on the basis of a relation between a 3-dimensional posture of the 3-dimensional
model appearing on the display unit and a 3-dimensional posture of the tool appearing
for the sensor on the display unit.
Preferably, the step of carrying out the grasp-state-setting process
includes the steps of determining that the tool appearing on the display unit is
inside the 3-dimensional model, and carrying out the grasp-state-setting process
in the event of an input received from a button used as event input means of the sensor.
Preferably, the step of carrying out the grasp-state-setting process
includes the steps of determining that the tool appearing on the display unit is
in contact with a surface of the 3-dimensional model, and carrying out the grasp-state-setting
process in the event of an input received from a button used as event input means
of the sensor.
Preferably, the step of carrying out the grasp-state-setting process
includes the steps of selecting a 3-dimensional model crossed by a straight optical
beam generated in a specific direction by the tool appearing on the display unit,
and carrying out the grasp-state-setting process on the selected 3-dimensional model.
Preferably, the step of carrying out the grasp-state-setting process
includes the steps of selecting a 3-dimensional model hit by a flying object emanating
in a specific direction from the tool appearing on the display unit, and carrying
out the grasp-state-setting process on the selected 3-dimensional model.
Preferably, at the step of carrying out the grasp-state-setting process,
control is executed to display the flying object on the display unit as a flying
object emanating from the tool appearing on the display unit along a predetermined
straight line or a predetermined curved line.
Preferably, at the step of carrying out the grasp-state-setting process,
control is executed to display the flying object stuck on a surface of a 3-dimensional
model appearing on the display unit when the flying object hits the 3-dimensional model.
Preferably, the step of carrying out the grasp-state-setting process
includes the steps of executing control to display the flying object stuck on a
surface of a 3-dimensional model appearing on the display unit when the flying
object hits the 3-dimensional model, and carrying out processing to move the 3-dimensional
model with the flying object stuck on the surface thereof to a position of the tool.
Preferably, the step of carrying out the grasp-state-setting process
includes the steps of executing control to display the flying object stuck on a
surface of a 3-dimensional model appearing on the display unit when the flying
object hits the 3-dimensional model, and carrying out processing to return the
flying object from a stuck position on the surface of the 3-dimensional model to
a position of the tool when a cancel input is received by the sensor provided in advance.
Preferably, the step of carrying out the grasp-state-setting process
includes the steps of selecting a 3-dimensional model existing in an effect range
set in a 3-dimensional space area with an origin coinciding with the tool appearing
on the display unit, and carrying out the grasp-state-setting process on the selected
3-dimensional model.
Preferably, at the step of carrying out the grasp-state-setting process,
a 3-dimensional model appearing on the display unit is moved to a position of the
tool if the 3-dimensional model exists in the effect range.
Preferably, at the step of carrying out the grasp-state-setting process,
control is executed to remove an appearance of the tool from the display unit after
a start of the grasp-state-setting process.
Preferably, at the step of carrying out the grasp-state-setting process,
control is executed to update a position and a posture of the 3-dimensional model
appearing on the display unit in accordance with information on a position and
a posture obtained from the sensor after a start of the grasp-state-setting process.
Preferably, at the step of carrying out the grasp-state-setting process,
the area of a 3-dimensional model appearing on the display unit is identified by
recognizing a bounding-box area including the 3-dimensional model, an internal
area of the 3-dimensional model or a bounding sphere displayed as a smallest sphere
including the 3-dimensional model.
Preferably, at the step of carrying out the grasp-state-setting process,
control is executed to display a specific 3-dimensional model subjected to the
grasp-state-setting process by distinguishing the specific 3-dimensional model
from other 3-dimensional models appearing on the display unit.
In accordance with a another embodiment of the present invention, a program-providing
medium for a computer program to be executed on a computer system to carry out
3-dimensional model processing to process a 3-dimensional model appearing on a
display unit is provided, the computer program including the steps of allowing
the user to arbitrarily control information on a position and a posture, which
is generated by a sensor, and carrying out a grasp-state-setting process of taking
a relation between the sensor-generated information on a position and a posture
of the sensor and information on a position and a posture of the 3-dimensional
model appearing on the display unit as a constraint relation on the basis of a
relation between a 3-dimensional position of the 3-dimensional model appearing
on the display unit and the 3-dimensional position of a tool appearing for the
sensor on the display unit or on the basis of a relation between a 3-dimensional
posture of the 3-dimensional model appearing on the display unit and a 3-dimensional
posture of the tool appearing for the sensor on the display unit.
The above program-providing medium may be a medium for providing the computer
program in a computer-readable format to a typical general-purpose computer system
capable of executing a variety of programs. Examples of the program-providing medium
are a storage medium such as a CD (compact disc), an FD (floppy disc) or an MO
(magneto-optical) disc and a transmission medium such as a network. The format
of the program-providing medium is not prescribed in particular.
Such a program-providing medium defines a structural and functional cooperative
relation between the computer program and the providing medium to implement predetermined
functions of the computer program on the general-purpose computer system. In other
words, by installation of the computer program from the program-providing medium
in the general-purpose computer system, effects of collaboration can be displayed
on the computer system and the same effects as the other aspects of the present
invention can thus be obtained.
Other objects, features and merits of the present invention will probably become
apparent from the following detailed description of preferred embodiments of the
present invention with reference to accompanying diagrams.
BRIEF DESCRIPTION OF THE FIGURES
FIG. 1 is a block diagram showing pieces of hardware of a 3-dimensional-model-processing
apparatus provided by the present invention;
FIG. 2 is a diagram showing a display of the 3-dimensional-model-processing
apparatus provided by the present invention and a typical configuration of a sensor;
FIG. 3 is a flowchart representing a procedure to start and end grasp processing
in the 3-dimensional-model-processing apparatus provided by the present invention;
FIG. 4 is a flowchart representing a first procedure of grasp judgment processing
in the 3-dimensional-model-processing apparatus provided by the present invention;
FIG. 5 is a flowchart representing a second procedure of the grasp judgment
processing in the 3-dimensional-model-processing apparatus provided by the present invention;
FIG. 6 is an explanatory diagram outlining use of an optical beam in grasp judgment
processing in the 3-dimensional-model-processing apparatus provided by the present invention;
FIG. 7 is a flowchart representing a third procedure of the grasp judgment processing
in the 3-dimensional-model-processing apparatus provided by the present invention;
FIGS. 8A and 8B are explanatory diagrams outlining use of a bullet in grasp
judgment processing in the 3-dimensional-model-processing apparatus provided by
the present invention;
FIG. 9 is a flowchart representing a fourth procedure of the grasp judgment
processing in the 3-dimensional-model-processing apparatus provided by the present invention;
FIG. 10 is a flowchart representing a fifth procedure of the grasp judgment
processing in the 3-dimensional-model-processing apparatus provided by the present invention;
FIGS. 11A and 11B are explanatory diagrams outlining use of an effect range
in grasp judgment processing in the 3-dimensional-model-processing apparatus provided
by the present invention;
FIG. 12 is a flowchart representing a sixth procedure of the grasp judgment
processing in the 3-dimensional-model-processing apparatus provided by the present
invention; and
FIG. 13 is a flowchart representing a seventh procedure of the grasp judgment
processing in the 3-dimensional-model-processing apparatus provided by the present invention.
DETAILED DESCRIPTION OF THE INVENTION OF THE PREFERRED EMBODIMENTS OF THE INVENTION
Preferred embodiments of the present invention will be described in detail
with reference to the drawings.
FIG. 1 shows a block diagram of pieces of hardware of a control means of a 3-dimensional-model-processing
system to which the present invention's 3-dimensional model-processing apparatus
and 3-dimensional model-processing method can be applied.
As shown in FIG. 1, the 3-dimensional model-processing system includes main components
such as a processing circuit
101, a program memory
102, a data memory
103, a frame memory
104, a picture display unit
105, an input
unit
106, and an external storage unit
107. The processing circuit
101, the program memory
102, the data memory
103, the frame
memory
104, the input unit
106, and the external storage unit
107
are connected to each other by a bus
108 in a configuration allowing data
to be exchanged among them through the bus
108. The processing circuit
101
is a CPU (central processing unit) for executing a variety of processing programs
to carry out, among other processes, the present invention's processing to grasp
a 3-dimensional model. The program memory
102 includes a RAM (random-access
memory) and a ROM (read-only memory) which are used for storing the processing
programs. The data memory
103 is typically a RAM for storing processed data.
The frame memory
104 is used for storing video information for displaying
a 3-dimensional space including a 3-dimensional model and a tool. The picture display
unit
105 is used for displaying a video signal stored in the frame memory
104 on a display device. Representatives of the display device include a
computer display unit and an HMD (head mount display) unit. The input unit
106
is used for inputting measurement values generated by a variety of input devices.
The external storage unit
107 is used for storing programs and information
on a 3-dimensional model.
The external storage unit
107 is a secondary storage device used for storing
programs and information on a 3-dimensional model as described above. A representative
of the secondary storage device is a hard disc. Information required in processing
carried out by execution of a program can also be stored in the external storage
unit
107. Examples of such information are information on a 3-dimensional
model and the state of a grasp tool which are stored also in the data memory
103.
The input unit
106 acquires measurement values generated by a variety
of input devices as described above. To be more specific, the input unit
106
receives measurement values generated by a 3-dimensional input device such as a
3-dimensional sensor or a 3-dimensional mouse and used for updating the position
and the posture of the grasp tool. Instead of a 3-dimensional input device, a 2-dimensional
input device such as a mouse and a tablet can also be used. The input unit
106
also acquires an on/off state of a push button or the like. The input unit
106
acquires an on/off state of a simple push button, a mouse button, a keyboard or
an on/off switch, for example. In the following description, a phrase saying: "A
button is pressed" means that the button transits from an off state to an on state.
On the other hand, a phrase saying: "A button is released" means that the button
reversely transits from an on state to an off state. A phrase saying: "A button
is clicked" means that the button is released right after being pressed. A command
entered by carrying out an operation to press, release or click a button is referred
to as an event input.
The processing circuit
101 updates the position and the posture of the
grasp tool on the basis of measurement values obtained by the input unit
106.
If necessary, the processing circuit
101 also updates information on 3-dimensional
models, which is stored in the data memory
103. The state of the grasp tool
can be a state of controlling a 3-dimensional model of an operated object or a
state of controlling no 3-dimensional model. The former state is referred to as
a grasping state while the latter one is called an non-grasping state. The verb
"grasp" used in the following description means a transition from a non-grasping
state to a grasping state of controlling a 3-dimensional model of an operated object.
On the other hand, the phrase of "release a grasp" means the opposite transition.
In addition, unless otherwise specified, the technical term "tool" implies a grasp tool.
FIG. 2 is a diagram showing a display of the 3-dimensional-model-processing
system and a typical configuration of a 3-dimensional sensor
204. In the
3-dimensional-model-processing system, the 3-dimensional sensor
204 having
a button
205 is used to operate a grasp tool
202 appearing on a monitor
(display unit)
203 as a computer graphic as well as change the position
of a 3-dimensional model
201 and information on the posture of the 3-dimensional
model
201.
By operating the 3-dimensional sensor
204, the user is capable of arbitrarily
controlling information on a position and a posture, which is output by the 3-dimensional
sensor
204. The 3-dimensional sensor
204 outputs information on the
position and the posture, which are changed by operating the 3-dimensional sensor
204. A grasp-state-setting process is a process of taking a relationship
between the sensor-generated information on the position and the posture of the
3-dimensional sensor
204 and information on the position and the posture
of the 3-dimensional model
201 appearing on the display unit
203
as a constraint relation. The 3-dimensional model-processing apparatus provided
by the present invention carries out the grasp-state-setting process on the basis
of a 3-dimensional position relationship between the 3-dimensional position of
the 3-dimensional model
201 appearing on the display unit
203 and
the 3-dimensional position of the tool
202 appearing on the display unit
203 for the 3-dimensional sensor
204. In actuality, it is control
means that carries out the grasp-state-setting process. The control means includes
the processing circuit
101 shown in FIG. 1 and the like.
The following description explains a plurality of embodiments each implementing
the grasp-state-setting process based on a 3-dimensional position relationship
between the 3-dimensional position of the 3-dimensional model
201 appearing
on the display unit
203 and the 3-dimensional position of the tool
202
appearing on the display unit
203 for the 3-dimensional sensor
204.
In the embodiments, all tools are each capable of rotating and moving a 3-dimensional
model grasped by the tool to be operated while maintaining a posture relation between
the tool and the 3-dimensional model and maintaining the position of the 3-dimensional
model relative to the tool after the 3-dimensional model is grasped and before
the 3-dimensional model is released. That is to say, while the tool is grasping
the 3-dimensional model, the tool and the 3-dimensional model together form a single
rigid body. It should be noted that the grasp tool appearing on the display unit
may have any arbitrary shape.
FIG. 3 is a flowchart representing a subroutine of the operation of a grasp
tool. The grasp-tool subroutine is invoked by the 3-dimensional-model-processing
system at time intervals or in the event of a hardware interrupt. With the grasp-tool
subroutine not activated, the 3-dimensional-model-processing system may carry out
processing other than the processing represented by the subroutine. In addition,
the 3-dimensional-model-processing system is initialized before the grasp-tool
subroutine is invoked for the first time.
The grasp-tool subroutine is explained by referring to the flowchart shown in
FIG. 3. As shown in the figure, the flowchart begins with a step S
301 at
which the position and the posture of the tool are updated on the basis of measurement
values obtained from the input unit
106. The flow of the subroutine then
goes on to a step S
302 to form a judgment as to whether or not the tool
is in a grasping state. If the tool is in a non-grasping state of grasping no 3-dimensional
model, the flow of the subroutine goes on to a step S
303 at which a grasp
judgment subroutine is called to form a judgment as to whether or not a 3-dimensional
model exists and, if necessary, an existing 3-dimensional model, if any, is grasped.
If the result of the judgment formed at the step S
302 indicates that the
tool is in a grasping state of grasping a 3-dimensional model, on the other hand,
the flow of the subroutine goes on to a step S
304 at which the position
and the posture of the 3-dimensional model are updated so that the relative position
and the posture relation of the grasped 3-dimensional model remain unchanged. The
flow of the subroutine then goes on to a step S
305 to form a judgment as
to whether or not a relevant button has been clicked. If the relevant button has
been clicked, the flow of the subroutine goes on to a step S
306 at which
the grasping state is terminated. In the termination of a grasping state, the grasped
3-dimensional model is merely released, that is, the grasped 3-dimensional model
is left at the present position thereof. As an alternative, the grasped 3-dimensional
model may also be released after a transformation such as some movement or some
rotation. The grasp judgment subroutine called at the step S
303 is further
exemplified by the following embodiments.
First Embodiment
A first embodiment implements the grasp judgment subroutine, grasping a 3-dimensional
model when a button assigned to a tool existing inside the 3-dimensional model
is clicked. In order to grasp a 3-dimensional model in this embodiment, it is necessary
to move the tool to the inside of the 3-dimensional model and click the button.
Thus, in this embodiment, the tool is concealed in the 3-dimensional model.
As a result, if a plurality of 3-dimensional models are superposed on each other,
it is difficult to determine which 3-dimensional model contains the tool and, thus,
which 3-dimensional model is to be grasped when the button is clicked. By viewing
only the display appearing on the display unit, it is also difficult to form a
judgment as to whether or not the tool is put correctly in the depth direction
inside the 3-dimensional model to be operated. In order to solve these problems,
in this embodiment, a 3-dimensional model satisfying a condition for being grasped
upon a click operation of the button is clearly expressed in the grasping operation
so as to allow the user to identify the 3-dimensional model being grasped.
A 3-dimensional model satisfying a condition for being grasped upon a click operation
of the button is referred to as a graspable 3-dimensional model. Clear expressions
of a 3-dimensional model being grasped include a highlighted display of the 3-dimensional
model being operated, a display of a special icon, a display of a bounding box
and transparent displays of 3-dimensional models other than the 3-dimensional model
being grasped. It should be noted that a bounding box is an area prescribed by
a smallest rectangle (2-dimension) or a smallest cube (3-dimension), which includes
the body being operated.
FIG. 4 is a flowchart representing a grasp judgment subroutine according to
this embodiment. As shown in the figure, the flowchart begins with a step S
401
at which the location of the tool is examined. The flow of the subroutine then
goes on to a step S
402 to form a judgment as to whether the tool is located
inside one of 3-dimensional models. More specifically, as one technique of forming
such a judgment, the tool is examined to determine whether or not the tool is located
inside the area formed by the shape of a 3-dimensional model, that is, whether
or not the tool is located inside the internal area of the 3-dimensional model,
whether or not the tool is located inside a bounding box or whether or not the
tool is located within a predetermined distance from the center of a 3-dimensional
model, that is, whether or not the tool is located inside a bounding sphere expressed
as a smallest sphere including the 3-dimensional model. If the tool is not located
inside any of the 3-dimensional models, the subroutine is terminated. If the tool
is located inside one or more 3-dimensional models, on the other hand, the flow
of the subroutine goes on to a step S
403.
Processing is carried out at the step S
403 to form a judgment as
to whether or not the tool is located inside a plurality of 3-dimensional models.
If the tool is located inside only one 3-dimensional model, the flow of the subroutine
goes on to a step S
404 at which the 3-dimensional model containing the tool
is taken as a graspable 3-dimensional model. The flow of the subroutine then goes
on to a step S
406. If the result of the judgment formed at the step S
403
indicates that the tool is located inside a plurality of 3-dimensional models,
on the other hand, the flow of the subroutine then goes on to a step S
405
at which a graspable 3-dimensional model is selected among the 3-dimensional models
containing the tool. In one method for selecting a graspable 3-dimensional model,
a 3-dimensional model with a local-coordinate center or a bounding-box center thereof
closest to the position of the tool is chosen. As a possible alternative, an order
number is assigned to each of the 3-dimensional models containing the tool in advance
and one or more 3-dimensional models are selected starting with the first one in
the order. As another alternative, all the 3-dimensional models containing the
tool are selected. It should be noted, however, that techniques for selecting a
graspable 3-dimensional model are not limited to these methods. Instead, a graspable
3-dimensional model can be selected by carrying out a process conforming to rules
set in advance. At the next step S
406, the selected graspable 3-dimensional
model is clearly expressed. The flow of the subroutine then goes on to a step S
407
to form a judgment as to whether or not the button assigned to the tool has been
clicked. If the button assigned to the tool has been clicked, the flow of the subroutine
then goes on to a step S
408 at which the graspable 3-dimensional model is grasped.
In the embodiment described above, the button is operated by being clicked. It
should be noted, however, that a 3-dimensional model can also be grasped only while
the button is being pressed and ungrasped as soon as the button is released.
Also note that it is possible to omit the processing carried out at the step
S
406 of the flowchart shown in FIG. 4 to clearly express a graspable 3-dimensional model.
Second Embodiment
A second embodiment implements the grasp judgment subroutine, grasping a 3-dimensional
model when a button assigned to a tool in contact with a surface of the 3-dimensional
model is clicked.
After the tool has been brought into contact with the surface of the 3-dimensional
model, the tool can be moved to crawl over the surface of the 3-dimensional model,
starting from the original position of the tool in a state of no restrictions.
FIG. 5 is a flowchart representing the operation of the second embodiment. As
shown in the figure, the flowchart begins with a step S
501 to form a judgment
as to whether or not the tool has been brought into contact with a surface of a
3-dimensional model. If the tool has not been brought into contact with a surface
of a 3-dimensional model, the operation is ended. If the tool has been brought
into contact with a surface of a 3-dimensional model, on the other hand, the flow
of the subroutine goes on to a step S
502 at which the 3-dimensional model
in contact with the tool is expressed clearly. In one method of clearly expressing
a 3-dimensional model, the same technique as the first embodiment can be adopted.
The flow of the subroutine then goes on to a step S
503 to form a judgment
as to whether or not the button assigned to the tool has been clicked. If the button
assigned to the tool has been clicked, the flow of the subroutine then goes on
to a step S
504 at which the 3-dimensional model in contact with the tool
is grasped.
In the embodiment described above, the button is operated by being clicked. It
should be noted, however, that a 3-dimensional model can also be grasped only while
the button is being pressed and ungrasped as soon as the button is released. In
addition, it is also possible to omit the processing carried out at the step S
502
of the flowchart shown in FIG. 5 to clearly express a graspable 3-dimensional model.
Third Embodiment
A third embodiment implements the grasp judgment subroutine, allowing a 3-dimensional
model to be grasped even if the 3-dimensional model is separated away from a tool.
FIG. 6 is a diagram showing the concept adopted by the third embodiment. In this
configuration, a straight line or an optical beam
602 representing the orientation
of a tool
601 is displayed with the tool
601 used as a starting point
and, when a button assigned to the tool
601 is clicked, a 3-dimensional
model
603 crossed by the optical beam
602 is grasped. In an operation
to grasp the 3-dimensional model
603 being operated, control may be executed
to pull the 3-dimensional model
603 toward the position of the tool
601
and place at a location where the 3-dimensional model
603 comes in contact
with the tool
601. As an alternative, control is executed to take the local-coordinate
center or the bound-box center of the 3-dimensional model
603 to the position
of the tool
601. As another alternative, the position of the 3-dimensional
model
603 relative to the tool
601 is sustained with the posture
of the 3-dimensional model
603 maintained as it is. If the optical beam
602 does not cross a 3-dimensional model
603, nothing will happen
even if the button
601 is clicked.
FIG. 7 is a flowchart representing the operation of the third embodiment. As
shown in the figure, the flowchart begins with a step S
701 at which the
optical beam
602 is traced to find an intersection with a 3-dimensional
model. Then, the flow of the subroutine goes on to a step S
702 to form a
judgment as to whether or not the optical beam
602 crosses a 3-dimensional
model. If the optical beam
602 does not cross any 3-dimensional model, the
operation is ended. Otherwise, the flow of the subroutine goes on to a step S
703
to form a judgment as to whether or not the optical beam
602 crosses a plurality
of 3-dimensional models. If the optical beam
602 crosses only one 3-dimensional
model, the flow of the subroutine goes on to a step S
704 at which the crossed
3-dimensional model is taken as a graspable 3-dimensional model. If the optical
beam
602 crosses a plurality of 3-dimensional models, on the other hand,
the flow of the subroutine goes on to a step S
705 at which a graspable 3-dimensional
model is selected among the crossed 3-dimensional models. As a selection standard,
it is natural to select a graspable 3-dimensional model closest to the tool
601.
As an alternative method of selecting a graspable 3-dimensional model or graspable
3-dimensional models, it is also possible to choose a 3-dimensional model closest
to the tool
601 among those separated away by at least a predetermined distance
along the optical beam
602 from the tool
601, a 3-dimensional model
farthest from the tool
601 or all crossed 3-dimensional models. As another
alternative, a graspable 3-dimensional model or graspable 3-dimensional models
are selected by adopting one of the alternative methods, which is determined on
a case-by-case basis. At the next step S
706, the selected graspable 3-dimensional
model is clearly displayed by adoption of typically the same clear-expression technique
as the first embodiment. The flow of the subroutine then goes on to a step S
707
to form a judgment as to whether or not the button assigned to the tool
601
has been clicked. If the button assigned to the tool
601 has been clicked,
the flow of the subroutine goes on to a step S
708 at which the selected
graspable 3-dimensional model is grasped.
In the embodiment described above, the button is operated by being clicked. It
should be noted, however, that a 3-dimensional model can also be grasped only while
the button is being pressed and ungrasped as soon as the button is released. In
addition, it is also possible to omit the processing carried out at the step S
706
of the flowchart shown in FIG. 7 to clearly express a graspable 3-dimensional model.
Fourth Embodiment
A fourth embodiment implements the grasp judgment subroutine,