|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.01.2014, 22:08 | #1 |
Пользователь
Регистрация: 08.05.2012
Сообщений: 27
|
Заполнение окружности окружностями меньшего радиуса
Ребят, помогите пожалуйста! Не знаю просто с чего начать) или у кого исходник есть похожий) суть задачи заключается в следующем: Заполнить окружность большего радиуса одинаковыми окружностями меньшего радиуса. причем надо заполнять рандомно. окружности не должны пересекаться, но прижиматься друг к другу поплотнее) или поясните как делать, а то я ваще не въезжаю как сделать такой генератор. нужно для курсовой...=(
|
09.01.2014, 23:24 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
язык, среда разработки, на чём рисуете окружности, примерный эскиз, как Вы себе представляете "окружности должны прижиматься друг к другу поплотнее", в чём заключается "рандомность" внутренних окружностей - тогда будет повод для разговора...
|
09.01.2014, 23:38 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Чет кажется, что на любом языке рандомность и прижиматься друг к другу поплотнее не совместимые понятия. Рандомно можно забить непересекающимися окружностями, насчет поплотнее - как получится. Заполнение закончится тогда, когда места не останется. И держать для этого двумерный массив координат, куда можно поместить центр следующей окружности. В котором и выбирать рандомно. Выбрав - исключать для следующего выбора эту точку и окружающие по радиусу точки. Примерно так. Лучше даже не массив, а список
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 09.01.2014 в 23:41. |
09.01.2014, 23:47 | #4 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Вот, одну положили. А вторую как можно?
Только в положение 1 или 2, или можно 3 ? |
09.01.2014, 23:57 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
вот, вот!
А я думаю, что внутренние окружности дожны иметь разный (случайный) размер. впрочем, хотелось бы услышать мнение автора топика... |
10.01.2014, 00:08 | #6 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Не! Серж у меня заразился в задании сказано, что маленькие окружности имеют одинаковый радиус. А вот его, наверное, и нужно рандомно генерировать..
Я бы выбирал рандомную точку на окружности и рисовал окружность.. Затем брал ще одну точку на окружности и сдвигал ее пока эти две окружности не будут соприкасаться.. Вот так мы заполним первый ряд. А дальше надо думать. Последний раз редактировалось Poma][a; 10.01.2014 в 00:10. |
10.01.2014, 19:02 | #7 |
Пользователь
Регистрация: 08.05.2012
Сообщений: 27
|
ну например как здесь : http://www2.stetson.edu/~efriedma/cirincir/
я даже не знаю...=( хотя б как сделать генератор=( среда программирования делфи... или паскаль (немножко ещё знаю си и ассемблер - но думаю что в них не разберусь)... мне главное научиться делать такое или что нить подобное=) то есть вот в делфи я кинул на форму button, image, ну и естественно edit (куда писать радиус маленьких окружностей) Затем програмный сам код и сразу первая сложность(в смысле не знаю как это реализовать):после рисования большой окружности рисуем 1-ую маленькую окружность, её координаты центра выбираются РАНДОМНО внутри области большой окружности - как это всё реализовать? сложность номер 2:после того как рисуется 1-ая маленькая окружность, вторая рисуется рядом с ней, относительно её расположения(в противном случае цикл заканчивается) - как написать проверку на наложение двух окружностей? То есть должно получиться такое: вводится радиус маленькой окружности, затем кнопка для рисования этого всего. Рисуется это всё в image. Последний раз редактировалось Stilet; 10.01.2014 в 22:38. |
10.01.2014, 20:32 | #8 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Рисование двух окружностей.
Код:
x1-x2=x3-x4=y1-y2=y3-y4 = R Вот и выводите отсюда условие для соприкосновения окружностей. Расстояние между центрами должно быть равно 2R (соприкасаются) или хотя бы не менее 2R Последний раз редактировалось type_Oleg; 10.01.2014 в 20:37. |
10.01.2014, 22:28 | #9 |
Пользователь
Регистрация: 08.05.2012
Сообщений: 27
|
пока сделал вот что
больше не знаю P.S. там формула длинная с корнем - это типа проверка на то что не вылезал за пределы большой окружности Последний раз редактировалось Chester751; 11.01.2014 в 21:36. |
20.02.2014, 20:27 | #10 |
Пользователь
Регистрация: 08.05.2012
Сообщений: 27
|
Массив
Ребят, помогите пожалуйста с массивом! или с кодом, как его улучшить!
Задание по курсовой! вообщем суть такая: набить маленькими шариками огромный шар чтоб шарики внутри не пересекались и не выходили за границу, но находились в нём плотненько - то есть чтобы не оставалось места где бы ещё можно было поместить шарик. короче нужно только найти координаты этих шаров! я попробовал так сделать, но массив нужно тут побольше (а комп с массивом больше 40000 не хочет работать). посоветуйте что сделать! или же как код улучшить! вот собственно код Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти взаимное расположение окружности радиуса R с центром в точке (x0, y0) и точки А с координатами (x1, y1). | Dimazde | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 10.12.2013 08:58 |
графическое прилодение с окружностями | Deman1986 | Win Api | 8 | 14.04.2013 10:04 |
программа с окружностями | денис133 | Помощь студентам | 1 | 03.07.2011 22:37 |
VBA. Excel. определить сколько треугольников лежит внутри окружности радиуса R с центром вначале координат. | Dus master | Помощь студентам | 6 | 20.06.2011 01:48 |
Зарисовать весь экран окружностями. | vereney | Паскаль, Turbo Pascal, PascalABC.NET | 13 | 10.04.2011 20:28 |