|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.05.2010, 16:40 | #1 |
Регистрация: 03.12.2009
Сообщений: 7
|
Нужна логика...
Такая задача. Пользователь вводит число (это число, количество сторон много угольника). Программа должна нарисовать много угольник с количеством углов / сторон которые ввел пользователь.
Нарисовать я могу все что надо. Я понял что надо узнать угол всех сторон (многоугольник правильный) а потом как то по координатам рисовать line(). Помогите с задачей, просто формула мож есть какая или что то ! |
08.05.2010, 17:14 | #2 |
Регистрация: 08.05.2010
Сообщений: 9
|
У заданной функции будет входными параметрами предыдущая точка (х, у) и угол наклона линии
Углы здесь будут, для удобства реализации, в радианах 1) Один угол многоугольника считается по формуле (n-2)*pi/n, где n - количество сторон Я так понимаю, что длина стороны фиксирована 2) Решаем систему уравнений x*x+y*y=R*R и y=k*x+b, где k=tg(угла) b=y-k*x 3) Решение этой системы: xn=(2*k*b)/(k*k+1)-x 4) Высчитываем уn=k*x+b 5) Вот тебе координаты новой точки 6) Я не проверял, но могу предположить из того, что в конце концов мы должны будем попасть в 1-ю точку, то скорее всего мы должны приращивать угол на 2*pi/n
Каждый из нас звезданутый по-своему - это и делает нас личностями
Последний раз редактировалось Howaito Enjeru; 08.05.2010 в 17:45. |
08.05.2010, 17:14 | #3 |
Регистрация: 08.05.2010
Сообщений: 9
|
У заданной функции будет входными параметрами предыдущая точка (х, у) и угол наклона линии
Углы здесь будут, для удобства реализации, в радианах 1) Один угол многоугольника считается по формуле (n-2)*pi/n, где n - количество сторон Я так понимаю, что длина стороны фиксирована 2) Решаем систему уравнений x*x+y*y=R*R и y=k*x+b, где k=tg(угла) b=y-k*x 3) Решение этой системы: xn=(2*k*b)/(k*k+1)-x 4) Высчитываем уn=k*x+b 5) Вот тебе координаты новой точки 6) Я не проверял, но могу предположить из того, что в конце концов мы должны будем попасть в 1-ю точку, то скорее всего мы должны приращивать угол на 2*pi/n
Каждый из нас звезданутый по-своему - это и делает нас личностями
|
08.05.2010, 17:15 | #4 |
Регистрация: 08.05.2010
Сообщений: 9
|
Сорри, но я не знаю почему у меня отправилось два ответа
Каждый из нас звезданутый по-своему - это и делает нас личностями
|
08.05.2010, 17:33 | #5 |
Регистрация: 03.12.2009
Сообщений: 7
|
Howaito Enjeru, Ничего страшного, спосибо большое ! Сам бы долго думал !
|
08.05.2010, 17:48 | #6 |
Регистрация: 08.05.2010
Сообщений: 9
|
Если не получится - пиши, подправим или логику поменяем
Каждый из нас звезданутый по-своему - это и делает нас личностями
|
08.05.2010, 18:06 | #7 |
Регистрация: 08.05.2010
Сообщений: 9
|
А можно чуть проще
yn=cos(угла)*R+y xn=sin(угла)*R+x а угол прирощается также
Каждый из нас звезданутый по-своему - это и делает нас личностями
|
08.05.2010, 19:04 | #8 |
Регистрация: 03.12.2009
Сообщений: 7
|
Что то не получается (
У меня постоянно один и тот же синус )) -0.46 и все... С логикой у меня туго )) Рисуем линию циклом: Код:
И косинус любого числа почемуто получется один и тот же... Последний раз редактировалось EXeplor; 08.05.2010 в 19:17. |
08.05.2010, 19:32 | #9 |
Регистрация: 08.05.2010
Сообщений: 9
|
Такс.
1) Какой язык? 2) Градусы считались правильно 3) R-длина стороны - она не вычисляется, сорри, тогда забыл сказать 4) За частую в программировании углы измеряются не в градусах - а в радианах 5) И еще у тебя должно быть Код:
Каждый из нас звезданутый по-своему - это и делает нас личностями
|
08.05.2010, 20:28 | #10 |
Регистрация: 03.12.2009
Сообщений: 7
|
Пишу С++
Можешь этот цикл написать, как он выглядить будет ) gr+=(double)360/n приращение к углу с каждой новой линией ??? ну да в принципе. Сейчас попробую чтото сделать ) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ЕГЭ (Логика) | Xcopy | Помощь студентам | 6 | 07.02.2010 18:59 |
Математическая логика | newum44 | Помощь студентам | 0 | 24.01.2010 10:08 |
Женская логика... | Mr.Qwerty | Свободное общение | 23 | 28.07.2009 11:30 |
Бизнес - логика | Lyubov1990 | Microsoft Office Excel | 3 | 09.06.2009 19:27 |
Логика монстра(ов) | ChukCha | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 15 | 19.08.2008 15:31 |