Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 07.05.2016, 00:02   #1
ProQsy
Пользователь
 
Регистрация: 06.05.2016
Сообщений: 25
Репутация: 10
По умолчанию Делфи: Нужно что бы при нажатии на кнопку кружки распределялись равномерно, кругом

Нужно что бы при нажатии на кнопку кружки распределялись равномерно как на картинке(кругом), независимо от количества(от 1 до 20) (Цвет и номер не нужно,только код)

Последний раз редактировалось Вадим Мошев; 07.05.2016 в 00:05.
ProQsy вне форума   Ответить с цитированием
Старый 07.05.2016, 00:03   #2
Вадим Мошев

Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: programmersforum
Сообщений: 8,484
Репутация: 4056
По умолчанию

Вы будете платить за эту задачу? Переместить тему во фриланс?

P.S. Свои услуги НЕ предлагаю...
Вадим Мошев вне форума   Ответить с цитированием
Старый 07.05.2016, 00:04   #3
ProQsy
Пользователь
 
Регистрация: 06.05.2016
Сообщений: 25
Репутация: 10
По умолчанию

Не нужно, может кто то просто так сделает)
ProQsy вне форума   Ответить с цитированием
Старый 07.05.2016, 00:08   #4
Вадим Мошев

Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: programmersforum
Сообщений: 8,484
Репутация: 4056
По умолчанию

Цитата:
Сообщение от ProQsy Посмотреть сообщение
Не нужно, может кто то просто так сделает)
Ну, тогда ожидайте прихода min@y. Если повезёт, то он, быть может, наверное, вероятно, при определённых условиях, возможно, сделает вам программу, а также даст взбучку. если не повезёт - то получите только взбучку, без программы.
Вадим Мошев вне форума   Ответить с цитированием
Старый 07.05.2016, 00:10   #5
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,998
Репутация: 6725
По умолчанию

Задаешь радиус окружностей и количество мелких, Делишь 360 градусов на количество мелких. В цикле получаешь полярные координаты центра каждого из них, переводишь в декартовые координаты, рисуешь. Ой-ля-ля, ТЗ готово
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 07.05.2016, 00:13   #6
Вадим Мошев

Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: programmersforum
Сообщений: 8,484
Репутация: 4056
По умолчанию

Цитата:
В цикле получаешь полярные координаты центра
Зачем полярные координаты?
Верхняя полуокружность: y(x) = sqrt(1-x^2)
Нижняя полуокружность: y(x) = - sqrt(1-x^2)

Вот уже декартовы.
Вадим Мошев вне форума   Ответить с цитированием
Старый 07.05.2016, 00:18   #7
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,998
Репутация: 6725
По умолчанию

А равномерно распределить по окружности? Давай способ без полярных
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 07.05.2016, 00:31   #8
Вадим Мошев

Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: programmersforum
Сообщений: 8,484
Репутация: 4056
По умолчанию

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

Строим точку для 0 градусов. Поворачиваем эту точку по дуге окружности на 2*pi/N (умножаем абсциссы и ординаты на R*cos и R*sin заданного угла соответственно - вроде так это делается), получая таким образом вторую точку. И так до тех пор, пока не покроем всю окружность радиуса R. Это хоть и похоже преобразование в полярные координаты, но изначально тут фигурируют декартовы.
Вадим Мошев вне форума   Ответить с цитированием
Старый 07.05.2016, 00:36   #9
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,998
Репутация: 6725
По умолчанию

Дык и я об том же. Да, изначально угол и радиус - это и есть полярные. А потом x и y - декартовы
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 07.05.2016, 03:07   #10
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,664
Репутация: 2449

icq: 100500
skype: kick-ass
По умолчанию

Нашкрябал за полчаса левой пяткой, лёжа на диване и косясь в телек.

Вложения
Тип файла: zip pf_293116.7z.zip (1,007.2 Кб, 30 просмотров)
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 07.05.2016 в 03:26.
min@y™ вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бросок к горизонту(паскаль+-делфи.(может ли кто помочь сделать с Паскаля АВС на Делфи?) extrimal Помощь студентам 8 24.03.2013 23:51
Делфи Яна Олеговна Общие вопросы Delphi 0 31.10.2012 10:39
Делфи ali-4ka Помощь студентам 3 29.03.2012 20:01
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? Mclaren Помощь студентам 2 27.04.2009 22:37
БД в делфи Neymexa Помощь студентам 29 29.01.2009 21:32


10:12.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.