Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2012, 21:20   #1
Tamee
Пользователь
 
Регистрация: 09.05.2012
Сообщений: 13
По умолчанию Сделать Карту

Ребята, помогите пожалуйста, мне задали задачу, сделать карту:
Дана окружность, и в ней надо все расчертить линиями. Всё бы ничего но нужно что бы линии постоянно изменялись, то есть их надо зарандомить. (Если линии выступают за край карты - их надо убрать)
Кто знает как это можно написать?
Для примера - Круг:
Circle (300, 230, 100)
Кол-во линий внутри - 30
Заранее спс!
Tamee вне форума Ответить с цитированием
Старый 05.06.2012, 21:40   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Непонятно, что значит, "постоянно изменялись". Что должно меняться: цвет, длина, толщина, кривизна, положение...
В любом случае - перерисовывать по таймеру.
Вычислять точки пересечения линий с окружностью и рисовать только от одной точки до другой.
s-andriano вне форума Ответить с цитированием
Старый 06.06.2012, 08:12   #3
Tamee
Пользователь
 
Регистрация: 09.05.2012
Сообщений: 13
По умолчанию

Имелось ввиду положение линий. Я вот и хотел узнать, как определить эти точки пересечения?
Tamee вне форума Ответить с цитированием
Старый 06.06.2012, 09:43   #4
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Tamee Посмотреть сообщение
Имелось ввиду положение линий. Я вот и хотел узнать, как определить эти точки пересечения?
А линии какие? прямые или кривые? под углом к осям координат или параллельно? Ты бы хоть от руки нарисовал и сфотал сюда.. или пейнтбраше.. Трудно понять, что тебе нужно на самом деле.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 06.06.2012, 17:40   #5
Tamee
Пользователь
 
Регистрация: 09.05.2012
Сообщений: 13
По умолчанию


Вот что то такого рода надо)
Tamee вне форума Ответить с цитированием
Старый 06.06.2012, 20:10   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

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

Последний раз редактировалось s-andriano; 06.06.2012 в 20:12.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать изображение-карту? незнайка_на_земле HTML и CSS 6 18.11.2011 21:34
скачать карту Suliman1 C# (си шарп) 0 04.04.2011 08:24
Нужно сделать интерактивную карту 3dgoroda.ru Помощь студентам 0 21.02.2011 13:10
На карту Яндекса из БД Makarus Microsoft Office Access 0 23.12.2010 01:12