INTERFACES AND METHODS OF DIGITAL COMPOSITION AND EDITING OF TEXTURES FOR RENDERING ON TACTILE SURFACES
20170249014 · 2017-08-31
Inventors
Cpc classification
G06F3/04847
PHYSICS
G06F3/0488
PHYSICS
G06F3/017
PHYSICS
G08B6/00
PHYSICS
G06F3/016
PHYSICS
International classification
G06F3/0488
PHYSICS
Abstract
This disclosure provides designer interfaces that present condensed representations of texture functions, the representations displaying selected control points that manipulate the representations, an algorithm that computes a texture function based on the positions of said selected control points, and the texture function generating a signal to control a force on an appendage of a user that touches a tactile surface, and methods of using the designer interfaces.
Claims
1. A method for composing and editing texture functions comprising the steps of: providing a designer interface with condensed representations of texture functions on an interface touch screen; selecting control points on the interface touch screen that manipulate said representations; implementing an algorithm that computes a texture function based on the positions of the control points on the interface touch screen; and rendering to a tactile surface a force defined by the computed texture function.
2. The method of claim 1, wherein a simplified condensed representation of a texture function is displayed as a frequency spectrum, further comprising: said control points being movable in the y-axis to control the magnitude of the texture function across a frequency spectrum; and said algorithm operating to add, multiply, or convolve the frequency spectrum specified by said control points with white noise to generate a texture function.
3. The method of claim 2, wherein said frequency spectrum represents spatial or temporal frequency.
4. The method of claim 2, wherein said control points are movable with respect to frequency and magnitude.
5. The method of claim 2, wherein the algorithm multiplies said frequency spectrum by 1/f or Gaussian noise.
6. The method of claim 1, wherein a simplified condensed representation of a texture function is displayed as a series of fundamental periodic waves and their harmonics, further comprising: said control points being movable to define a magnitude and phase of each wave and harmonic; and said algorithm operating to sum the waves and harmonics specified by said control points and generate a texture function.
7. The method of claim 6, wherein said periodic waves and harmonics exist in a spatial domain or temporal domain.
8. The method of claim 6, wherein said control points are represented on a real-imaginary plane.
9. The method of claim 1, wherein said representation of a texture function is a function dependent on a state variable, further comprising: said control points being movable relative to a y-axis to control a force output for given touch states associated with an x-axis.
10. The method of claim 9, wherein said state variable is defined by a position of a sensed touch by a user of the tactile surface and its derivatives or by the position of a virtual object and its derivatives.
11. The method of claim 1, wherein said representation of a texture function is a combination of affective adjective pairs, further comprising: said control points being associated with affective adjective pairs and each control point being movable as a slider acting to control the relative strength of one of the respective affective adjectives; said algorithm using a collection of perception data to create texture functions representative of each affective adjective; and a further algorithm that adds, multiplies, or convolves said texture functions to create a combinatory texture function.
12. The method of claim 1, wherein said control points further comprise blocks of texture functions that can be moved and connected to form a complex combined texture function.
13. The method of claim 12, wherein said blocks represent texture functions created by the previously described methods.
14. A designer interface: a graphical user interface that presents condensed representations of texture functions; said representations displaying selected control points that manipulate said representations; an algorithm that computes a texture function based on the positions of said selected control points; and said texture function associated with generating a signal to control a force on an appendage that touches a tactile surface.
15. The designer interface of claim 14, wherein said control points are movable relative to a y-axis to control magnitude of the texture function across a frequency spectrum, and said algorithm operates to add, multiply, or convolve the frequency spectrum specified by said control points with white noise to generate a texture function.
16. The designer interface of claim 15, wherein said frequency spectrum represents spatial or temporal frequency.
17. The designer interface of claim 15, wherein said control points are movable with respect to frequency and magnitude.
18. The designer interface of claim 15, wherein the algorithm is configured to multiply said frequency spectrum by 1/f or Gaussian noise.
19. The designer interface of claim 14, wherein a simplified condensed representation of a texture function is displayed as a series of fundamental periodic waves and their harmonics, and wherein said control points are movable to define a magnitude and phase of each wave and harmonic, and said algorithm sums the waves and harmonics specified by said control points and generates a texture function.
20. The designer interface of claim 19, wherein said periodic waves and harmonics exist in a temporal or spatial domain.
21. The designer interface of claim 19, wherein said control points are represented on a real-imaginary plane.
22. The designer interface of claim 14, wherein said representation of a texture function is a function dependent on a state variable, and said control points are movable relative to a y-axis to control a force output for given touch states associated with an x-axis.
23. The designer interface of claim 22, wherein said state variable is defined by a position of a sensed touch by a user of the tactile surface and its derivatives.
24. The designer interface of claim 22, wherein said state variable is defined by the position of a virtual object and its derivatives.
25. The designer interface of claim 14, wherein said representation of a texture function is a combination of affective adjective pairs, said control points being associated with affective adjective pairs with each control point being movable as a slider acting to control the relative strength of one of the respective affective adjectives, said algorithm using a collection of perception data to create texture functions representative of each affective adjective, and a further algorithm that adds, multiplies, or convolves said texture functions to create a combinatory texture function.
26. The designer interface of claim 25, wherein said control points further comprise blocks of texture functions that can be moved and connected to form a complex combined texture function.
27. The designer interface of claim 26, wherein said blocks represent texture functions created by the previously described designer interfaces.
28. The designer interface of claim 14 wherein said graphical user interface further comprises a touch screen.
29. The designer interface of claim 14, wherein said graphical user interface receives wired or wireless communication from a designer.
30. A method for representing and editing texture comprising the steps of: transforming texture into a space-frequency domain, providing computational methods for making edits in the space-frequency domain; implementing an algorithm to reconstruct the texture from a space-frequency domain representation; and rendering the reconstructed texture to a tactile surface for exploration and further editing.
31. The method of claim 30 wherein the step of transforming texture into a space-frequency domain includes at least a windowed Fourier transform or a wavelet transform.
32. The method of claim 30 wherein the computational methods at least measure statistics on existing space-frequency domain data, repopulate the space-frequency domain with data sampled from a probability distribution, or modify the space-frequency domain by adding data sampled from a probability distribution.
33. The method of claim 30 wherein the algorithm to reconstruct the texture at least is a recursive approximation or runs in real-time.
34. The method of claim 30, further comprising: a designer interface with condensed representations of the texture in both space and frequency domain; and a suite of tools on said interface that modify the space-frequency domain data.
35. The method of claim 34 wherein the suite of tools includes at least a paintbrush tool for painting texture to the surface or an eye-dropper tool for calculating statistics on a selected area of the surface.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] In describing the preferred embodiments, reference is made to the accompanying drawing figures wherein like parts have like reference numerals, and wherein:
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036] It should be understood that the drawings are not to scale. While some details of graphical interfaces have not been included, such details are considered well within the comprehension of those of skill in the art in light of the present disclosure. It also should be understood that the present invention is not limited to the example embodiments illustrated.
GLOSSARY
[0037] The following terms have the following meanings within the present disclose:
[0038] compose—to design and create a texture function;
[0039] control point—a user-changeable point on a composing interface that uses graphical representations to define a portion of a mathematical function;
[0040] tactile surface—a touch surface on a device which achieves variable lateral force that may be applied to an appendage, such as a bare finger that is in contact with the surface;
[0041] texture function—a mathematical function that uses inputs such as finger position and its derivatives, time, and other finger and internal state variables and computes a lateral force to be applied to the finger;
[0042] to render a texture—to achieve the lateral force on a tactile surface commanded by a texture function; and
[0043] state variable—position, velocity, acceleration, or other derivatives of fingertip contact with the tactile surface.
DETAILED DESCRIPTION
[0044] Referring to
[0045] Haptic technology renders virtual textures by achieving force modulation on a fingertip scanning or sliding across a tactile surface. One such example is shown in
[0046] Turning to
[0047] Turning to
[0048] With respect to graphical interfaces 20,
[0049] From this spatial domain texture function 24, the output actuator force F(t) is computed by taking as input the finger position 10 as sensed by a sensor 8, for instance in the context of the device depicted in
F(t)=T(x(t)) (2)
[0050] In the preferred embodiment, these waves are sinusoidal functions of one or more spatial coordinates, such as the x and y coordinates of a respective touch location 10. It should be appreciated that other functional forms (e.g., square or triangle waves) can be used instead of sinusoids, and that the waves also may be functions of other variables, such as time.
[0051] In the preferred embodiment, a designer composes a desired texture that a user would feel on a finger 6 that is touching the tactile surface 2 by adding in new fundamental periodic waves and their respective harmonics by sliding the control points on their respective graphs, 58, 64, 66, 68, 70, 72, etc.
[0052] The main benefit of the additive composition tool or composing interface 20a is the capability to create signals associated with virtual presentations on graphs and to be able to perceive their resulting texture quickly. Without this tool, waveforms must be hand-coded, which takes significant time and effort, limiting the ability to use an iterative process to arrive at a final design. Iterative design is crucial to the creative process, and this tool enables users to practice and learn from their past creations to form mental models of virtual textures.
[0053] Turning to
[0054] The subtractive composition method begins with a noise function. In a preferred embodiment, the waveform of a noise is a function of two spatial coordinates where a user is touching a touch surface, but it may also be a function of other variables, such as time. An arbitrary filter, for example a low-pass, band-pass, or other is chosen by the designer to filter the noise in space and time. In a preferred embodiment, the filter is designed by moving or drawing a set of control points on a frequency spectrum 76. Control points, shown as dots on the curve in
[0055] The designer sets the magnitude of the filter at these control wavelengths by dragging or drawing them in place. The final filter contains half of the discrete Fourier transform space of the tactile surface workspace. The wavelengths at which the final filter exists are given by equation 4, where r is the resolution of the finger position sensor 8, k=[1, L/2r], and L is the length of the finger position sensor 8.
λ.sub.k=2rk (4)
[0056] In the preferred embodiment, the filter is set to zero outside the frequency range of interest, which is bounded by the λ.sub.i terms that dictate the horizontal position of the axis. The λ.sub.kterms between the control points are interpolated by a piecewise cubic hermite spline function, thus completing the entire filter calculation. The final filter is given by the function in equation 5, where pchip( ) represents the piecewise cubic hermite interpolation function.
G(k)=0 if λ.sub.koutside λ.sub.i (5)
G(k)=pchip(λ.sub.i) if λ.sub.kinside λ.sub.i
[0057] In the preferred embodiment of this further example interface, the finished interpolated filter is multiplied by a noise function to create a noisy frequency spectrum with frequency components that are proportional in magnitude to the designed curve that is associated with the selected control points. The noisy frequency spectrum is given by equation 6.
F(k)=(rand(0,1)e.sup.−irand(0,2π))G(k) (6)
[0058] The noisy frequency spectrum is passed through an inverse discrete Fourier transform to obtain the input signal for generating the spatial-domain texture that would be experienced by the user's finger 6. This spatial-domain texture is added to a prescribed input for a DC offset and rendered on a tactile surface 2, as described previously with equation 2.
[0059] Other possible embodiments include those that perform calculations and implement the filter in other domains, such as the temporal domain, in which case the filter is convolved with a temporal white noise signal. Additionally, designed filters may be combined with each other or other effects by addition or subtraction. Control points may be placed linearly or logarithmically spaced at any resolution, or may be spaced irregularly as chosen by the designer. Other interpolation algorithms, such as spline or polynomial also may be used. Additionally, control points may have variable-width tangent curves, such that they create sharper or broader spikes in the frequency domain. This can be implemented by calculating minimum spline radii, or by using bezier-curve interpolation. The noise function also maybe gaussian noise, 1/f noise or other noise signals, as well as waveforms or signals based on measured textures or other composed textures.
[0060] The main benefit of this method of subtractive composition is the ease of designing complex textures. The randomization also allows for creation of more realistic texture signals without the need for exact specification of the texture function.
[0061] The new designer interfaces also enable use of an advantageous affective composition. Affective composition uses pre-defined principal components to create a texture that evokes emotions described by the principal components themselves. For instance, in another preferred example embodiment of a graphical interface in the form of a designer interface 20c that is shown in
[0062] In the example embodiment, the texture composition algorithm modifies a range of spatial frequencies between 4 mm and 0.4 mm in wavelength as governed by equation 7, where R is the position of the “Roughness” slider from 0-1, 0 being the softest, 1 being the roughest.
E(k)=10R for 0.4 mm<λ.sub.k<4 mm
E(k)=10(1−R) for λ.sub.k<0.4 mm
E(k)=1 otherwise (7)
[0063] As the slider 80 is moved toward “rough”, the algorithm boosts the texture function at frequencies between 0.4 and 4 mm wavelength, by increasing the magnitude of the effect, E(k) at those frequencies. As the slider 80 is moved toward “smooth”, those frequencies are attenuated and higher frequencies with wavelengths smaller than 0.4 mm are boosted. The resulting filter, E(k) is algorithmically designed to match user experience.
[0064] To design the filter, E(k), a set of physical textures that span the space of perception can be evaluated for their affective consequences using any of a number of known psychometric testing techniques. Using multidimensional scaling techniques, principal component analysis, and/or linear regression, the affective responses are fit to a series of filters that are linearly combined via the composing interface in
[0065] “Effects” are alterations to standard textures that are intended to enhance the design space available to texture composers. In an example embodiment, a pre-designed texture is represented as a block 90 on the left-hand side of a graphical interface in the form of a designer interface 20d, as shown in
[0066] In this example embodiment, the viscosity 92 effect is designed by placing control points on a graphical interface in the form of the designer interface 20e, such as is shown in
[0067] Effects may include, but are not limited to, functions dependent on time, space, finger contact state, and other internal states. These effects may carry physically motivated names such as viscosity or inertia, or emotionally motivated names, such as happiness or warmth.
[0068] The effects panel of the designer interface 20d allows the user to add and create new and different effects to the same underlying texture. For example, the same virtual material (e.g., corduroy pants) could feel sticky in one spot, or more viscous in another spot, in order to convey different meaning about those areas. In the case of corduroy pants, an area with an oil stain could be rendered more viscous, or an area with a syrup spill could be rendered to feel stickier.
[0069] Turning to
[0070] Shown in
[0071] Once the data is represented in the space-frequency domain, edits to the texture are performed via a composing interface.
[0072]
[0073] The use of space-frequency transformations for analysis, storage, and synthesis of virtual texture is a novel method that offers significant advantage over the prior art. The space-frequency transform enhances a computer's ability to perform texture segmentation, by which different areas of the surface are characterized by their different feeling. It also facilitates localized composition, in which desired textures are edited on the surface in certain areas chosen through a composing interface. Additionally, because the space-frequency domain is more closely aligned with perception, it may serve as a first-step analysis for texture compression, an application that will be necessary as networked devices begin to implement programmable tactile surfaces.
[0074] Moving to
[0075] In another example embodiment, the model texture is a series of Rayleigh distributions with scale σ.sub.k.sup.2, and the eyedropper tool fits the recorded distribution via a maximum likelihood estimator given by equation 9.
[0076] Once a texture has been created, either by measuring with the eyedropper or composing from scratch, this texture should be applied to the surface.
[0077]
[0078] Sometimes, however, a designer does not want to completely replace a texture that already exists on a surface.
[0079]
[0080]
T(mS, 0)=∇h(mS) (12)
[0081]
[0082] It will be appreciated that the computational methods and graphical interfaces for use in digitally representing, designing and editing virtual textures in accordance with the present disclosure may be provided in various configurations. Any variety of suitable materials of construction, configurations, shapes and sizes for the graphical interfaces and tactile surfaces may be utilized to meet the particular needs and requirements of an end user. It will be apparent to those skilled in the art that various modifications can be made in the design and construction of such graphical interfaces without departing from the scope of the claimed subject matter, and that the claims are not limited to the preferred embodiments illustrated herein.