Текущий архив: 2005.10.30;
Скачать: CL | DM;
Вниз
Matrix. Оцените новую систему матричных вычислений для Delphi Найти похожие ветки
← →
Джо © (2005-10-03 01:31) [40][39] _111_ (03.10.05 01:19)
> СПОРИМ НЕ НАЗОВЕТЕ?
Спорим :)
Только сначала выясним что же есть "область программирования"? То, что это не "настраивание интерфейса", я уже понял ;)
← →
_111_ (2005-10-03 02:35) [41]ладно что-то я загнул(сплю уже). Имел в виду область направления программирования(или как там Это назвать?), ну там всевозможные моделирование, алгоритмирование, автоматизация, игропроизводство, прогнозирование и др.
Я понимаю, что многое здесь не сочитается, но классификаций полно же, по крайней мере в перечисленном без матриц не обоидешься(можно конечно, но геморойно)
← →
_111_ (2005-10-03 03:01) [42]Давай, Диман (Loginov Dmitry), грызи гранит науки никого не слушай и пиши пока есть чем писать, есть чем думать что писать и есть что есть чтоб думать о чем писать
← →
Джо © (2005-10-03 03:03) [43]Ну, вот, к примеру, написал я программу, проверяющую обновление неких данных на неких фтп-серверах и, в случае необходимости, скачивающую эти данные... Обходится вызовом нескольких функций из Windows.pas & WinInet.pas Внимание, вопрос (бом):
К какому "направлению программирования" относится эта программа, и -- зачем в ней "матричное исчисление"? ;-)
← →
_111_ (2005-10-03 05:09) [44]Ну, наверняка, сетевое. Любую сеть можно представить в виде графа, решение графа на нейросетях- сети на матрицах. А на счет твоей обновлялки - качалки, вообще, все качалки , работающие с обрывами сети, содержат кучу матриц, начиная с матриц состояния оборудования (регистры процессора, кластеры памяти) и заканчивая состоянием закачки файлов(ну ето только при HSCDS) (в табличной форме - по сути -тоже матрица).
← →
Antonn © (2005-10-03 07:26) [45]_111_ (03.10.05 5:09) [44]
проблему из пальца высосали...
В играх тоже врядли допустим этот компонент(или модуль). Я не скачивал его, но думаю не ошибусь, если скажу, что для игр делаются более специфичные функции, более оптимизированые. Так что тоже не прет.
← →
Loginov Dmitry (2005-10-03 10:44) [46]Привет всем! Теперь у матрикса появился новый ардес:
http://matrix.kladovka.net.ru/
Высокая скорость закачки, новый дизайн.
Как вы оцениваете новый дизайн. Стоило ли переезжать на новое место?
← →
Skyle © (2005-10-03 15:14) [47]> [44] _111_ (03.10.05 05:09)
Ничего себе..
Вот это трава... Где брал?
← →
Jeer © (2005-10-03 15:55) [48]Проект заслуживает одобрения, хотя бы с точки зрения, саморазвития автора проекта.
Реальное применение сомнительно даже в учебных целях.
← →
Anatoly Podgoretsky © (2005-10-03 16:02) [49]Jeer © (03.10.05 15:55) [48]
Красиво так "похвалил", талантище :-)
← →
Джо © (2005-10-03 16:08) [50]
> [44] _111_ (03.10.05 05:09)
Это никакая не "обновлялка" и ни с какими "обрывами" не работает. Это вообще плод воображения :) Но, тем не менее, пишется на основе 4-5 функций из WinInet и 10 из Windows.pas. И я даже представить себе не могу, куда бы там "запихнуть" эти матрицы :)
← →
Jeer © (2005-10-03 16:16) [51]Anatoly Podgoretsky © (03.10.05 16:02) [49]
Не сомневался, что мэтры "оценят" :))
← →
Loginov Dmitry (2005-10-03 19:51) [52]Само собой, для специализированных, отработанных задач (типа компьютерной визуализации, "обновляловки" и т.п.) Matrix малоэффективен. Используется только тип Real (8 байт), хотя для наиболее эффективного решения других задач могут потребоватся другие типы данных (например, в компьютерной графике используется тип Single и технология mmx). Однако, существуют не столь специализированные задачи, и скорость их реализации с матриксом увеличивается в десятки раз, причем скорее всего увеличится и скорость кода (по сравнению с традиционным программированием. Ведь многие программисты даже не подозревают, что есть такая замечательная функция Move))).
> Проект заслуживает одобрения, хотя бы с точки зрения, саморазвития
> автора проекта.
> Реальное применение сомнительно даже в учебных целях.
Jeer абсолютно прав насчет саморазвития. До этого я ни знал что есть класс :).
В учебных целях я планирую внедрить матрикс хотя бы на родной кафедре, а практика покажет... В любом случае, надо что-то думать насчет развития проекта, поэтому автор очень надеется на вашу помощь, господа программисты :). Правда, я не знаю, найдется ли хотябы один человек, который согласится написать хоть одну функцию для матрикса (или я ошибаюсь?)
← →
Lamer@fools.ua © (2005-10-03 23:12) [53]>>Loginov Dmitry (03.10.05 19:51) [52]
>Ведь многие программисты даже не подозревают, что есть такая замечательная функция Move))
"Это неправильные пчёлы" ©
← →
Profi © (2005-10-03 23:37) [54]Loginov Dmitry (03.10.05 19:51) [52]
Я вообще-то столкнулся по работе с проектом, где нужны были большие вычисления. Интеграл Дюамеля один из них. Но неделю назад проект заморозили, так как вычисления шли с большой погрешностью, которая (что самое интересное) с каждым проходом цикли уменьшалась(!).
← →
GuAV © (2005-10-03 23:39) [55]
> Ведь многие программисты даже не подозревают, что есть
> такая замечательная функция Move
Ага, например эти http://dennishomepage.gugs-cats.dk/MoveChallenge.htm :)
← →
_111_ (2005-10-04 00:48) [56]
> Джо © (03.10.05 16:08) [50]
> проблему из пальца высосали...
> В играх тоже врядли допустим этот компонент(или модуль).
> Я не скачивал его, но думаю не ошибусь, если скажу, что
> для игр делаются более специфичные функции, более оптимизированые.
> Так что тоже не прет.
А вот этого не надо!!! Меня прям за живое задело... ЛИЧНО делаю движок с испоьзованием MATRIX, реализация поиска пути, ИИ и др. Поиск пути работает просто замечательно (50 путей меняю на 1% fps, из всех мной увиденных, это самый нормальный способ, хотя есть и недостатки), ИИ в работе, но перспектива рисуется довольно приятная.
Кроме того MATRIX помогает решить многие геометрические задачи:
нахождение пересечений линий, плоскостей, координат точек при поворотах и переносах и другие.
А на счет "более оптимизированных функции" - оно вообще надо? т.е. я хочу сказать, что сейчас чтобы загрузить полность систему даже средней производительности надо либо делать ОЧЕНЬ масштабный проект, либо быть полной бесдарностью в программировании! (Без обид - кто ковырялся меня поймет).
А теперь о нехорошем:
Мре не понравилась 1 "весчь" в MATRIXe - избыточность занимаемой памяти, т.е. я бы заменил тип у половины переменных (integer на word или byte, и везде Real на Single).
Хотя это я уже, наверное, придираюсь. наверняка кому-то понадобовятся большие числа и определенная точность.
← →
GuAV © (2005-10-04 00:58) [57]_111_ (04.10.05 0:48) [56]
> избыточность занимаемой памяти, т.е. я бы заменил тип
> у половины переменных (integer на word или byte
Эту фразу можно поместить в орешник.
> и везде Real на Single
А там таки real ? Стрёмный тип этот Real вообще-то.
← →
_111_ (2005-10-04 01:26) [58]
> GuAV © (04.10.05 00:58) [57]
Ну про орешник ты зря, задача то актуальная - простой пример, сколько оперативки сожрет матрица 1000000x1000000, состоящая из 0 и 1 элементами типа Byte, а теперь представь, что элементы матрицы имеют тип Integer (а значения такие же- 1 и 0). А теперь вопрос: В чем разница? в 3 раза (проверено)
а вещественные: там и Double и Extended
← →
_111_ (2005-10-04 01:33) [59]
> Loginov Dmitry (30.09.05 23:16)
Диман, а можно сайт как-нибудь по проще сделать?
Мне режут взгляд слова типа "мощнейшая, не имеющая на сегодняшний день аналогов".
Например:
"мощная, не имеющая в России аналогов"
а то кто ее знает?
← →
Дмитрий Белькевич (2005-10-04 02:39) [60]>А вот этого не надо!!! Меня прям за живое задело... ЛИЧНО делаю движок с испоьзованием MATRIX, реализация поиска пути, ИИ и др. Поиск пути работает просто замечательно (50 путей меняю на 1% fps, из всех мной увиденных, это самый нормальный способ, хотя есть и недостатки), ИИ в работе, но перспектива рисуется довольно приятная.
Посмотрим на результат.
← →
Real2 (2005-10-04 06:13) [61]> _111_ (04.10.05 01:33) [59]
Как тут любят шутить модераторы: "детский сад в другом месте".
Можете начинать обижаться.
← →
Antonn © (2005-10-04 08:11) [62]_111_ (04.10.05 0:48) [56]
Кроме того MATRIX помогает решить многие геометрические задачи:
нахождение пересечений линий, плоскостей, координат точек при поворотах и переносах и другие.
аналитическая геометрия, можно и без матриц.
← →
Loginov Dmitry (2005-10-04 10:03) [63]
> _111_ (04.10.05 01:33) [59]
Если найдешь хоть один аналог в мире, то будет в России. Если найдешь хоть одни аналог в России, то будет в Пензе (а может и вообще - в ПГУ) :)
← →
Loginov Dmitry (2005-10-04 10:04) [64]
> _111_ (04.10.05 01:33) [59]
Если найдешь хоть один аналог в мире, то будет в России. Если найдешь хоть одни аналог в России, то будет в Пензе (а может и вообще - в ПГУ) :)
← →
12DFBDD (2005-10-04 10:11) [65]Loginov Dmitry (04.10.05 10:04) [64]
ты не пробывал выкладывать в "кладовку"?
попробуй двинуть свой компонент на королевстве
http://www.delphikingdom.ru/
← →
Loginov Dmitry (2005-10-04 11:04) [66]
> 12DFBDD (04.10.05 10:11) [65]
Так куча ссылок, аж в глазах рябит. Куда тыкать надо?
← →
Loginov Dmitry (2005-10-04 13:49) [67]
> ты не пробывал выкладывать в "кладовку"?
Я уже создал новый сайт в кладовке
Народ! Кто-нибудь смотрел проект на делфи, отличной от 6 и 7, а то на этих работает, а на остальных не знаю (нету их у меня). Сообщите, если кто уже посмотрел.
← →
12DFBDD (2005-10-04 13:53) [68]Loginov Dmitry (04.10.05 13:49) [67]
ссылку в студию
← →
Antonn © (2005-10-04 13:57) [69]12DFBDD (04.10.05 13:53) [68]
[46]
← →
esu © (2005-10-04 15:07) [70]
> Loginov Dmitry
Я вот понять не могу, что сподвигло использовать тип real ? 2005тый год все же...
Вот ссылка на статью про real (и не только), возможно твой пакет станет работать гораздо быстрее после прочтения :)
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374
← →
Jeer © (2005-10-04 15:49) [71]
> esu © (04.10.05 15:07) [70]
Почему и сказано выше - "даже в учебных целях ни-ни":)
function TWorkspace.NewArray(const Name: String; StartValue,
FinishValue: Real; Step: Extended): Integer;
//
RTemp: Extended ;
//
RTemp := StartValue;
Вообще "кислое с пресным":)
← →
jack128 © (2005-10-04 15:53) [72]esu © (04.10.05 15:07) [70]
Вот ссылка на статью про real (и не только), возможно твой пакет станет работать гораздо быстрее после прочтения :)
{$REALCOMPATIBILITY OFF}
если представишь мне код с этой директивой, в котором бы real проигрывал бы хоть в чем то типу Double, я сьем свою шляпу
← →
Jeer © (2005-10-04 16:09) [73]В Matrix отсутствует данная директива.
← →
Игорь Шевченко © (2005-10-04 16:22) [74]Не нравится.
Посмотрел исходники, скачанные из кладовки
sh1:=0; // Обнуляем значение счетчика
....
if ElemI[iA, i, j] <> 0 then sh := sh + 1;
end;
if sh > sh1 then sh1 := sh;
....
а также не нравятся виртуальные функции в разделе private
Исходники нечитаемые. Добро бы был готовый продукт, а раз программировать с их помощью предлагается, исходники бы надо в порядок привести. Для начала отформатировать хотя бы в Borland"овском стиле.
Есть такой эксперт - DelForEx, форматировщик исходного кода, встраивается в Delphi, бесплатный.
Рекомендую: http://www.dow.wau.nl/aew/DelForExp.html
← →
Loginov Dmitry (2005-10-04 16:53) [75]
> [72]
Насчет Real и Double: объясните, чем они отличаются. Насколько я знаю, в Delphi - это одно и то же.
> Вообще "кислое с пресным":) [71]
Шаг Step в этой функции должен иметь повышенную точность, по сравнению с Realом, иначе накапливается недопустимо большая погрешность. В матлабе это эквивалентно созданию массивов так: a=1:10:100000 или a=1:1.00000000001:100 (во втором случае Realом не обойтись).
> [74]
В таком стиле я программировал в матлабе на 1-м курсе. Здесь просто демонстрируется пример, как из матлаба код был переведен в Delphi.
> Исходники нечитаемые
Чужие исходники всегда нечитаемы :). Постараюсь исправиться :)
← →
Игорь Шевченко © (2005-10-04 16:59) [76]Loginov Dmitry (04.10.05 16:53) [75]
> Чужие исходники всегда нечитаемы :).
Неправда ваша. Исходники Борланд читаются легко.
Я вполне серьезно рекомендую отформатировать для начала.
← →
GuAV © (2005-10-04 17:01) [77]
> Ну про орешник ты зря, задача то актуальная - простой
> пример, сколько оперативки сожрет матрица
> 1000000x1000000, состоящая из 0 и 1 элементами типа
> Byte, а теперь представь, что элементы матрицы имеют
> тип Integer (а значения такие же- 1 и 0).
С матрицами может было бы и так и так. Но в [58] речь шла о "избыточности занимаемой памяти" переменными типа integer. Учитывая значение опции align {$A8} несколько переменных типа integer заимут столько же памяти, что и то же количество переменных типа byte.
← →
Loginov Dmitry (2005-10-04 17:23) [78]
> В Matrix отсутствует данная директива. [73]
В Delphi директива уже установлена по умолчанию в OFF
← →
_111_ (2005-10-05 01:30) [79]Здарова.
В очередь господа!!!
> Дмитрий Белькевич (04.10.05 02:39) [60]
> Посмотрим на результат.
Базаришь, доведу до логического конца и выложу, возможно вместе с исходниками.
> Real2 (04.10.05 06:13) [61]
> Как тут любят шутить модераторы: "детский сад в другом месте".
> Можете начинать обижаться.
Вообщето я не обидчивый и люблю выслушивать мнения других людей. В связи с этим вопрос: В какой "детский сад" мне? (в чем я не прав?).
> Antonn © (04.10.05 08:11) [62]
> аналитическая геометрия, можно и без матриц.
Не спорю, можно, сам делал. Недавно выводил формулу (и упрожал) для простой задачки - принадлежит ли точка плоскости(полигону), и наити 3ю координату на ней. долго выводил, упрощал, очень долго, бумаги одной сколько извел. Вывел - не работает (ошибка в середине). Забил. И чисто случайно в этом же пособии (по аналитической геометрии) была матрица 4х4 =0 - подставляй значения и считай. Все. (по MATRIX проверил - одно деление, никаких корней и "трехэтажных" дробей).
> Loginov Dmitry (04.10.05 10:03) [63]
> Если найдешь хоть один аналог в мире, то будет в России.
> Если найдешь хоть одни аналог в России, то будет в Пензе
во-первых, я и с первого раза понял. А во-вторых, на счет нашего разговора - это строчка из первого абзаца с твоего сайта.
> GuAV © (04.10.05 17:01) [77]
> Учитывая значение опции align {$A8} несколько переменных
> типа integer заимут столько же памяти, что и то же количество
> переменных типа byte.
Можете меня чудом лесным считать, но специально седня проверял по всякому, и у меня такого результата не вышло. Использовал Memload с разными форточками. Может что еще в компиляторе поковырять? буду презнателен.
← →
GuAV © (2005-10-05 01:45) [80]2 _111_
> Может что еще в компиляторе поковырять?
Да, можешь посмотреть CPU, если справки недостаточно.
Точно Project->Options->Compiler заданно 8 или установленно {$A8} ?
> Использовал Memload
Не верь.
Для Delphi програм объективным показателем является System.AllocMemSize, и он отображает только выделенную дельфийским менеджером память. Стек в прочем легко вручную проверить :)
Сорри за оффтоп.
Страницы: 1 2 3 вся ветка
Текущий архив: 2005.10.30;
Скачать: CL | DM;
Память: 0.65 MB
Время: 0.049 c