АЛГОРИТМ РІВНОХОРДОВОГО РОЗБИТТЯ ПЛОСКОЇ ПАРАМЕТРИЧНОЇ КРИВОЇ НА ОСНОВІ ПЕРЕТИНУ З КОЛОМ

Автор(и)

DOI:

https://doi.org/10.32782/mathematical-modelling/2026-9-1-39

Ключові слова:

псевдокод, ітерація, обчислювальна складність, розбиття, хорда, параметрична плоска крива, відрізок, рівняння перетину

Анотація

У статті розглядається задача рівнохордового розбиття плоских параметричних кривих, яка полягає у визначенні послідовності точок на кривій так, щоб евклідові відстані (хорди) між сусідніми точками були рівними. Рівнохордова дискретизація є важливою для систем автоматизованого проєктування, числового програмного керування, робототехніки та комп’ютерної графіки, оскільки забезпечує стабільні геометричні й технологічні властивості траєкторій порівняно з параметрично рівномірним або дуговим дискретизуванням. Метою роботи є розроблення ефективних алгоритмів рівнохордового розбиття плоских параметричних кривих у класичній постановці – за фіксованими кінцевими точками та заданою кількістю сегментів – з урахуванням багатозначності розв’язків, що виникає при перетині кривої з колом. Запропонований підхід ґрунтується на послідовному перетині кривої з рухомим колом фіксованого радіуса. Починаючи з одного або обох кінців кривої, центр кола розміщується в поточній точці розбиття, а наступні точки визначаються як точки перетину кривої з колом у заданому напрямку. Для обробки не опуклих кривих і кривих з точками перегину всі можливі розв’язки рівняння перетину організовуються у вигляді деревоподібної структури, де кожна гілка відповідає альтернативній траєкторії розбиття. Оптимальний варіант визначається шляхом мінімізації різниці між довжиною залишкового сегмента та радіусом кола. У роботі досліджено два підходи до визначення радіуса кола: метод рівномірного перерозподілу похибки між сегментами та оптимізаційний підхід, у якому радіус є мінімумом одновимірної цільової функції. Експериментальні дослідження на плоских кривих Безьє різного порядку підтверджують стабільну збіжність алгоритмів і майже лінійну обчислювальну складність у практичних сценаріях. Запропонований метод не потребує чисельного інтегрування довжини дуги, легко узагальнюється на просторові криві та є перспективним для подальших досліджень.

Посилання

Shpitalni M., Koren Y., Lo C.C. Real-time curve interpolators. Computer-Aided Design. 1995. Vol. 26, № 11. P. 832–838. https://doi.org/10.1016/0010-4485(94)90097-3

Panagiotakis C., Tziritas G. Any dimension polygonal approximation based on equal errors principle. Pattern Recognition Letters. 2007. Vol. 28. P. 582–591. https://doi.org/10.1016/j.patrec.2006.10.005

Zhong W., Luo X., Chang W. A real-time interpolator for parametric curves. International Journal of Machine Tools and Manufacture. 2018. Vol. 125. P. 133–145. https://doi.org/10.1016/j.ijmachtools.2017.11.010

Wei J., Sun C., Zhang X. J., Wang E. J., Law D. An efficient and accurate interpolation method for parametric curve machining. Scientific Reports. 2022. Vol. 12, № 1. Art. 16000. https://doi.org/10.1038/s41598-022-20018-9

Han X. T., Zhu K. F., Wang X. B. A hash approach to refine CNC computation of arc length and parameter of NURBS with high efficiency and precision. International Journal of Precision Engineering and Manufacturing. 2024. Vol. 25. P. 1243–1256. https://doi.org/10.1007/s12541-024-00976-y

Chalkis A., Katsamaki C., Tonelli-Cueto J. On the error of random sampling uniformly distributed random points on parametric curves. Proceedings of the 2022 International Symposium on Symbolic and Algebraic Computation, ISSAC ’22 (05 July 2022 New York, United States). 2022. P. 273–282. https://doi.org/10.1145/3476446.3536190

Pagani L., Scott P.J. Curvature based sampling of curves and surfaces. Computer Aided Geometric Design. 2018. Vol. 59. P. 32–48. https://doi.org/10.1016/j.cagd.2017.11.004

Hernández-Mederos V., Estrada-Sarlabous J. Sampling points on regular parametric curves with control of their distribution. Computer Aided Geometric Design. 2003. Vol. 20, № 6. P. 363–382. https://doi.org/10.1016/S0167-8396(03)00079-7

Huang L., Cao Y., Peng R., Wei G. Adaptive sampling technique for free-form surface of aeroengine blades based on discrete curvature. International Journal of Precision Engineering and Manufacturing. 2025. Vol. 26. P. 325–344. https://doi.org/10.1007/s12541-024-01161-x

Firsov A. Study of the mathematical models of optimal partitioning for particular cases. Eastern-European Journal of Enterprise Technologies. 2018. Vol. 1, № 4(91). P. 69–76. https://doi.org/10.15587/1729-4061.2018.123261

Lopez M.A., Reisner S. A note on curves equipartition. arXiv. 2008. P. 1–3. https://doi.org/10.48550/arXiv.0707.4298

Panagiotakis C., Athanassopoulos K., Tziritas G. The equipartition of curves. Computational Geometry. 2009. Vol. 42, № 6–7. P. 677–689. https://doi.org/10.1016/j.comgeo.2009.01.003

Panagiotakis C. Fast equipartition of complex 2D shapes with minimal boundaries. Algorithms. 2025. Vol. 18, № 5. Art. 277. https://doi.org/10.3390/a18050277

Wang X.-R., Wang Z.-Q., He P., Lin T.-S. The high-energy micro-arc spark–computer numerical control deposition of planar NURBS curve coatings. International Journal of Advanced Manufacturing Technology. 2016. Vol. 87. P. 3325–3335. https://doi.org/10.1007/s00170-016-8698-x

Xu Y., Zhou Z. Polygons inscribed in Jordan curves with prescribed edge ratios. Topology and Its Applications. 2024. Vol. 354. Art. 108971. https://doi.org/10.1016/j.topol.2024.108971

Manivel M., Silva M., Thompson R. Iterative respacing of polygonal curves. SN Computer Science. 2022. Vol. 3. Art. 419. https://doi.org/10.1007/s42979-022-01343-2

Frolov O. Equipartition algorithm for a flat parametric curve based on the intersection between it and a moving circle. Cybernetics and Computer Technologies. 2025. № 1. P. 12–31. https://doi.org/10.34229/2707-451X.25.1.2

Theoretical and applied aspects of software engineering: architectural solutions, algorithmic methods and intelligent systems / I. Ushakova, O. Frolov, L. Znakhur, S. Znakhur, Yu. Chyrva. Kharkiv : S. Kuznets KhNEU, 2026. 223 p.

Divide. Rhinoceros 3D. URL: https://docs.mcneel.com/rhino/8/help/en-us/commands/divide.htm

The Julia Programming Language: Official site. URL : https://julialang.org/ (дата звернення : 02.03.2026).

Getting started with nonlinear root finding in Julia. URL: https://docs.sciml.ai/NonlinearSolve/stable/tutorials/getting_started/ (дата звернення : 28.02.2026).

IntervalRootFinding.jl. URL: https://juliaintervals.github.io/IntervalRootFinding.jl/v0.1/index.html (дата звернення : 18.02.2026).

Roots.jl. URL: https://juliamath.github.io/Roots.jl/stable/ (дата звернення : 22.02.2026).

BenchmarkTools.jl. URL: https://juliaci.github.io/BenchmarkTools.jl/stable/ (дата звернення : 03.03.2026).

##submission.downloads##

Опубліковано

2026-07-01