Page 25 - 2024F
P. 25

18                                                                UEC Int’l Mini-Conference No.53





















                                                              Figure 7:  Intersection algorithm for Bézier
                                                              curves using the subdivision method [9].

            Figure 6: Curvature estimation of Bézier curves   the method begins by constructing bounding
            using the circumcircle of sampled points [8].
                                                              boxes around the Bézier curves using their con-
                                                              trol points.  These bounding boxes are used

            where B (t) and B (t) are the x- and y-           to quickly eliminate cases where curves do not
                     ′
                                ′
                     x
                                y
            components of B (t), and B (t) and B (t) are      overlap, reducing unnecessary calculations. For
                            ′
                                                 ′′
                                       ′′
                                                 y
                                       x
            the x- and y-components of B (t).                 overlapping cases, the curves are recursively sub-
                                        ′′
              If calculated directly according to the defini-  divided using the De Casteljau algorithm to re-
            tion, it involves multiple derivations and mul-   fine their shape until the curves can be approxi-
            tiplication and division operations for different  mated as line segments to compute the intersec-
            variables, which not only results in a long com-  tion. This method efficiently balances computa-
            putation time but also leads to precision loss.   tional cost and precision.
              The curvature κ can also be defined as the
            reciprocal of the radius of the curvature circle  2.6 System Implementation
            R, and estimating curvature using the radius is
            computationally more efficient [8]. To approx-     The proposed methodology is implemented in
                                                              a system developed using Python. The system
            imate the curvature, we compute the radius of
            a circle that passes through three equidistant    combines SciPy for optimization routines and
            points on the curve and derive the curvature as   Qt for GUI design and visualization rendering.
            its reciprocal. By sampling a sufficient number    The system enables users to:
            of points along the curve, we can effectively ap-  • Import data and interactively edit points
            proximate the maximum curvature. Our obser-           and control points with background;
            vations show that this method reduces computa-
            tion time to approximately one-fourth compared     • Adjust optimization weights for multiple
            to directly using equation 7.                         factors and run the optimization algorithm;

                                                               • Export the results including control points
            2.5.2 The Calculation of Intersections of             and LineSets graphic.
                   Bézier Curves
                                                              This allows users to easily make high-quality
            Solving for the intersections of Bézier curves    LineSets drawings for real-world applications.
            is critical in optimization of multi-curve lay-
            out. However, this task can be computation-
            ally intensive and difficult to solve analytically  3 Evaluations
            in most cases because of the mathematical prop-
            erties of Bézier curves.  To address this, we     To assess the effectiveness of the proposed opti-
            adopt the geographic subdivision method [9]. As   mization approach, we conducted experiments
            Bézier curves have the property of always being   on randomly generated point sets.The small-
            within the convex hull of their control points,   scale dataset comprises three point sets (24
   20   21   22   23   24   25   26   27   28   29   30