|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
Дампить объект, смотреть его свойства и методы - и работать с ними.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 24.03.2011
Сообщений: 12
|
Есть полилиния. Через getpoint ввожу 2 точки и через inters получаю точку пересечения с полилинией. В мировой системе координат все работает замечательно, но если я поменяю систему координат на пользовательскую то точки пересечения нет. Прога не работает.
Даже не представляю в каком направлении копать. Подскажите... |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
копать в сторону хэлпа:
Цитата:
|
|||
|
||||
Регистрация: 13.04.2017
Сообщений: 134
|
Здравствуйте.
Я хочу написать игру - тетрис, но я понимаю, что в лоб я ее не напишу, потому что многого не знаю. Первым делом хочу научиться двигать какой-то объект стрелками, пожалуйста, подскажите в какую сторону мне копать, что прочитать. Спасибо за ваши ответы и время. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
Именно на лиспе в акаде?)
grread - считывание клавиш управления "на ходу в цикле" в цикле. А рабочее поле - вспомните китайские электронные игрушки-96 игр в одной: рабочее поле состоит из квадратиков - 20 шт в высоту и 10шт в ширину. Соответственно, делаете из тех же блоков такое поле (не забыв цвет блоков выставить - по блоку). И далее перекрашиваете блоки под цвет фона, если надо скрыть. И под рабочий цвет - чтобы показать. Самый трудоемкий - это вопрос алгоритма: пересчет матрицы 20х10 в такт движениям деталек, их смещениям и повороту. И временную задержку еще откуда взять в цикле - в лиспе ее вроде нет в явном виде. |
|||
|
||||
Delphi, Assembler, PHP, VB, Lisp с 01.02.2019 Регистрация: 10.02.2019
Воронеж
Сообщений: 30
|
Цитата:
А вообще, сначала ТС должен сам себе ответить на вопрос: "а как это вообще сделать?", не привязываясь к конкретному языку и системе. Цитата:
----- добавлено через ~3 ч. ----- Хотя, не знаю, а вообще можно ли обновлять экран во время работы скрипта? У меня не получилось. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
redraw или vla-regen - по вкусу.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 13.04.2017
Сообщений: 134
|
Цитата:
Я попробую на бумажке прикинуть, как бы я это сделал. Но наверняка на бумажке будет проще чем в коде. Цитата:
Спасибо за наводку. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
Offtop:
Цитата:
А вот логическую матрицу, в которой будет производиться анализ возможности сдвига элемента, совпадения всех элементов в ряде и т.п. лучше сделать с 3 лишними строками вверху. Эти строки не будут связаны с полем отображения - но в них будет сформировано логическое отображение очередного элемента перед началом его спуска вниз. Это для унификации кода движения элемента по вертикали. |
|||
|
||||
Delphi, Assembler, PHP, VB, Lisp с 01.02.2019 Регистрация: 10.02.2019
Воронеж
Сообщений: 30
|
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
|
|||
|
||||
Регистрация: 03.12.2009
Сообщений: 84
|
Помогите разобраться с функцией trans
Хочу выделить объекты внутри контура полилинии. Код ниже работает: Код:
Пытаюсь докрутить код, чтобы выделить объекты внутри полилинии, которая принадлежит блоку Код:
но тут затык. Имя полилинии из блока вытащил, координаты вершин полилинии получил, но при их преобразовании что то идет не так. Код работает, объекты выделяет, но только вот область выделения объектов лежит далеко за пределами полилинии / блока Когда полилинии сама по себе, то преобразование координат из мировой в текущую происходит корректно Код:
Похоже, что берутся координаты границ блока ("местные" с нулем, совпадающим с базовой точкой блока) и далее код применяет "местные" координаты к текущим (или мировым). Выделение происходит около начала координат. Я так понимаю необходимо совершить дополнительное преобразование координат блока в текущие координаты. Но как это сделать. Подскажите. ----- добавлено через ~16 мин. ----- Кажется понял, нужно к каждой "местной" координате полилинии прибавить координату базовой точки блока. |
|||
|
||||
Регистрация: 21.03.2013
Самара
Сообщений: 29
|
Подскажите, можно ли с помощью лиспа подсветить не всю полилинию, а отдельный сегмент, на манер стандартной команды Сопряжение?
Пробовал рисовать поверх сегмента отрезок, и подсвечивать его. Но когда линия не сплошная, а с условными обозначениями, и включена генерация типа линий, то выглядит очень коряво. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |