ScratchData LogoScratchData
Back to Catoblepas's profile

SPD: Cubic Bezier Curves

CACatoblepas•Created April 25, 2017
SPD: Cubic Bezier Curves
10
7
169 views
View on Scratch

Instructions

Space - reload test with critical positions to check drawing accuracy. Q - reload with random points positions, C - clear stage. Click on block - start timer & draw :). Don't click another block while drawing. Dimensional simplification script is an implementation of C code by @gtoal : https://scratch.mit.edu/projects/127747404/ Linear script is mine and based on linear formula for cubic Bezier curve from Wikipedia.

Description

==ВЫВОДЫ== После отладки совместно с @gtoal выяснилось, что проблемы были в багах обоих скриптов. Сейчас оба кода работают корректно и результаты теста, наконец, стали более корректными, чем 20-тикратная потеря в скорости в обмен на некорректный расчёт базиса функции :). В целом, оба скрипта оказались взаимозаменяемы с той только разницей, что линейная формула может быть проще доработана до рекурсивного алгоритма, вычисляющего функцию Безье для N базовых точек, тогда как скрипт с вычислением промежуточных функций проще сделать на пару-другую измерений больше. ==ИНСТРУКЦИИ== Пробел - перезагрузка теста с критическими позициями базовых точек. Q - перезагрузка по случайным точкам. C - очистить сцену. Клик на блоке события - протестировать скрипт на время выполнения и аккуратность кривой. Не нажимайте на другой блок, пока идёт рисование, иначе перезагрузится таймер! Скрипт, упрощённого вычисления кривой является реализацией на Scratch кода с языка С и взят с разрешения @gtoal : https://scratch.mit.edu/projects/127747404/ . Скрипт, считающий линейную формулу кривой, написан мною по приведённой в Википедии формуле кубической кривой Безье.

Project Details

Project ID157310281
CreatedApril 25, 2017
Last ModifiedJuly 30, 2021
SharedApril 26, 2017
Visibilityvisible
CommentsAllowed