IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача "машинные узоры"
arsen86
сообщение 4.11.2004 18:31
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Интерессная задача о машинных узорах, нашел в книге, а с реализацией на Паскале возникли проблемы, если у кого-то есть интерес к этой задаче поделитесь своими соображениями.
Собственно условие:
"Создать систему, которая реализует разнообразные машинные узоры, которые используются в качестве заставок на базе элементов построенных таким образом:
1) опрос типа многоугольника у пользователя : треугольник, квадрат, ромб, пятиугольник и т.д.
2) опрос размера стороны: p
3) опрос коэфициента 0<A<1, с помощью которого стороны фигуры будут разделяться точкой: p*A
4) Вычислить точку каждой из сторон многоугольника и соединить полученные точки отрезками
5) Повторить рекурсивно п.4 столько раз, сколько разрешает экран."

Книга в которой я это "надыбал" Ю.В. Котов "Как рисует машина". Наука, 1988 г.

Как видно задача комплексная, буду рад увидеть любые предложения и подсказки по ее решению и реализации.
Заранее спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 4.11.2004 18:54
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
3) опрос коэфициента 0<A<1, с помощью которого стороны фигуры будут разделяться точкой: p*A

неясно что имеется ввиду...

и еще... все фигуры, выведенные на экран одинаковы?
Должны ли они быть расположенны вплотную друг к другу?
Это те вопросы, на которые надо ответить перед началом процесса алгоритмизации...


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 4.11.2004 19:05
Сообщение #3


Гость






arsen86

Если я правильно понял, то должно получиться что-то типа вот этого ?


Эскизы прикрепленных изображений
Прикрепленное изображение
 К началу страницы 
+ Ответить 
Altair
сообщение 4.11.2004 19:12
Сообщение #4


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Хм, кстати на рисунке volvo, наблюдается "обман зрения"...
если смотреть в центр, то кажется, что внешние квадрат имеет не паралельные грани относительно окна браузера...
smile.gif


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
arsen86
сообщение 5.11.2004 11:52
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Относительно п.3
так он описан в задачи, я понимаю, что координаты точки определяются концом отрезка длинной p*A, который нужно откладывать от определенного начала стороны, начало наверное можно выбрать произвольно

Фигуры, как я понял, предлагаются на выбор, то есть одновременно на экране отображается только 1 фигура, с определенной длинной стороны, длинна, в свою очередь, должна задаватся отдельно для каждой фигуры.

volvo
ты правильно понял, во всяком случае я понял тоже самое :)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Digitalator
сообщение 5.11.2004 18:21
Сообщение #6


Бывалый
***

Группа: Пользователи
Сообщений: 247
Пол: Мужской

Репутация: -  1  +


Я тоже все так понял smile.gif тока
Цитата
Повторить рекурсивно п.4 столько раз, сколько разрешает экран."

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

Только надо писать без рекурсии (какая противная вещь) т.к. при A скажем 0.9999 будет глюк smile.gif, а так ничего сложного - координаты по нач. точек легко вычислются, при некотором знании тригонометрии. Далее можно легко находить координаты точек каждой следующей фигурки, для этого нам потребуется знание уравнения прямой... считать разности координат, пока они не станут меньше 0.5 (вырождение) тоже не составляет проблем.....

Может найдется герой, который напишет для этого всего програмку smile.gif

Программа написана и добавлена в FAQ: Занимательная графика


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Digitalator
сообщение 5.11.2004 18:33
Сообщение #7


Бывалый
***

Группа: Пользователи
Сообщений: 247
Пол: Мужской

Репутация: -  1  +


volvo - Вы ГЕРОЙ!

написать такую програмку, пусть несложную, но кода-то не десять строк smile.gif.. да еще и за просто так, да еще и незнакомоу челу - это Геройство smile.gif Мне его всегда нехватало - идею решения подсказать всегда могу, а вот писать полностью прогу... :no:

Сообщение отредактировано: Digitalator - 5.11.2004 21:13


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
arsen86
сообщение 5.11.2004 21:10
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Я мягко говоря в шоке !
Спасибо ОГРОМНОЕ.
Даже не ожидал на такое чудо, только спросил, а уже работающая программа, вот только одна проблемма - я с обьектами почти не работал.

to volvo
а как ты ее собираешся расширять ?

еще раз ОГРОМНОЕ СПАСИБО.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 5.11.2004 21:28
Сообщение #9


Гость






Цитата
а как ты ее собираешся расширять ?
:o

Можно попробовать одновременно работать с несколькими типами фигур, добавить интерфейс (кстати, граф. интерфейс я делал лет 5 назад, нужно его только добавить...), перейти в 3D наконец... rolleyes.gif Посмотрим.

Цитата
я с обьектами почти не работал


Когда-то же нужно начинать !!! ;)
Кстати, очень мощное средство.
 К началу страницы 
+ Ответить 
arsen86
сообщение 5.11.2004 21:55
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


думаю, что в 3D немного потеряется наглядность и красота

а вот интерфейс не помешает, но это дело техники и вкуса

а за чем тогда обьекты ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 5.11.2004 22:05
Сообщение #11


Гость






arsen86

Попробуй сделать это все без ООП... И я посмотрю, у кого получится проще и чья программа будет более расширяемой. ;)
 К началу страницы 
+ Ответить 
suriv
сообщение 5.11.2004 22:15
Сообщение #12


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


Я думаю volvo надо повысить рейтинг за активную помощь!!! :yes:


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
arsen86
сообщение 5.11.2004 22:17
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


to volvo

я не спорю, что твоя программа будет более расширяемая, но эта программа, как бы это сказать.... "без будущего", наврядли кто-то будет ее расширять, дополнять, она -- просто интересна в своей наглядности и "бессмыслености" smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 5.11.2004 22:25
Сообщение #14


Гость






Это ты напрасно ... А для обучающих целей (например, для форума... да и братишка у меня программированием занитересовался... )?

Да и просто для того, чтобы создать законченный проект ...
 К началу страницы 
+ Ответить 
suriv
сообщение 5.11.2004 22:39
Сообщение #15


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


мдаа <_<


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
arsen86
сообщение 5.11.2004 22:40
Сообщение #16


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Ну что ж, сколько программистов, столько и программ.

Может быть ты и прав :yes:

В любом случае спасибо, ты мне очень помог :p4:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 6.11.2004 6:45
Сообщение #17


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


volvo действительно герой!
Цитата
Мне его всегда нехватало - идею решения подсказать всегда могу, а вот писать полностью прогу... 


точно! :D


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
suriv
сообщение 6.11.2004 9:53
Сообщение #18


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


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

Я думаю volvo надо повысить рейтинг за активную помощь!!! :yes:
уже повысил :yes:

Сообщение отредактировано: GoodWind - 6.11.2004 13:02


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 22.06.2025 15:50
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"