Векторная графика - идеи
язык программирования не важен, пока что ищу идеи и алгоритмы реализации.
функция такая:
черчу простую схему из источника, резистора, и делаю расчет по закону ома )
у кого какие книжки , советы, просто идеи или коменты.
проект на стадии разработки идеи.
язык программирования не важен, пока что ищу идеи и алгоритмы реализации.
функция такая:
черчу простую схему из источника, резистора, и делаю расчет по закону ома )
у кого какие книжки , советы, просто идеи или коменты.
проект на стадии разработки идеи.
Так что надо-то? Графические алгоритмы, или учебник по радиоэлектронике?
графический алгоритмы ) но если завалялась на полке супер книжка радиоэлектронике ) тоже пригодиться )
знал бы я чего хочу ) не спрашивал б идей )
мне идеи нужны, по-моему вопрос был достаточно конкретный, что бы начать предлагать всякие бредовые но очень полезные идеи. это как раз то что мне нуно )
а я хочу свой софт написать. )
спасибо програмка отличная ) пользуюсь не первый год.
меня интересует идеология написания подобных программ.
в этой программке две основных области: область инструментов и рабочая область рисования самой сети с резисторами, ключами и пр. Выбираем резистор и перемещаем его на рабочую область. Получаем Резистор1. Еще переносим туда Резистор2. Потом кликаем два раза на Резисторе1 и ведем мышкой к Резистору2, создается Связь1, направленная от Резистора1 к Резистору2. Потом задаем свойства обоим объектам типа Резистор и Связи.
Если эту затею исполнять в Visual Basic 6, то проблема такая. При нажатии на кнопку "Резистор" на панели инструментов на форму загружается картинка Резистора, которую пользователь может тут же перемещать по всей рабочей области и положить туда, где ей место. Если мы делаем это через массив объектов, то у нас получается Резистор(0) и Резистор(1), когда мы оба этих резистора размещаем на рабочей области. Так вот когда мы объявляем в коде программы переменную, которая является объектом, которого еще нет на форме, но мы его потом туда вызовем, то такому объекту можно написать, чтобы он был WithEvents, если это единичный объект. Нельзя для массива задать WithEvents (это выражение разрешает новому объекту задавать какие-либо процедуры, например, чтобы можно было по клику на новый объект изменить значения каких-либо переменных). WithEvents работает только с объектом единичным, без массива, но нам, может, нужно будет 200 или 300 таких Резисторов, а может, всего 1-2. Можно было бы, конечно, решить эту проблему тем, что в коде программы предусмотреть возможный вызов 200 или 300 Резисторов. но впустую загружать столько памяти нежелательно. Как быть?
Кстати, если все-таки работать с массивом объектов, WithEvents и оператором Set, то по клику на последний(!) из вызванных на форму объектов из массива объектов можно будет осуществлять операции, а с остальными - облом. :( Предпоследний созданный объект и все предыдущие словно проваливаются в небытие, с ними вообще ничего сделать нельзя потом! :confused:
Вопрос: может, дело в языке? может, есть какой-нибудь другой язык, на котором можно загружать массив объектов во время выполнения программы и ДО начала выполнения программы прописывать для этих объектов из массива какие-либо процедуры, которые бы начинали действовать по клику на какой-либо из этих новых объектов? так, чтобы не только с последним созданным объектом можно было работать. или я чего-то не понимаю? :rolleyes:
или, может, есть какие-либо совсем другие идеи по построению этого приложения?
Я бы предпочёл начать с чёткой постановки задачи, потом определиться со структурами данных и алгоритмами, и уж потом - с языком и прочими фишками. Конкретно в этом случае неплохо бы для начала определиться с математической моделью рисуемой схемы.
А ещё есть неплохой вариант поискать исходники открытых CAD-систем, и вдумчиво изучить. А если это очень трудно сделать, то сначала прокачать скиллы и браться за посильные проекты.
Ну и, наконец, сначала чётко ставитьь себе задачу, а уж потом браться за её решение, исходя из её условий. Это важно. Иначе вы просто потратите время.:)
А ещё есть неплохой вариант поискать исходники открытых CAD-систем, и вдумчиво изучить. А если это очень трудно сделать, то сначала прокачать скиллы и браться за посильные проекты.
Ну и, наконец, сначала чётко ставитьь себе задачу, а уж потом браться за её решение, исходя из её условий. Это важно. Иначе вы просто потратите время.:)
на мой скромный взгляд в проекте есть несколько стадий.
первая стадия, это собрать идеи. а когда я смогу математически сформулировать задачу, я уже выберу методологию решения.
пока что кроме теории графов я ничего не смог найти по этой теме.
уверен что на основе этой теории и создают алгоритмы подобных программ.
но есть одно главное но, может быть у кого то возникнет идея другого подхода к решению подобной задачи.
знаете как на совещании, сидите предлагаете идеи, а какая идея оказывается самой лучшей? конечно ж пойти на обед :)
в любом случае спасибо за совет.
мне идеи нужны, по-моему вопрос был достаточно конкретный, что бы начать предлагать всякие бредовые но очень полезные идеи.
Таки вы уже определились с тем, что вы хотите получить в результате работы? Или нужны идеи того, как написать "то, не знаю что"? Первое противоречит цитатам, а второе… ну, я в принципе хоть к пятнице подарю вам пару сотен идей. По доллару за штуку. ИМХО, цена сходная. Вы готовы?;)
уверен что на основе этой теории и создают алгоритмы подобных программ.
Так-то оно так, но для полной ясности опишите-ка механизмами теории графов детекторный приёмник, усилитель на одном транзисторе или мультивибратор. Когда вы это сделаете, остальное приложится.
Только изображать схемы, или еще надо будет вычислять какие-то их характеристики?
Будете ли вы проверять правильность созданной схемы?
Если проблема с выделением памяти- пишите на C# или C++. Правда тогда с графикой повозиться придётся.