В последнее время я работаю над приложением для рисования, просто ради удовольствия.После многих попыток нарисовать плавные кривые с помощью точек выборки, заданных мышью, я согласился на что-то, используя Quadratic Curve.
Я должен признать, что мое понимание этих кривых не оптимально, но я думаю, что понялкак они работаютЧего я не могу понять, так это того, что когда я рисую кривую, которая идет вверх, а затем внезапно падает, пик кривой больше не округляется (она выглядит сплюснутой).
Демонстрация гораздо лучше понять, чтоЯ говорю о: ссылке на песочницу JCanvas
Если вы удалите последнюю часть кривой (от cx11 до y15): ссылка на другую песочницу JCanvas .Выглядит хорошо, но когда вы добавляете следующую контрольную точку и конечную точку, вы получаете этот странный эффект.
Примечание: я не использую JCanvas, но у него та же ошибка, и песочница удобна.Я предполагаю, что это исходит из координат, которые я получаю, но я не могу объяснить и не могу найти обходной путь / хак, чтобы он выглядел округлым ...
Для тех, кто не может быть обеспокоен с песочницейВот краткая версия координат, которые вызывают проблему:
x1: 216, y1: 98, cx1: 216, cy1: 97, x2: 216, y2: 98, cx2: 216, cy2:99, x3: 215, y2: 103,
Есть идеи, почему?Математические вещи приветствуются.Я немного искал и читал о проблеме, но ничего подобного не нашел.
-
Обновление
Как указал Саймон, я использую Chrome 16, и я протестировал пример с Firefox 4 и последним Safari, и ошибка есть.Я попробовал с Opera, и он выглядит хорошо.
Я довольно расстроен из-за этого, так как ошибка есть и на iPad, и я пытался создать мобильное веб-приложение, так что я немного застрял.
Есть идеи для обхода / взлома?