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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.