210 likes | 373 Views
Topography Compensation Algorithm For Mesh Representation HVR Lab Workshop 2010 – 8 – 04 Presenter : Sunghoon Yim , HVR, POSTECH. Contents. Introduction Motivation Force constancy Basic TCA and its limitations TCA for Mesh Structure Issues for TCA Mesh representation
E N D
Topography Compensation AlgorithmFor Mesh Representation HVR Lab Workshop 2010 – 8 – 04 Presenter : SunghoonYim, HVR, POSTECH
Contents • Introduction • Motivation • Force constancy • Basic TCA and its limitations • TCA for Mesh Structure • Issues for TCA • Mesh representation • Rendering algorithm • Uniform stiffness preservation • Conclusion and Future work
Motivation Multi-Modal Data Perceptualization • Scanning Probe Microscope • Surface Topography and Stiffness Simultaneous Rendering of Topography and Stiffness • Incorrect perception of surface topography observed when the surface topography and stiffness vary simultaneously Trace of penalty based algorithm
Force Constancy • A user maintains a constant penetration force when s/he strokes virtual surfaces in order to perceive surface topography [Choi, ACM TAP 2005]. Actual Height Difference
Topography Compensation Algorithm Overview • The basic idea of TCA is to cancel out the height distortion in every haptic update interval. • We can estimate the height distortion using force constancy theorem
Limitation of Topography Compensation Algorithm • Height compensation term of TCA • The algorithm is based on the force constancy. • When the directions and magnitude of user’s applied force are arbitrary changed, TCA operates abnormally. • TCA only works with an implicit surface.
TCA for Mesh Structure • Polygon mesh is a typical data structure for representing surface in computer graphics, modeling, and haptics. • “TCA Mesh” can handle popular mesh models. • Main operation of TCA Mesh: • Find a CSCP for given HIP and a mesh object. • CSCP : a compensated surface contact point, an adjusted surface contact point for topography compensation. • Calculate a rendering force using the CSCP (instead SCP), HIP, and current stiffness.
Issues in Developing TCA for Mesh Structure • Integrate stiffness properties to mesh structure. • Develop new TCA to work with existing haptic rendering algorithm for mesh structure. • Extend TCA to handle arbitrary user applied force
Mesh Representation • A mesh is represented by a pair (K,V) • K is a simplicial complex representing the connectivity of the vertices/edges/faces. • V = {v1, ... , vm} isa set of m vertex positions defining the shape of mesh in R3 • We added haptic properties to the mesh. The mesh M is represented by a tuple ((K,V ),P ). • P = (p1, ... , pm) is a tuple of m vectors storing the vertex normal and stiffness, pn= [nnT , knT]T • Each pi is one-to-one mapping to the vi
Mesh Representation (cont’d) • If mesh is not self-intersecting, every point on the face (edge and vertex) can be represented using a barycentric coordinate • Given a point pi on the surface, we can get normal vector n(pi) and stiffness k(pi) using barycentric interpolation.
Rendering Algorithm Overview • Goal of given rendering loop n : • Find a CSCP q’(n) for given HIP p(n) and mesh object M. • Calculate a rendering force using CSCP (instead SCP q(n) ), HIP p(n), and current stiffness k(n). • Important points : the compensated surface contact point an avatar of the HIP constrained on a surface for force rendering the probe-tip position of a haptic interface
Find SCP in Typical Haptic Rendering Algorithm • Calculation process are determined by a collision state. • Tap, when HIP hits the surface. • To find SCP, we require collision detection. • Collision point is chosen as a seed point. The rendering algorithm searches SCP. • Stroke • We choose previous SCP as a seed point
Initial Condition of TCA • collision : collision flag for algorithm collision <= false • p(0) : initial HIP • c(n) : accumulated compensation vector c(0) <= 0 • q(n), SCP : q(0) <= p(0) • q’(n) : CSCP : q’(0) <= p(0) • k(n) : current stiffness : k(0) <= undefined
Find CSCP in TCA • Tap, when HIP hits the surface • TCA requires collision detection between a “compensated surface” and a trajectory of HIP. • We must define the “compensated surface” • CSCP is a local closest point between “compensated surface” and HIP. • Stroke • When stiffness is changes, we can calculate a compensation vector to fix shape distortion. • CSCP is computed from the compensation vector and a tracking history during stroke.
Compensated Surface • Original surface mesh : M = ((K,V ),P ) • Compensated surface of index n : Mc(n)= ((K,Vc(n)),P ),Vc(n) = {v1+c(n), ... , vm+c(n)}c(n) : accumulated compensation vector, tracking history of shape compensation
Calculate CSCP for Tap • If collision = false, the algorithm find a collision point between the compensated surface Mc(n)and trajectory of HIP p(n)-p(n-1) • If the collision point is exist, the algorithm assigns collision <= true, and sets the collision point as an initial point on the Mc(n). • The algorithm searches the local closest point on Mc(n) between HIP and Mc(n).
Calculated CSCP for Stroke • Given p(n) is given, the algorithm can calculate SCP q(n) and stiffness k(n). Then CSCP q’(n) = q(n) + c(n) • Compensation vector : d(n) = 0 if k(n) = k(n-1)fe(n) ( 1 / k(n) - 1/ k(n-1) ) otherwise • Accumulated compensation vector : c(n) = d(n) + a d(n) |c(n-1)| / |d(n)|a = sgn( c(n-1) d(n) )
Uniform Stiffness Preservation • When the algorithm maintains uniform stiffness locally, the shape distortion is prevented. • We do not need a user applied force value to calculate compensation term
Uniform Stiffness Preservation 2 • Compensation vector d(n) = k(n-1)(q’im(n)-p(n)) (1/k(n)-1/k(n-1))= fe(n) ( 1/k(n)-1/k(n-1))
Force Calculation and Post-hoc Collision Detection • Post-hoc collision detection • if ( q’(n) – p(n) ) n(n) > 0 then collision <= true otherwise collision <= false • Rendering force • f(n) = k(n) ( q’(n) – p(n) ) if collision = true 0 otherwise
Conclusion and Future work • We designed and prepared an evaluation study for TCA Mesh • We expect that TCA Mesh shows robust performance in delivering shape of non-uniform stiffness mesh object.