Отговори на тема  [ 8 мнения ] 
Параболична интерполация - що е то? 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Май 27, 2006 12:37 pm
Мнения: 647
Местоположение: с. Згалево
Мнение Параболична интерполация - що е то?
Още от заглавието става ясно...

Налага ми се за едно проектче да направя параболична интерполация по 3 точки - и да намеря най-ниската част от параболата описана от тях.
Сега с думи прости:
Имам масив от 24 /за сега/ сензора - които са наредени под формата на плъзгач - slider. С пръст можеш да пипнеш едновременно най-малко 3 сензора - тоест по всяко време имам резултата от трите "най-много" докоднати сензора. Те естествено са съседни. Сега - според стойностите на трите сензора - трябва да определя най-ниската точка от парабола описана от тях.
Защо точно парабола - ами защото четох за разни комерсиални проекти и открих, че това е начина по който се правело. Идеята е, че имам много повече от 24 резултата - тоест искам да генерирам плавен резултат от движението на пръста с много повече от 24 точки - колкото са сензорите.

Къде е проблема - ами къде - музикант съм - и съм учил математика до 8-ми клас. Предполагам това обеснява доста...

Предполагам, че ще мога да си му спретна някакво си мое алгоритъмче, което в крайна сметка ще свърши работата, ама ми се иска да опитам поне да го направя както трябва.

Всякак помощ е от полза :)

Това ще го смята PC така че няма проблем със сметките...


Съб Юли 25, 2009 10:31 am
Профил WWW
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Ами параболата е равнинно множество от точки, което означава, че всяка точка се описва с две координати - Х, У. Хубаво Х ти е номера на сензора, ами У? Ако сензорите се някакви аналогови, може да ползваш тяхната стойност за У, но ако са цифрови, май ще трябва да разкажеш още от идеята и да помислим :) Иначе интерполация по три точки на парабола не е нищо сложно. Знаеш, че функцията е от вида f(x) = ax^2 + bx + c и имаш три двойки координати, с които заместваш и се получава система с 3 неизвестни и 3 уравнение, нищо сложно. А след това, най-ниската точка е - D / 4a, където D e дискриминантата на f(x) = 0. А може и да го сметнеш и като f(-b/2a), а можеш и естествено с първа производна :) Разбира се всички тези методи работят само ако а > 0, защото иначе нямаш най-ниска точка. Надявам се да съм помогнал, но пак не виждам втората координата на точките.

_________________
Българският портал за РОБОТИКА


Съб Юли 25, 2009 1:40 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Май 27, 2006 12:37 pm
Мнения: 647
Местоположение: с. Згалево
Мнение 
Ами сензорите са цифрови - но всеки може да има стойности от 0% за недокоснат до 100 процента за най-много докоснат. Значи аз знам кои сензори 3 сензора от всички са най-докоснати. Обикновено средния от тях е с най-голяма стойност за докосване - а тия около него са с по-малки. Един вид - трябва да меря отклонение на ляво или на дясно от най докоснатия сензор - по стойностите на съседните. Нещо такова. Ма ми се струва, че с параболата ще стане най-добре.


Съб Юли 25, 2009 3:31 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
Е без математика над 8-и клас няма да стане, но е лесно.

През 3 точки можеш да прекараш полином от 2-и ред и да му сметнеш минимума
(или максимума, което ти трябва или каквото има, де). В крайна сметка се стига до смятане на детерминанта
2 на 2 или като там му се казваше на такова, а бе няколко прости сметки са.
Но има известно учене на следосмокласна математика дотам - неголямо според
мене и сякаш задължително, едва ли би те затруднило и вероятно би си струвало
усилието за справящ се с техниката човек като тебе.

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Съб Юли 25, 2009 4:05 pm
Профил WWW
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Не се изразих добре май :) Идеята е, че изхода от датчика не трябва да е бинарен (докоснат или недокоснат), което при теб е изпълнено, така че си готов да дерзаеш. Номера на датчика си го разгледай като Х координата, а пък стойността му като У. И ето ти трите точки, с които като заместиш в горната функция и се получава лесна система. И след това си търсиш екстремума по някой от методите, които споменах по-горе. Иначе смятам, че наистина ще ти е полезно да вземеш един учебник примерно 12клас за профилирана подготовка, където са разказани тези неща, а другия вариант е някой университетски учебник, но там не мога да ти препоръчам нищо, защото тази година ще ми е първата като студент. Но трябва да имаш предвид, че сигурно ги има тези неща още по лесно развити примерно с матрици и детерминанти както спомена tgi, но за там трябва да имаш по ясна представа за математиката.

_________________
Българският портал за РОБОТИКА


Съб Юли 25, 2009 5:47 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Май 27, 2006 12:37 pm
Мнения: 647
Местоположение: с. Згалево
Мнение 
Като знам колко неща съм научил, че и после забравил... едва ли ми е тепърва време да сядам сега да я уча пуста математика. То не е едно да не знам - или да си припомня. :D
Аз вече съм си направил една примерна постановка - на хартия де, която изглежда ще работи - а и ще може да се смята от някакъв контролер, щото това в крайна сметка може и на контролер да отиде някога.
Направил съм нещо такова:
Определям кой ми е най докоснатия сензор и после правя нещо като тежнения на тия около него, които в крайна сметка според позицията си и степента на докосване, преместват резултата на-най докоснатия сензор на горе или долу.
В крайна сметка ще излиза май точно това което ми трябва - и като че ли с доста по малко сметки отколкото с тая интерполация. Може би ще трябва малко донастройване, но иначе гледайки из нета примери за параболична интерполация, струват ми се много трудоемки за процесора. Много сметка много нещо...
Пък Вие казвате, че било лесно...
Или аз гледам не дето трябва - или...


Съб Юли 25, 2009 6:10 pm
Профил WWW
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Вто Окт 03, 2006 11:58 am
Мнения: 924
Местоположение: Ботевград
Мнение 
Според мен си направи първо хардуера и после почвай с екперимвнти по софтуера. При твоето задание ми се струва, че винаги средния от трите сензора ще е с най-голяма (най-малка стойност). Като начало сложи едно средно аритметично на трите и виж как ще се държи. В последствие можеш да прецизираш нещата.


Съб Юли 25, 2009 8:27 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
това с тегловното преместване което сам си си измислил е добро, ако го изпълниш както трябва, не ти трябва парабола.
моята препоръка: сумираш индексите на трите "най-докоснати" датчика
всеки умножен по собствената си степен на докосване. делиш получената сума на сумата от трите степени на докосване. това е оптималния вариант на тегловно сумиране.


Съб Юли 25, 2009 9:55 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 8 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни