B-spline Curve Vectorization for Digital Input Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing digital input capture technologies face challenges in generating accurate, smooth vector representations of user-drawn curves in real-time, particularly when dealing with continuous paths and high-resolution sampling, which often results in disjointed or misrepresentative outputs.
Innovation Solution
The system employs noise filtering and uniform B-spline subdivision processing, utilizing an adaptive analysis window to process only the most recent input samples, allowing for real-time generation of vector representations that preserve continuity and accuracy, using a two-step Gaussian smoothing process and B-spline subdivision.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If high-resolution sampling is used to capture user drawing movements, then measurement precision is improved, but the output becomes disjointed and difficult to work with due to excessive points
Solution Approach 1:
The patent extracts only the essential information from high-resolution sampling data by identifying and capturing key points (vertices) that define the curve's shape, rather than using all sampled points. This extraction process removes redundant data while preserving the essential drawing intent, making the input data manageable and usable.
Solution Approach 2:
Instead of directly using the sampled points to create the vector path, the patent inverts the approach by first identifying key vertices and then generating the curve segments between them. This inversion transforms the problem from managing excessive points to strategically selecting critical points that define the curve's geometry.
2Ease of manufacture
If linear segments are used to connect sampled points, then ease of manufacture is improved, but the result does not represent the continuous path intended by the user
Solution Approach 1:
The patent applies curvature by generating smooth curve segments (such as quadratic or cubic Bezier curves) between key vertices instead of using straight linear segments. This curvature approach accurately represents the continuous path intended by the user, capturing the natural flow and smoothness of hand-drawn gestures while maintaining computational efficiency.
3Manufacturing precision
If smooth curves are generated to fit input samples, then manufacturing precision is improved, but processing time increases making it non-interactive
Solution Approach 1:
The patent segments the curve generation process into discrete steps: identifying key vertices, determining curve segments between vertices, and calculating control points. This segmentation allows the system to process only essential portions of the data at each step, achieving smooth curve generation while maintaining interactive processing speeds by avoiding unnecessary computations on all sampled points.
Solution Approach 2:
The patent applies partial action by generating smooth curves only between identified key vertices rather than processing all sampled points. This selective approach achieves the necessary smoothness for quality vector output while significantly reducing processing time compared to fitting curves to every sample point, thus maintaining interactivity.
4Productivity
If vector representations are generated in real-time, then productivity is improved, but accuracy in representing user intent may be compromised
Solution Approach 1:
The patent performs preliminary action by quickly identifying key vertices and determining the overall structure of the curve before generating the final smooth vector representation. This preliminary processing captures the essential shape and intent of the user's drawing gesture, allowing real-time feedback while preserving accuracy through subsequent refinement of curve segments between the identified vertices.
Data Source
AI summary
Embodiments facilitate the production of a B-spline curve that approximates a set of N-dimensional (position, pressures, tilt, etc.) discrete input samples recorded by a digital input device. Iterative noise filtering and B-spline subdivision processes are performed within a dynamic window of recent samples. A vector representation is produced at interactive rates after each new sample is captured, thus producing results that are comparable to what the same artist would expect if drawing on paper.


