Кубическая кривая B-сплайна в Java
мне нужно использовать кубическую кривую B-сплайна, но не могу найти код для нее нигде. Единственными кривыми, доступными в Java API, являются QuadCurve2D
, Path2D
и CubicCurve2D
. Я думаю, что все они Безье, но я не уверен в этом.
если вы знаете, где я могу найти код для кубического B-сплайна предпочтительно, который расширяет Java Shape
класс и поддержка contains(Point p)
на onMouseOver
пожалуйста, помогите.
2 ответов
Apache имеет класс для представления сплайновых кривых:
http://jmeter.apache.org/api/org/apache/jmeter/visualizers/Spline3.html
однако он не расширяет форму или не поддерживает то, что вы хотите. Класс работает путем интерполяции кривой между узлами с помощью кубической кривой. Для contains (Point P) вы можете использовать метод getPlots (), сравнить его результаты со значениями x и y P.
CubicCurve2D-кубический B-сплайн.
однако это может быть или не быть тем, что вам нужно, поскольку есть другие кубические B-сплайны.
то есть все CubicCurve2Ds являются кубическими B-сплайнами. Не все кубические B-сплайны являются CubicCurve2Ds.