Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: CL | DM;

Вниз

Matrix. Оцените новую систему матричных вычислений для Delphi   Найти похожие ветки 

 
Loginov Dmitry   (2005-09-30 23:16) [0]

Здравствуйте, глубокоуважаемые программисты. Специально для вас было создано новое, чрезвычайно мощное средство для работы с матрицами. Система представляет собой набор модулей, подключаемых к проектам Delphi.

Система Matrix выложена на сайте http://delphimatrix.narod.ru

Пожалуйста, выскажите свое мнение о системе. Актуальна ли такая система для программиста в настоящее время.


 
Критик   (2005-09-30 23:49) [1]

Ну и кому это надо? Программисту? Сомневаюсь. Математику? Инженеру? Ну может кому-нибудь и да. Нет, такие люди, конечно, найдутся - на всякий товар есть свой купец - но в широкой необходимости сомневаюсь.
Разбросай инфу по софтверным сайтам. Пусть люди сливают, а ты считай число закачек - вот тебе и объективный показатель необходимости.


 
_111_   (2005-10-01 00:38) [2]

согласен с Критиком


 
Marser ©   (2005-10-01 00:54) [3]

Актуальна для студента-троечника.


 
Дмитрий Белькевич   (2005-10-01 04:29) [4]

Да ладно, что вы на человека взьелись. Хочет - пускай пишет.


 
Loginov Dmitry   (2005-10-01 08:00) [5]

Спасибо вам за такие пессимистические мнения.
Вообще-то это система была сделана как заменитель матлаба для делфи. Дело в том, что для других языков программирования матлаб генерирует коды, а для делфи - нет.

Вся надежда на вас, СТУДЕНТЫ-ТРОЕЧНИКИ


 
Loginov Dmitry   (2005-10-01 09:25) [6]

...И все-же насчет студентов-троечников нельзя согласиться...

В Matrix имеется высокопроизводительный движок, возможности которого далеко не ограничиваются матричными вычислениями. Хотя возможность создавать массивы неограниченных размеров в принципе студенту-троечнику не понадобится, однако многим профессиональным программистам она может быть необходимой.
Что есть программирование? Это написание различных алгоритмов. Значительное число этих алгоритмов связано с обработкой числовых массивов. Matrix существенно облегчает (и часто во много раз) такую обработку. Система разрабатывалась в "полевых" условиях и уже имеет несколько практических применений. Я считаю, что любой профессиональный программист в Delphi должен иметь в своем арсенале подобное средство, ибо когда нибудь оно ему пригодится.


 
SergP.   (2005-10-01 11:08) [7]


> Вся надежда на вас, СТУДЕНТЫ-ТРОЕЧНИКИ


Где ты тут нашел студентов-троечников?


 
Tonich ©   (2005-10-01 11:27) [8]


> SergP.   (01.10.05 11:08) [7]

ой да ладно... тут пол форума их, "помогите с курсовой" , "есть одна интересная задачка", "Сортировка"  и еще много таких тем


 
TUser ©   (2005-10-01 11:57) [9]

Хорошее дело. Я вот может быть поиспользую. Сейчас не надо, но вдруг пригодится.

Убрать exe файлы из архивов. Не у всех такой интернет, как у меня - кое-кто на диаол-апе висит.


 
Tonich ©   (2005-10-01 12:14) [10]

да вот в плане примера, реализации некоторых алгоритмов прикольно.

Вот единственное что меня смутиор, (хотя может я его-то недоглядел) , так это заполнение матрицы "из строки" , ну типа

Sload("A=[...]")

или поэлементно.

а есть там такое, допустим у меня есть уже массив чисел

B : TMyarray
B := [......]
SLoad("A",B)


 
Loginov Dmitry   (2005-10-01 12:19) [11]

Дык, если у тебя уже ЕСТЬ массив чисел, так зачем его загружать?
А... Понял, понял. Конечно же это все реализовано в матриксе. Например, есть у тебя массив
B: array[1..10, 1..50] of Byte;

Тебе его нужно забить в матрикс:

Base.LoadArrayFromMemory("A", @B, 10, 50, "Byte");

Есть и обратная операция:

Base.SaveArrayToMemory("A", @B, 10, 50, "Byte");


 
Loginov Dmitry   (2005-10-01 12:23) [12]


> Убрать exe файлы из архивов. Не у всех такой интернет, как
> у меня - кое-кто на диаол-апе висит.


narod.ru -  вообще - тормозная штука, даже на 10 Мбайтном канале файл Matrix.exe будет грузиться минут пять. А что делать?


 
Tonich ©   (2005-10-01 12:27) [13]

ну тохда все бонятно )


 
TUser ©   (2005-10-01 12:31) [14]

> даже на 10 Мбайтном канале файл Matrix.exe будет грузиться минут пять.

У меня FlashGet грузанул за 2 секунды :) И все-таки если сделать массив обычным рар-ом без exe-файлов в нем, то размер сокращается на 40%.


 
Marser ©   (2005-10-01 16:21) [15]


> Вообще-то это система была сделана как заменитель
> матлаба для делфи. Дело в том, что для других языков
> программирования матлаб генерирует коды, а для делфи -
> нет.

Когда я принёс своему преподу по "Основам радиоэлектроники" свой проект, состоящий из конструктора формул и утилиты, позволяющей запустить  каждую формулу со своей формой ввода, он поинтересовался, зачем это нужно, если есть MathCad. Было обидно, но позже я понял, что пересекаться с гигантом можно только в частных случаях - для самообразования, сбивая цену и т.д.


 
Loginov Dmitry   (2005-10-01 16:47) [16]

Удалено модератором
Примечание: Модерирование не обсуждаем


 
Kerk ©   (2005-10-01 17:15) [17]

Loginov Dmitry   (01.10.05 16:47) [16]

Это вполне нормально


 
Loginov Dmitry   (2005-10-01 17:21) [18]

А что тут нормального? Очень интересно было бы узнать мнения программистов.


 
Kerk ©   (2005-10-01 17:52) [19]

Loginov Dmitry   (01.10.05 17:21) [18]
А что тут нормального? Очень интересно было бы узнать мнения программистов.


В потрепаловке ты его скорее узнаешь. Я серьезно.


 
Marser ©   (2005-10-01 18:04) [20]

Удалено модератором
Примечание: Модерирование не обсуждаем


 
drpass ©   (2005-10-01 19:09) [21]


Marser ©   (01.10.05 16:21) [15]
> он поинтересовался, зачем это нужно, если есть MathCad.
> Было обидно, но позже я понял, что пересекаться с гигантом
> можно только в частных случаях - для самообразования, сбивая
> цену и т.д.

А вот зря не поспорил с преподом. Потому что в цивилизованных странах MathCad не продается на лотках на радиорынке. А стоит приличную сумму с тремя-четырьмя нулями в зависимости от комплектации. Рано или поздно у нас произойдет то же самое. Поэтому качественные авторские разработки идут на "ура", особенно в академической среде


 
Marser ©   (2005-10-01 19:14) [22]

drpass ©   (01.10.05 19:09) [21]
Всё это верно, правда есть и бесплатные версии того же MathCad.


 
wicked ©   (2005-10-01 19:24) [23]

по сабжу....
не качал, не пробовал, но, судя оп описанию, выглядит неплохо.... учитывая, что  четверть вопросов в Медии/Играх касается так или иначе использования матричного исчисления, например, аффинные преобразования.....
в любом случае автору респект за работу.... :) и не слушай всяких насупленных критиков....

> drpass ©   (01.10.05 19:09) [21]
согласен на 100%....


 
wicked ©   (2005-10-01 19:27) [24]

> Marser ©   (01.10.05 19:14) [22]
модет и есть, тебе то какое дело?.... ты написал полэзный вещь, который потом сможешь встроить туда, куда тебе будет нужно, а не бегать с квадратными глазами в поисках компонента/OCX, считающего формулы за тебя... в любом случае, ты поимел полезный опыт, поэтому, препод, говорящий такие слова, как минимум поступил глупо.... даже не имхо....


 
Loginov Dmitry   (2005-10-01 20:24) [25]

Если оценить скорость работы пакетов MathCad и Matlab, то второй в несколько раз шустрее. Matlab вылизывался 20 лет. Это рульная вешь. Матрикс создавался всего лишь пол года, однако его эффективность еще выше, чем у Матлаба. Чего уж говорить о каком-то маткаде.


 
Loginov Dmitry   (2005-10-01 21:19) [26]

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


 
Kerk ©   (2005-10-01 21:24) [27]


> Loginov Dmitry

Ну а почему сайт на народе-то? Ну противно на народ ходить. Тормоза не детские.


 
Loginov Dmitry   (2005-10-01 22:05) [28]

Пробовал на других хостах : hut.ru, agava, hotbox. Не получилось, а на народе - все за 60 секунд (а о тормозах я тогда не знал). Пока размер инфы небольшой, жить будем, а там посмотрим.


 
Anatoly Podgoretsky ©   (2005-10-01 22:12) [29]

Не будешь, ну если только в линках будешь прятать имя сайта.


 
drpass ©   (2005-10-01 22:14) [30]


> Matlab вылизывался 20 лет.

Да, MathCad курит в сторонке, ему всего лишь 19 в этом году исполнилось :-)
Просто архитектура другая. А насчет скорости спорить не буду, не сравнивал - это еще надо постараться загрузить математикой современный процессор.

> Матрикс создавался всего лишь пол года, однако его эффективность
> еще выше, чем у Матлаба.

А возможности?


 
Kerk ©   (2005-10-01 22:18) [31]

Loginov Dmitry   (01.10.05 22:05) [28]

Проект у тебя интересный.
Если есть желание могу предложить хостинг в Кладовке. Бесплатно конечно. Будет адрес вида: kladovka.net.ru/yoursite/ или yoursite.kladovka.net.ru
Скоро куплю домен второго уровня и более прилично ссылки выглядеть станут :)
Надежный хостинг на сервере в Москве. Perl/PHP/MySQL

Если интересно, то мыло в анкете. Пиши, обсудим трафик/место.


 
pasha_golub ©   (2005-10-01 22:50) [32]

В пятидесятке!!!

ЗЫ Это я для того чтобы топик не ушел в небытие. Нетривиальная тема, господа!


 
IJ   (2005-10-01 23:50) [33]

Удалено модератором


 
Loginov Dmitry   (2005-10-02 00:01) [34]


> drpass
> А возможности?


На данный момент возможности Matrix очень скромны (в отличие от математических пакетов Matlab, MathCad, Maple и т.д.). Я сделал проект "открытым", т.е. любой желающий сможет скачать самые последние обновления, содержащие исходники системы, предложить или реализовать новые возможности системы. Самое главное - ядро, т.е. вычислительный движок, и возможности системы обуславливаются этим движком. Я постараюсь перечислить некоторые возможности:
- Использование рабочих областей. Эта возможность позволяет создавать множество рабочих областей с одноименными массивами;
- Возможность работы с неограниченным числом массивов (любой массив считается матрицей и имеет элементы Real, что удобно при взаимодействии с матлабом), причем теоретически размеры массивов ограничиваются 2 Гбайтами памяти.
- Отсутствует необходимость предварительного объявления массивов. Основной объект в Matrix - рабочая область, причем первоначально вам доступен объект класса TWorkspace Base (здесь Base - главная рабочая область, которая не разрушается ни при каких исключениях; рабочие области, которые создадите вы, будут считаться временными и будут уничтожаться при возникновении исключений. В Матлабе тоже самое: он при запуске предлагает постоянную рабочую область, а все m-функции выполняются во временных рабочих областях.
- Работа с файлами в 3-х форматах (ascii, формат задания массивов в матлабе, двоичный формат).
- Работа с потоками - наследниками TStream (TFileStream, TMemoryStream и т.д.): запись в поток, чтение из потока (с указанием длины заголовочной области). Очень облегчает работу с БЛОБ-полями базы данных, хранящими числовые массивы (естественно, любого типа).
- Загрузка из памяти по указанному смещению, и запись в память (LoadArrayFromMemory(), SaveArrayToMemory()).
- Обмен данными с Матлабом и управление этой средой (тестировалось только с Матлабом версии 6.5);
- Выполнение необходимой математики (линейной, матричной), правда все никах не встрою вычисление детерменанта.
- Вы можете создавать свои функции с временными рабочими областями. Поэтому разработаны механизмы передачи данных между рабочими областями: копирование массива, копирование ссылки на массив, перемещение массива
- В состав системы входит модуль поиска кратчайшего пути на двоичной карте с препятствиями, ищет путь в реальном времени без использования матричных вычислений.

Конечно все возможности не перечислить, поэтому разработана достаточно подробная справочная система, которую можно просмотреть с помощью утилиты HelpViewer.exe, которая находится в архиве Matrix.exe.


> Если есть желание могу предложить хостинг в Кладовке. Бесплатно
> конечно. Будет адрес вида: kladovka.net.ru/yoursite/ или
> yoursite.kladovka.net.ru

Спасибо за предложение. Я посмотрю.


 
Marser ©   (2005-10-02 00:11) [35]

Ознакомился с проектом немного подробнее. Действительно интересно, приношу свои извинения автору, чей проект я недооценил.


 
Loginov Dmitry   (2005-10-02 00:34) [36]

Спакойной ночи всэм


 
Дмитрий Белькевич   (2005-10-02 01:36) [37]

>Просто архитектура другая. А насчет скорости спорить не буду, не сравнивал - это еще надо постараться загрузить математикой современный процессор.

Не видел ты просто задач соответствующих ;)

3D реконструкция медицинских изображений. Двойной ксеон 3 ггц считает полминуты. Обрабатывалось 240 снимков.

А по скорости многие серьезные пакеты неоптимальны. Тот же mathlab или photoshop. Свеженаписанные фильтры-свёртки в моей реализации на mmx работают быстрее адобовских - около 50 кадров 512х512 16 бит в секунду.  Делал недавно интструмент, аналогичный magic wand, адоб курит на порядки - моя реализация работает в реалтайме прямо на изображении 2000х2000 пикселей. Адоб один проход считает полторы - две секунды.


 
Loginov Dmitry   (2005-10-02 09:57) [38]

Да, матлаб для обработки изображений не годится. Он не использует mmx, и вообще работает медленнее, чем можно было бы сделать. Однако в мире он считается самым быстрым математическим пакетом


 
_111_   (2005-10-03 01:19) [39]

вот вы сюда сколько всего напихали - тогда влезу и я

Щас я вам все разрулю.

Начнем с названия сайта - Мастера Делфи. Само слово мастер подразумевает некую специфичность деятельности человека-мастера (так как не возможно быть профессианалом во всем). И каждый мастер видит направление своей деятельности в некотором "лунном" свете, не смотря на то что все опускают его разработку. И это частый случай.
Но дело в том, что узкопрофильная разработка (например Matrix) будет полезна тем немногим людям, которые разбираются в данном направлении. Они скачают молча данную прогу(или модули) и будут нахаляву юзать в своих целях, вспоминая добрым, иногда неочень добрым, словом автора.
Вот на этот небольшой круг людей и расчитан проект( ведь можно его так назвать?).
Но это еще не все. Советую всем взять на заметку эту штуку, так как это пускай небольшой, но уже кирпич, который можно реально использовать со смыслом.
Можете мне возразить: мл, столько лет программируем - ни разу етими матрицами не пользовались. (Кстати, я тоже).
Но попробуйте мне назвать хоть одну область программирования (кроме настраивания интерфейса), где не нужно матричное исчисление. СПОРИМ НЕ НАЗОВЕТЕ?


 
Джо ©   (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, и он отображает только выделенную дельфийским менеджером память. Стек в прочем легко вручную проверить :)

Сорри за оффтоп.


 
Real2   (2005-10-05 06:17) [81]

Удалено модератором


 
Джо ©   (2005-10-05 06:25) [82]

Чего-то я не пойму - _111_ и Loginov Dmitry -одно и тоже лицо? Новое слово в рекламе? Если мой вопрос обидел кого - не взыщите, уж такое сложилось ощущение.
И, к слову, вопрос к _111_ - какой такой "матрицей 4x4" решается задача на определение принадлежности точки полигону?


 
Antonn ©   (2005-10-05 06:29) [83]

Джо ©   (05.10.05 6:25) [82]
Чего-то я не пойму - _111_ и Loginov Dmitry -одно и тоже лицо?

или содельник.


 
Дядя Петя   (2005-10-05 07:03) [84]

Удалено модератором


 
Loginov Dmitry   (2005-10-05 09:48) [85]

[82]

Народ, да как вы могли подумать... В глаза не видел ни 111 ни 222 ни 333, и вообще - имена какие-то странные. Вначале да, просил некоего IJ поддержать беседу [33], но чувак видимо вошел не в тему.

Да... Конечно, нехорошо в моем стиле отвечать на вопросы. Нужно посоветовать 111 завести свою ветку на форуме в разделе Мультимедиа. (Я же лично к мультимедиа никакого отношения не имею). Я думаю, моно закрыть это бессмысленное обсуждение - дня три мучили народ, результаты вполне удовлетворяют. Заходите хоть иногда...


 
_111_   (2005-10-06 01:41) [86]


> Antonn ©   (05.10.05 06:29) [83]

расставим галки над Й.

> Loginov Dmitry   (05.10.05 09:48) [85]
> ...В глаза не видел ни 111 ...
> ...Я же лично к мультимедиа никакого отношения...

Учимся на одной кафедре в магистратуре по направлению "КГ и мультимедия". Судите сами.

> Джо ©   (05.10.05 06:25) [82]

ни одно лицо и даже не один разум. Если что я прорекламировал - извиняюсь, не хотел.
о матрице 4x4 - плоскость: p1 (x1,y1,z1),p2,p3; и точка P(x,y,z)
|x-x1   y-y1  z-z1   |
|x2-x1 y2-y1 z2-z1 |=0
|x3-x1 y3-y1 z3-z1 |

есть 2 координаты искомой точки - получаешь третью, подставляешь все координаты + проверяешь равенство - проверяешь принадлежность точки.

> Antonn ©   (05.10.05 06:29) [83]

не подельник, просто юзаю его модули в своих прогах.

> GuAV ©   (05.10.05 01:45) [80]

пока не увижу-не поверю, пока не видел.

Все. множете закрывать, раз автор просит.



Страницы: 1 2 3 вся ветка

Текущий архив: 2005.10.30;
Скачать: CL | DM;

Наверх




Память: 0.73 MB
Время: 0.057 c
14-1128548919
Eleepod
2005-10-06 01:48
2005.10.30
GMail - вы все еще кипятите?


2-1128628970
Gefest80
2005-10-07 00:02
2005.10.30
Помогите с регистром!!!


1-1128852421
Аноним
2005-10-09 14:07
2005.10.30
Сообщение из трея


2-1128563154
Viktop
2005-10-06 05:45
2005.10.30
Формат файла для теста


1-1128633473
Thor234
2005-10-07 01:17
2005.10.30
Таблица идентификаторов