Цитата:
Цитата:
https://ru.wikipedia.org/wiki/%D0%90...8C%D0%B6%D0%BE https://code.google.com/p/polypuch/s...ier/bezier.cpp чуешь разницу? |
Цитата:
x^2 quadraticCurveTo() x^3 bezierCurveTo() http://learn.javascript.ru/play/pJdbfb |
у кого то сегодня будет секс с производными...:)
|
Самый оптимальный алгоритм построения прямых линий если API не подходит:
1. Не использовать корней. 2. Не использовать операции деления и если возможно минимизировать умножения. 3. Использовать imageData как Aetae говорит, когда надо Год назад писал рендер толстых полилиний, используя api-заливку и метод lineTo, чтобы получить замкнутую трапецию, мне удалось обогнать api-шный рендер. Цитата:
Поиграться можно тут http://learn.javascript.ru/play/qkbwbb /* Кубическая кривая Безье */ function bezierCurveTo(p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) { /* обычно хватает взять расстояние 2-х конечных точек для интерполяции кривой если точки соединяются отрезком, если же кривая рисуется точками придется брать сумму расстояний всех точек. Но есть и аналитические решения с оптимизированным подходом */ var dist = distance(p1x, p1y, p2x, p2y), step = 1 / dist; _x = p1x, _y = p1y; for ( var t = 0; t < 1; t += step ) { var a = (1-t) * (1-t) * (1-t), b = 3 * t * (1-t) * (1-t), c = 3 * t * t * (1-t), d = t * t * t, x = a * p1x + b * p2x + c * p3x + d * p4x, y = a * p1y + b * p2y + c * p3y + d * p4y; //здесь стоит использовать самую оптимальную фун-ю, //например, оптимизированный вариант Брезенхема drawLineTo(_x, _y, x, y, step); _x = x; _y = y; } } |
Цитата:
Цитата:
Не догоняешь? Допустим тебе нужно написать текст по кривой безье, например как тут: http://wiki.scribus.net/wiki/images/0/00/Textpath1.jpg как мне поможет функция, которая просто рисует кривую? |
Цитата:
Вместе с тем ты дико негодуешь, почему мы до сих пор тебя не поняли и не можем прочитать твои мысли. svg http://jsfiddle.net/chriswilsondc/4UykA/ http://www.kevlindev.com/tutorials/b.../svg/index.htm canvas https://developer.mozilla.org/en-US/...longPath.28.29 |
Цитата:
Мне не нужно писать текст вдоль кривой, это был пример, который как мне тогда подумалось поможет именно тебе понять зачем это нужно, но похоже не получилось. Я не ем суп вилкой, но ты почему-то так считаешь. Давай по другому: нужно написать слово вдоль кривой, но так чтобы одна буква была сверху, а другая снизу, а третья смотрела в другую сторону. Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
вручную это делать - ад |
Часовой пояс GMT +3, время: 02:47. |