расчет диаметра

fsdb
Offline
Зарегистрирован: 24.10.2015

Ребята привет!
пишу небольшую программу. сначала отрабатываю на компьютере потом хочу перенести на ардуино нано.
приходят цифры от 0 до 4200. 3600 цифр по X оси
хочу в дальнейшем средствами ардуино рассчитать диаметр объекта где памяти не хватит хранить в массиве.
поэтому нужно данные обработать сразу на лету.
я бы хотел расчитать разницу по оси Х между точкой подъем и спуска. это и будет диаметр объекта.
Как определить точку подъема и спуска с учетом что бывают уж не большие шумы. не обязательно последующий пиксель больше другого.
какие варианты есть?

 

 

 

fsdb
Offline
Зарегистрирован: 24.10.2015

мой вариант это каждый пиксель сравнивать с пикселем который я запомнил шагов на 20 назад. и если разница между ними стала более 50 то это точка подъема. может быть есть по лучше вариант. мало ли. старый я

fsdb
Offline
Зарегистрирован: 24.10.2015

fsdb
Offline
Зарегистрирован: 24.10.2015

sadman41
Offline
Зарегистрирован: 19.10.2016

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

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Очевидно, что подъем - это там, где ступеньки идут вверх, а спуск - где ступеньки идут вниз.

Остального не понял.

Постарайтесь как-то более внятно изложить проблему. Что значит "приходят цифры"? Откуда они приходят? В каком Виде? С какой скоростью? С какого направления (севера, юга, востока...)? Откуда взялся объект, диаметр которого "надо рассчитать"? И вообще, диаметр обычно измеряют, а не рассчитывают. Ну а расчет, скажем - это d = sqrt(4/Pi*V/h), где V - объем, а h - высота. Что именно Вы собираетесь хранить (либо не хранить) в массиве?

 

fsdb
Offline
Зарегистрирован: 24.10.2015
sadman41 про точность тут однозначно не напишешь.
 все в попугаях.
 результат будет умножен на коэффициент эталонный.
 главное уж что бы при измерении неподвижного объекта расчет был один и тот же
дельта максимум и минимум - поясните подробнее пожалуйста
 
andriano - мы объем не считаем. считаем пиксели которые дали тень объекту которая отображается на графике ввиде горки, однако считаем мы именно не горку а ее *подножье*. т.е. начало возмущение и его конец. разницу между пикселями. мы и так изначально знаем что это он у нас круглый объект. я уже несколько околотемные посты оставлял. все тот же tcd1304 если помните. я на входе в ардуино имею 2 байта. которые приходят по uart каждые 640мс
DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

на вершине подъёма у тебя первая производная будет равна нулю. шаг ты знаешь, дельту тоже. щитай, не хочу. 

sadman41
Offline
Зарегистрирован: 19.10.2016

Существует момент начала измерения и окончания. Из чисел, приходящих в этом интервале времени, выбирается минимум и максимум. Разница между ними есть искомый диаметр/длина/толщина/etc

nik182
Offline
Зарегистрирован: 04.05.2015

Найти максимум и прифитить вокруг него гаусс. Будет точный ответ. Шумы на результат повлияют мало.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

fsdb пишет:

andriano - мы объем не считаем. считаем пиксели которые дали тень объекту которая отображается на графике ввиде горки, однако считаем мы именно не горку а ее *подножье*. т.е. начало возмущение и его конец. разницу между пикселями. мы и так изначально знаем что это он у нас круглый объект. я уже несколько околотемные посты оставлял. все тот же tcd1304 если помните. я на входе в ардуино имею 2 байта. которые приходят по uart каждые 640мс

Какие пиксели? Откуда они взялись?

Как пиксели могут создавать тень?

Что именно отображается на графике?

Попытайтесь внятно изложить задачу - ничего ведь не понятно.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

DetSimen пишет:

первая производная

Использование таких выражений ущемляет права жертв ЕГЭ и альтернативно-одарённых на получение информации.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

fsdb пишет:

Ребята привет!
пишу небольшую программу. сначала отрабатываю на компьютере потом хочу перенести на ардуино нано.
приходят цифры от 0 до 4200. 3600 цифр по X оси
хочу в дальнейшем средствами ардуино рассчитать диаметр объекта где памяти не хватит хранить в массиве.
поэтому нужно данные обработать сразу на лету.

Сумбурно написано, но сразу спрошу - а сколько будет измерений?

0-2000 - пишем в ардуинку (nano - если STM32 - то 20 000)

2000-4млн - подключаем SD и пишем в файл

выше 4млн - используем малинку, подключаем внешний диск и пишем на него.

выше 1 гугола - используем силу Вселенной. 

Upper
Offline
Зарегистрирован: 23.06.2020

ЕвгенийП пишет:

DetSimen пишет:

первая производная

Использование таких выражений ущемляет права жертв ЕГЭ и альтернативно-одарённых на получение информации.

Утверждение что "на вершине подъема первая производная будет равна нулю." выглядит умнО, но на самом деле не всегда справедливо.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Upper пишет:

ЕвгенийП пишет:

DetSimen пишет:

первая производная

Использование таких выражений ущемляет права жертв ЕГЭ и альтернативно-одарённых на получение информации.

Утверждение что "на вершине подъема первая производная будет равна нулю." выглядит умнО, но на самом деле не всегда справедливо.

Согласен, на низе спуска тоже.  На любом перепаде функции или выходе её на "плато" и на "плато". Но перед этим всегда бывает "первая производная"=0

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, я же говорил.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ЕвгенийП пишет:

Ну, я же говорил.

И заметь: мы тут все в возрасте и образование не ЕГЭ никак, а "Самое Лучшее в мире - Советское!" ;))))).

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Я же рассказывал, что в начале нулевых, когда еще работал, был начальником проектного отдела в частично-собственной же фирмочке. С генеральным поспорил. Вышел к чертежникам-автокадчикам - все с вышкой советской - и спросил: "Что такое логарифм?". Я не получил НИ ОДНОГО правильного ответа! ;))) При этом проектировали мы объекты связи, где много всяких децибелл и других логарифмических шкал... :(((

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

wdrakula пишет:

"Самое Лучшее в мире - Советское!" ;))))).

Это точно, образование той самой страны, в которой половина населения банки с водой к телевизору ставила, когда Чумака показывали :-(

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

mykaida пишет:
Но перед этим всегда бывает "первая производная"=0
Чтобы быть чему-то равной, ей, для начала, нужно существовать.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

wdrakula пишет:

"Самое Лучшее в мире - Советское!" ;))))).

Это точно, образование той самой страны, в которой половина населения банки с водой к телевизору ставила, когда Чумака показывали :-(

ага, и на фоне всеобщего дефицита и избытка денег ваучеры всунули