Типо

ZX evolution software and hardware

Postby djnudnyj » 13 Jan 2011, 23:37

deathsoft wrote:Угу, на спектруме то? А кривые безье не надо использовать? и уравнение 6го порядка решать?

безье это частный случай Б-сплайна.

всего 8 умножений и 8 делений на каждую опорную точку и по 6 умножений на промежуточные точки (10 промежуточных достаточно для гладкой кривой).
итого 68 умножений и 8 делений на точку.
если умножать по таблице, и рисовать сплайн не в реалтайме, а после отпускания LMB, то будет вполне нормально и на спектруме.
Last edited by djnudnyj on 14 Jan 2011, 11:57, edited 1 time in total.
djnudnyj
 
Posts: 58
Joined: 07 Jan 2011, 18:55
Group: Registered users

Postby CAMAHACYKE » 13 Jan 2011, 23:43

deathsoft wrote:Незачем, поэтому и рисуй линии с дырками.

Вот же ты язва! Нет что бы меня бедненького подбодрить, так ты еще и подъ...нул!
Берегись! Я тебя нарисую!
User avatar
CAMAHACYKE
 
Posts: 510
Joined: 26 Sep 2007, 19:27
Group: Registered users

Postby deathsoft » 13 Jan 2011, 23:44

CAMAHACYKE wrote: Я тебя нарисую!

Ага, линиями с дырками, бугага.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby CAMAHACYKE » 13 Jan 2011, 23:49

deathsoft wrote:Ага, линиями с дырками, бугага.

Во-во! Так тебе и надо! :1tooth:
User avatar
CAMAHACYKE
 
Posts: 510
Joined: 26 Sep 2007, 19:27
Group: Registered users

Postby jdigreze » 14 Jan 2011, 04:37

CAMAHACYKE, ты пробовал заполнять отрезками? Нет? "Тогда мы идём к Вам!" ;)
Сколько меня не корми, волк всё равно в лес смотреть будет
jdigreze
 
Posts: 1478
Joined: 01 Aug 2008, 06:49
Location: Агбан
Group: Registered users

Postby CAMAHACYKE » 14 Jan 2011, 08:41

jdigreze wrote:CAMAHACYKE, ты пробовал заполнять отрезками? Нет?

Ослеп? Конечно же ДА!
User avatar
CAMAHACYKE
 
Posts: 510
Joined: 26 Sep 2007, 19:27
Group: Registered users

Postby lvd » 14 Jan 2011, 17:09

CAMAHACYKE wrote:Суть спора в том что при частоте 50 фпс Брезенхейм будет действительно без дерганий

У меня в контроллере, естественно, не 50фпс было. В маинлупе координаты дрочились постоянно. Ежу ясно, что если контроллер обновляет 50фпс - то раз в эн считываний указатель продёрнется, ибо либо частота обновления контроллера != частоте кадровой в спеке, либо просто спек читает с разными задержками от инта и то новое счиатет, то старое, либо и то и другое. Аналогичные проблемы будут и если контроллер обновляет 100фпс, например, или 200, но в меньшей мере. Контроллер должен обновлять непрерывно, интерполируя 2 последних отсчёта с мышки брезенхемом (или ещё как) непрерывно во времени (ну или с константой времени такой, чтобы их очень много умещалось в кадре). И при этом узким местом уже станет сама говномышка, которая более чем 200 (или сколько там) фпс выдавать ниосилит.
Откуда делаю вывод - единственная тру мышь на амиге - там по проводу идут только сигналы с оптокодеров, а счётчики в компе самом и обновляются так часто, как крутятся хреновины в мышке.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby lvd » 14 Jan 2011, 17:11

djnudnyj wrote:Чтобы получалось более-менее похоже на правду, надо использовать Б-сплайны

Лаг будет больше между движением мышки и реакцией указателя.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby deathsoft » 14 Jan 2011, 17:32

lvd wrote:Откуда делаю вывод - единственная тру мышь на амиге - там по проводу идут только сигналы с оптокодеров, а счётчики в компе самом и обновляются так часто, как крутятся хреновины в мышке.

Бугога, а софт эти счетчики читает раз в обновление? Разницы нет никакой, если ты эти счетчики читайешь также 100фпс точно также будут дырки между соседними точками, и точно также надо будет интерполировать. Ну либо при изменении счетчика надо вызывать аппаратное прерывание, но думаю такое количество прерываний в секунду не осилит даже омига, не то что уж спектрум.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby deathsoft » 14 Jan 2011, 17:35

djnudnyj wrote:итого 68 умножений и 8 делений на точку.
если умножать по таблице, и рисовать сплайн не в реалтайме, а после отпускания LMB, то будет вполне нормально и на спектруме.

Если учесть что на спектруме нету ни деления ни умножения, то будет просто мего быстро (способы по таблицам - там мега погрешности). Ну а главное - при расстояниях между точками в 5-6 пикселей разницы между Б-сплайном и прямой вообще видно не будет, там же не по пол экрана пропущеных точек то.

А если рисовать еще и не в риалтайме то будет вообще не видно что рисуешь.

Вон, только вчера провели эксперимент с fk0, сдампили пакеты с мыши под линуксом, построили табличку из координат и построили график в экселе scatter plot with lines и scatter plot with smooth lines (те же сплайны), разницы на глаз практически никакой, а расстояния между точками были пикселей по 20 и примерно одинаковые. Фигура нарисованная мышью была чемто вроде окружности.

А как интерполяция в графических редакторах делается - так это можно посмотреть - вон исходники гимпа и прочих фришных редакторов есть, найти редактор по проще типа паинтбраша и посмотреть, уверен что ничего сложнее линейной интерполяции там не делается.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

PreviousNext

Return to Пентева - софт и железо

Who is online

Users browsing this forum: Google [Bot] and 11 guests

cron