Joint component framework for modeling complex joint behavior
First Claim
1. A computer-readable medium encoded with instructions which, when executed by a computer, cause the computer to determine a transformation matrix based on a joint component model, the joint component model representing joint expressions over a plurality of bone segments, the model comprising:
- a first joint component including an input, an output, and a parameter, the first joint component configured to map the input to the output using a first mathematical function, wherein the mapping is controlled by the parameter;
a second joint component including an input and an output, the second joint component configured to map the input to the output using a second mathematical function; and
a joint set function including a network of the first joint component and the second joint component, the joint set function having a joint set function input and a joint set function output, the joint set input configured to provide a control for a user, the joint set output configured to provide a transformation matrix for manipulating a bone segment of the plurality of bone segments, wherein, if the bone segment has one or more parent segments, the transformation matrix is unequal to a product of transformation matrices of joints of the one or more parent segments,wherein the joint set function includes a rotation component wherein the rotation component is configured to model a changing joint center of rotation that provides a first joint center of rotation for a first angle interval and a second joint center of rotation for a second angle interval.
1 Assignment
0 Petitions
Accused Products
Abstract
A general joint component framework that is capable of exhibiting complex behaviors of joints in articulated figures is provided. A network of joint components is used to model the kinematics of a joint. A joint builder can specify parameters for each of the joint components and join the joint components to form a joint set function that captures the biomechanical dependencies between the components. The joint function has fewer inputs than the total number of possible articulations yielding both simple control and biomechanically accurate joint movement.
69 Citations
9 Claims
-
1. A computer-readable medium encoded with instructions which, when executed by a computer, cause the computer to determine a transformation matrix based on a joint component model, the joint component model representing joint expressions over a plurality of bone segments, the model comprising:
-
a first joint component including an input, an output, and a parameter, the first joint component configured to map the input to the output using a first mathematical function, wherein the mapping is controlled by the parameter; a second joint component including an input and an output, the second joint component configured to map the input to the output using a second mathematical function; and a joint set function including a network of the first joint component and the second joint component, the joint set function having a joint set function input and a joint set function output, the joint set input configured to provide a control for a user, the joint set output configured to provide a transformation matrix for manipulating a bone segment of the plurality of bone segments, wherein, if the bone segment has one or more parent segments, the transformation matrix is unequal to a product of transformation matrices of joints of the one or more parent segments, wherein the joint set function includes a rotation component wherein the rotation component is configured to model a changing joint center of rotation that provides a first joint center of rotation for a first angle interval and a second joint center of rotation for a second angle interval.
-
-
2. A computer-readable medium encoded with instructions which, when executed by a computer, cause the computer to determine a transformation matrix based on a joint component model, the joint component model representing joint expressions over a plurality of bone segments, the model comprising:
-
a first joint component including an input, an output, and a parameter, the first joint component configured to map the input to the output using a first mathematical function, wherein the mapping is controlled by the parameter; a second joint component including an input and an output, the second joint component configured to map the input to the output using a second mathematical function; and a joint set function including a network of the first joint component and the second joint component, the joint set function having a joint set function input and a joint set function output, the joint set input configured to provide a control for a user, the joint set output configured to provide a transformation matrix for manipulating a bone segment of the plurality of bone segments, wherein, if the bone segment has one or more parent segments, the transformation matrix is unequal to a product of transformation matrices of joints of the one or more parent segments, wherein the joint set function includes a scapula constraint component wherein the scapula constraint component includes two ellipsoids configured to constrain the scapula bone using pairs of reference points.
-
-
3. A computer-readable medium encoded with instructions which, when executed by a computer, cause the computer to determine a transformation matrix based on a joint component model, the joint component model representing joint expressions over a plurality of bone segments, the model comprising:
-
a first joint component including an input, an output, and a parameter, the first joint component configured to map the input to the output using a first mathematical function, wherein the mapping is controlled by the parameter; a second joint component including an input and an output, the second joint component configured to map the input to the output using a second mathematical function; and a joint set function including a network of the first joint component and the second joint component, the joint set function having a joint set function input and a joint set function output, the joint set input configured to provide a control for a user, the joint set output configured to provide a transformation matrix for manipulating a bone segment of the plurality of bone segments, wherein, if the bone segment has one or more parent segments, the transformation matrix is unequal to a product of transformation matrices of joints of the one or more parent segments, wherein the joint set function includes a joint cone component wherein the joint cone component is configured to generate a boundary curve and to project an invalid orientation back to the boundary curve, wherein the invalid orientation is due to rotation with a changing joint center providing a first joint center of rotation for a first angle interval and a second joint center of rotation for a second angle interval.
-
-
4. A method for determining a transformation matrix for a segment of a joint, the method comprising:
-
selecting a first joint component comprising a first mathematical function including a parameter, wherein the first joint component is configured to provide a first joint center of rotation for a first angle interval and to provide a second joint center of rotation for a second angle interval; setting the parameter to define behavior of the first joint component; selecting a second joint component comprising a second mathematical function; coupling the first joint component and the second joint component to produce a joint set function, wherein the joint set function specifies the transformation matrix; transforming the segment using the transformation matrix; and either displaying the transformed segment or storing the transformed segment.
-
-
5. A method for determining a transformation matrix for a segment of a joint, the method comprising:
-
selecting a first joint component comprising a first mathematical function including a parameter, wherein the first joint component is configured to constrain a segment using multiple ellipsoids and multiple pairs of reference points; setting the parameter to define behavior of the first joint component; selecting a second joint component comprising a second mathematical function; coupling the first joint component and the second joint component to produce a joint set function, wherein the joint set function specifies the transformation matrix; transforming the segment using the transformation matrix; and either displaying the transformed segment or storing the transformed segment.
-
-
6. A method for determining a transformation matrix for a segment of a joint, the method comprising:
-
selecting a first joint component comprising a first mathematical function including a parameter, wherein the first joint component is configured to generate a boundary curve and to project an invalid orientation onto the boundary curve, wherein the invalid orientation is due to rotation with a changing joint center providing a first joint center of rotation for a first angle interval and a second joint center of rotation for a second angle interval; setting the parameter to define behavior of the first joint component; selecting a second joint component comprising a second mathematical function; coupling the first joint component and the second joint component to produce a joint set function, wherein the joint set function specifies the transformation matrix; transforming the segment using the transformation matrix; and
either displaying the transformed segment or storing the transformed segment.
-
-
7. An apparatus for determining a transformation matrix for a segment of a joint, the apparatus comprising:
-
means for selecting a first joint component comprising a first mathematical function including a parameter, wherein the first joint component is configured to provide a first joint center of rotation for a first angle interval and to provide a second joint center of rotation for a second angle interval; means for setting the parameter to define behavior of the first joint component; means for selecting a second joint component comprising a second mathematical function; and means for coupling the first joint component and the second joint component to produce a joint set function, wherein the joint set function specifies the transformation matrix.
-
-
8. An apparatus for determining a transformation matrix for a segment of a joint, the apparatus comprising:
-
means for selecting a first joint component comprising a first mathematical function including a parameter, wherein the first joint component is configured to constrain a segment using multiple ellipsoids and multiple pairs of reference points; means for setting the parameter to define behavior of the first joint component; means for selecting a second joint component comprising a second mathematical function; and means for coupling the first joint component and the second joint component to produce a joint set function, wherein the joint set function specifies the transformation matrix.
-
-
9. An apparatus for determining a transformation matrix for a segment of a joint, the apparatus comprising:
-
means for selecting a first joint component comprising a first mathematical function including a parameter, wherein the first joint component is configured to generate a boundary curve and to project an invalid orientation onto the boundary curve, wherein the invalid orientation is due to rotation with a changing joint center providing a first joint center of rotation for a first angle interval and a second joint center of rotation for a second angle interval; means for setting the parameter to define behavior of the first joint component; means for selecting a second joint component comprising a second mathematical function; and means for coupling the first joint component and the second joint component to produce a joint set function, wherein the joint set function specifies the transformation matrix.
-
Specification