Здравствуйте, greenpci, Вы писали:
G>Конвекс Хал — даются точки, надо их обвязать, как бы, резинкой вокруг.
G>Я придумал свой алгоритм (велосипед), реализовал на плюсах, опубликовал в гит хабе. Даже написал описание алгоритма с картинками. Все в академических целях. Помогите, пожалуйста. Сделайте код ревью. Код не длинный, должен быть понятен.
G>Цель: читабельность, легкая модификация (расширение) в будущем, быстродействие в рамках разумного, но не в ущерб всему остальному.
G>Программа консольная. Берет файл с картинкой, окружает точки конвекс халом, сохраняет результат в другой файл. Екзешник, кстати, проверен софтпедией, вирусов и малваре нету. Смотрите там есть ссылка на сертификат.
G>Зачем это нужно?
G>Хочется пообщаться на технические темы. Научиться чему-то новому и самому поделиться опытом с товарищами.
G>Вот ссылка: http://github.com/evpo/ConvexHull
G>Заранее прошу прощение за английский язык для тех кому трудно читать и других кто замечает ошибки.
Кстати замечания по этому поводу тоже принимаются.
G>Спасибо заранее.
Исправь свой кодстайл, сразуже бросилось в глаза:
double compare_vectors(SharedPoint p1, SharedPoint p2, SharedPoint p3);
void ProcessPoint(SharedPointList list, SharedPoint p, SharedPoint next_p, bool is_top);
Функции то с большой буквы, то маленькие, почем б не назвать CompareVectors?
Аналогично с дефайнами, в одном месте
#ifndef line_h__
#define line_h__
в другом
#ifndef CONVEX_HULL_H__
#define CONVEX_HULL_H__
а вообще #pragma once рулит