LINUX.ORG.RU

Кривая xlib


0

0
Здраствуйте уважаемые. Надо чтоб программа ( используется xlib ) рисовала кривую, если нажата кнопка мыши. Вроде все просто:

.... case MotionNotify: if( report.xbutton.state & Button1Mask) XDrawPoint( display, window, some_gc,even.xmotion.x, even.xmotion.y); ....

Но при быстром движении мышки и не все точки рисуются. Можно это как-нибудь исправить, кроме как между последний нарисованной точкой и текущей рисовать прямую?

anonymous
лучше рисовать кривую, опаздывая на одну-две точки
erDiZz
()
>Можно это как-нибудь исправить, кроме как между последний нарисованной точкой и текущей рисовать прямую?

Исправить нельзя, так должно быть.
Ты правильно мыслишь. Нужно рисовать прямую.
smartly ★★★
()
Просто если использовать прямую, уже не кривая а какая-то ломанная получится )). вот карандаш paint'a рисует кривую.
anonymous
()
Ответ на: комментарий от anonymous
У тебя случайно XSynchronize не включен? Можешь кстати аппроксимировать, и рисовать не прямые, а сплайны например.
Legioner ★★★★★
()
Ответ на: комментарий от anonymous
>Просто если использовать прямую, уже не кривая а какая-то ломанная получится )).

Да нет. Если очень быстро мышкой не возить - то всё нормально получается.

>вот карандаш paint'a рисует кривую.

карандаш paint не видел. Но если хочется посложнее - конечно можно апроксимировать последних N точек и по ним строить кривую N-ого порядка.

smartly ★★★
()
Ответ на: комментарий от Legioner
>Я сделал линиями - у меня кривые рисуются. Может что то криво реализовал? )) Честно говоря,я не делал еще линиями и про ломанные я так наугад сказал, и видимо, ошибся))
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.