{'fraction_non_alphanumeric': 0.021834061135371178, 'fraction_numerical': 0.0, 'mean_word_length': 5.2967032967032965, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Tridiagonal Matrix Formulation for Inextensible Hair Strand Simulation

This paper proposes a method to simulate inextensible hair strands using tridiagonal matrix formulation in which distance constraints are formulated as a linear system. The proposed method avoids constructing a full matrix explicitly. Instead, it takes advantage of the chain topology and serial indexing to formulate symmetric tridiagonal matrix. Furthermore, we use a linear distance constraint so that the constraint gradient can be easily formulated. With this matrix-free formulation, memory usage can be extremely lowered. Since the formulated matrix is diagonally dominant, we can solve it by an efficient direct solver. Comparing error (i.e., stretch of constraints) of the proposed constraint solver to ones of the position-based solver with different number of iterations, we show that error of the proposed method is much smaller than those of position-based solver. Also the simulation result shows mush less numerical damping compared to Dynamic Follow-The-Leader method. By implementing in GPU, we demonstrate that our proposed method is simple and efficient.