2015-08-05 4 views
0

В настоящее время я работаю над приложением для Android, которое считывает множество данных с датчиков и графиков, данных в реальном времени.Оптимизация данных графика XY

Моя проблема в том, что имеется очень большое количество показаний. Каждая точка имеет значение X и Y.

Как я могу найти и обрезать прямые линии ненужными точками? Beforeenter image description here

ответ

2

Любые 3 смежные точки, которые являются коллинеарными, могут потерять среднюю точку. Это должно быть ядром вашего алгоритма: перейдите все x, и если [x, x + 1, x + 2] являются коллинерами, нажмите [x + 1] и повторите попытку из x.

0

Самый простой способ - определить, является ли координата y последовательной двух точек одинаковой. Если они одинаковы, вы можете опустить первую точку.

Например: A (3,4), B (4,4), C (6,4), D (7,6) .. вы можете опустить B и нарисовать линию от A до C и затем C до D.

Другой способ: Вы можете определить наклон линий. Если наклон линии тот же, что означает, что они соединятся, чтобы сформировать прямую линию. Вы можете опустить эти линии.

Смежные вопросы