Я работаю над программой на С#, которая включает редактирование изображений и анимацию.
Я обнаружил, что мне нужен интерфейс, который позволяет моим пользователям рисовать кривые.
Я решил, что система, которую используют Photoshop и Powerpoint, довольно интуитивно понятна.
Я искал вокруг и обнаружил много вещей об этой системе кривых, в том числе о том, что она называется кривой Безье, и о том, как ее определяют точки.
Однако, хотя все они описывали, как точки определяют кривую, ни в одном из них не описывалась система определения, которую используют Powerpoint и Photoshop, с двумя отрезками, напоминающими касательные.
Интуитивно я думаю, что эти сегменты каким-то образом используются для вычисления точек, определяющих кривую, но я совершенно не понимаю, как.
Короче говоря, я пытаюсь позволить моему пользователю нарисовать кривую Безье так же, как это делают Photoshop и Powerpoint, используя два сегмента линии, имеющие конечную точку в заданной точке, которые определяют «касательную», длину и ориентацию этих сегментов. оба влияют на кривую.
DrawBezier
классаGraphics
. - person SimpleVar   schedule 22.05.2012