Как стать автором
Обновить

Комментарии 6

Вчера какой-то школьник с километром кхм… кода на PHP, сегодня вы… Теперь что, в качестве домашки задают посты сюда писать? Раньше особо креативные преподаватели заставляли студентов статьи в википедии вандалить.

По поводу кода — ужас тотальный.
1. Массивы есть, а циклов нет. Думаете, так быстрее?
2. Куча копипаста. И на что программисту дан процедурный подход к декомпозиции?
3. Этому коду вообще место на гитхабе, и тогда статья превращается в огрызок.

И главный вопрос — а что gnuplot, scilab уже отменили?
Когда решаешь конкретную задачу (например, численно интегрируешь некоторую специфическую систему уравнений газодинамики без помощи универсальных пакетов, а реализуя конечноразностную схему непосредственно в виде программы) возникает необходимость непосредственно в программе строить какое-то представление решения.
Поиск в Интернете результатов не дал. Поэтому появился данный класс. Опубликован с единственной целью помочь кому-нибудь в аналогичной ситуации.
Использование готовых пакетов ( я бы мог сюда еще и Matlab добавить занимает массу времени по передаче в них данных. Например, для построения линий уровня функции на сетке 800х400 занимает до 8 минут для загрузки 3 массивов.
По массивам. Если Вы никогда не решали численно дифференциальных уравнений в частных производных, объяснять что-либо бесполезно.
Я этим занимаюсь (вычислительной математикой, в частности, диффурами и геометрией) по долгу службы уже далеко не первый год. Уже здесь на хабре я неоднократно доказал (1, 2), что массивы и циклы намного лучше написания кирпичей из кода методом копипаста.
Я имел в виду, что когда приходится при реализации схемы часто использовать элементы массивов, которые не всегда удается обойти циклом, глаз «замыливается».
После вашего замечания, я увидел что в конструкторе internal Ceil(… имеет смысл заменить присваивание r[0] = dotPoint(d[0])… циклом: for(int i=0;i<4;i++) r[i] = dotPoint(d[i]);
А проверку пересечения ребер вынести в отдельный приват метод. Но когда писал — просто не видел…
Спасибо большое за замечание.
«Опубликован с единственной целью помочь кому-нибудь в аналогичной ситуации. »
Если у Вас возникает такая цель, то лучше опубликовать свою работу на github'e.

Загляните в Лучшее из категории Разработка, и сравните со своим постом, может вы поймете, почему Вас минусуют.
Наверное вы правы. Но когда я искал алгоритмы построения изолиний, дабы не заморачиваться с написанием, мне чаще в первых ответах выпадал данный сайт. Вот и решил сюда написать…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации