Вверх ↑
Этот топик читают: Гость
Ответов: 2058
Рейтинг: 28
#1: 2007-06-19 11:37:38 ЛС | профиль | цитата
Нет ли у кого ни будь программы по отрисовки схемы SHA на битмяпе? Поиск не работает. Прада есть программа exampleOpenGLHiAsm3D, но она для 3D. Нужно для 2D. Есть желание сделать алгоритм, который будет рисовать линки так что бы они обходили компоненты (т. е. не проходили сквозь них), а так же что бы линки не сливались.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2007-06-19 11:56:30 ЛС | профиль | цитата
А отрисовка схемы в этой задаче чем поможет? Постановку в этом случае надо ставить так: разработка алгоритма обхода объектов с областью, заданной двумя точками на плоскости (x1,y1) и (x2,y2).

Для линков сложнее. Тут даже над постановкой задачи придется подумать.
карма: 27
0
Ответов: 2058
Рейтинг: 28
#3: 2007-06-19 12:09:47 ЛС | профиль | цитата
Dilma писал(а):
А отрисовка схемы в этой задаче чем поможет? Постановку в этом случае надо ставить так: разработка алгоритма обхода объектов с областью, заданной двумя точками на плоскости (x1,y1) и (x2,y2).

Так новый алгоритм я на чём буду тестировать? Вот для этого мне и нужна программа (написанная на HiAsm само сабой), что бы отрисовавать схему SHA. Если будет токая программа, то можно спокойно сидеть и пытаться придумывать новый алгоритм, при чем в этом могут принять участи все сдещние пользователи.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2007-06-19 13:26:17 ЛС | профиль | цитата
Все равно ответа на вопрос не увидел. Для тестирования предпологаемого алгоритма достаточно два квадрата с произвольными и координатами и две точки, расположенные на смежных ребрах каждого из них.

Положим условия такие:
R1(10,10,20,20) - квадрат 1
R2(10,100,20,110) - квадрат 2

P1(20,12) - точка 1 на правой гране верхнего квадрата
P2(10,102) - точка 2 на левой гране нижнего квадрата

отрисовать два квадрата и две точки думаю не так сложно. Алгоритм должен по этим условиям выдать массив координат X и Y для построения промежуточных точек.
карма: 27
0
Ответов: 2125
Рейтинг: 159
#5: 2007-06-19 14:14:22 ЛС | профиль | цитата
Лучше бы сделали Ява-апплет, чтобы схемы на форуме (те, что в тегах code) отображать.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2007-06-19 14:18:25 ЛС | профиль | цитата
Есть повод разработать HiAsm Java Edition
карма: 27
0
Ответов: 2125
Рейтинг: 159
#7: 2007-06-19 14:24:46 ЛС | профиль | цитата
Я давно хотел предложить, чтобы ты в HiAsm-е сделал ActiveX, отображающий схему, и использовать его на форуме опционально для отображения содержимого тэгов code. Т.е. те, у кого HiAsm установлен будут видеть схему уже на форуме
карма: 1

0
Ответов: 2058
Рейтинг: 28
#8: 2007-06-19 14:36:09 ЛС | профиль | цитата
Dilma писал(а):
Все равно ответа на вопрос не увидел.

Кто там говорил и это вроде был Галков, то как отличаються мастер и ремесленик. Ну короче говоря мне удобней ни седеть на двух квадратах испытавать алгоритм, а сразу на схеме и причём на разных схемах. А то два квадрата нарисовал и что... Схема то большая... ты может забыл, но я говорил ещё про алгоритм который не даст двух сливающихся линий. А на двух квадратах все тестирования не проведёш.
AlexBotch ты вроде делал какой то редактор SHA? У тебя нет схемы по выводу SHA на битмяп?
карма: 1

0
Ответов: 9906
Рейтинг: 351
#9: 2007-06-19 14:47:01 ЛС | профиль | цитата
Что-то напоминает мне это автоматическую трассировку печатных плат.
Жрет ресерсов немерянно, работать может часами, а ручками все равно лучше и правильней разведешь.

Это я к тому, что задача не есть простая - народ десятилетиями ее решает
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#10: 2007-06-19 14:58:36 ЛС | профиль | цитата
Эдик писал(а):
Кто там говорил и это вроде был Галков, то как отличаються мастер и ремесленик

мастер отличается тем, что умеет грамотно ставить задачу.
грамотно поставленная задача это 50% ответа на нее.

Твоему алгоритму по барабану, какие иконки нарисованы на квадратах. Ему по барабану сколько кружков нарисованно по бокам этих квадратов. Ему по барабану каким цветом и нарисованны ли эти квадраты вообще. А значит эта информация является лишней и не должна входить в условие задачи.

Эдик писал(а):
ты может забыл, но я говорил ещё про алгоритм

нет не забыл. Как раз наоборот: задача должна быть разбита на шаги и делая все скопом ничего хорошего не добьешься.

Эдик, про грамотную постановку задачи, исключающую лишние данные я тут не просто так говорю. Стремление делать все сразу на схеме может привести к неоптимальному решению. Скажем очень грубый пример: глядя на отрисованную в цвете SHA тебе в какой-то момент придет мысль, что размеры "квадратов" можно получить в зависимости от количества точек на нем или типа элемента.

[size=-2]------ Добавлено в 14:58
Galkov писал(а):
Это я к тому, что задача не есть простая - народ десятилетиями ее решает

Вот именно. И тем не менее наш коллега желает сделать сразу на схеме да и еще с предотвращением слияния линков
карма: 27
0
Ответов: 2058
Рейтинг: 28
#11: 2007-06-19 15:16:36 ЛС | профиль | цитата
"А всё таки она вертиться" (с) Не помню кто, типа Каперник.
карма: 1

0
Ответов: 2125
Рейтинг: 159
#12: 2007-06-19 15:31:15 ЛС | профиль | цитата
Эдик писал(а):
я говорил ещё про алгоритм который не даст двух сливающихся линий

И этот туда-же: Каждый уважающий себя программист считает своим долгом написать тетрис.
Galkov писал(а):
Жрет ресерсов немерянно, работать может часами

Если расставлять все линии, то конечно да, офигенный перебор. А если только одну - вновь добавленный линк, то всё зависит от шага, с которым мы разрешаем ставить линии.

Я вот тоже один раз пытался что-то подобное сделать. Эдик, а смогёшь то-же самое на HiAsm сделать?

P.S. После запуска тыкать мышью по 2 раза - начало и конец новой линии.
карма: 1

0
файлы: 1Path.rar [4.7KB] [262]
Ответов: 9906
Рейтинг: 351
#13: 2007-06-19 15:39:40 ЛС | профиль | цитата
tsdima, ну я как-то и "волновую трассировку" в виде элемента исполнял
Девушка попросила...

На HiAsm такое не сделаю: динамические структуры данных с ССЫЛОЧНЫМИ данными.
карма: 9

0
Ответов: 2125
Рейтинг: 159
#14: 2007-06-19 15:46:19 ЛС | профиль | цитата
В моём примере - простая матрица размером AxB по количеству точек Тоже, вроде, волновой алгоритм. Правда, с рекурсией, т.к. используется простой алгоритм заливки.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#15: 2007-06-19 15:49:26 ЛС | профиль | цитата
tsdima писал(а):
P.S. После запуска тыкать мышью по 2 раза - начало и конец новой линии.

to Эдик, советую скачать и посмотреть на конкретном примере, чем мастера отличаются от ремесленников. А то им все схемки красивые с картинками подавай... У tsdima еще красиво сделано все, когда же я делал трассировку пути между двумя направленными векторами, то даже элементы с сеткой чертить не стал - лениво было

tsdima, а что раньше не показывал? вроде приемлемо дорогу прокладывает...
карма: 27
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)