Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
#1

Как можно нарисовать многоугольник

15.11.2016, 13:15. Просмотров 691. Ответов 39
Метки нет (Все метки)

Доброе время суток.
Как можно нарисовать многоугольник на canvas, если есть размеры сторон углы в градусах и размеры диагоналей.
Какие есть идеи!?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2016, 13:15
Ответы с готовыми решениями:

нарисовать многоугольник
Подскажите пожалуйста новичку! Как нарисовать многоугольник напрямую на canvas?...

Как нарисовать Bitmap на Canvas'е
Здравствуйте, возникла проблема не могу поменять обычный фон WHITE на этот...

Как нарисовать анимированную линию
Добрый день, форумчане. Есть интересная задача! Необходимо анимировано...

Как нарисовать много треугольников в opengl?
Исходник который использую...

Как нарисовать красивую круговую диаграмму
Пишу приложение, в котором нужно рисовать круговые диаграммы. Использую canvas...

39
vxg
Модератор
3236 / 2040 / 319
Регистрация: 13.01.2012
Сообщений: 7,898
15.11.2016, 13:30 #2
serjekat, см Canvas метод drawLine или drawPath или вам нужен аналитический расчет?
0
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
15.11.2016, 13:49  [ТС] #3
Спасибо за ответ, но что бы воспользоваться этими методами нужны координаты. Как можно их получить имея размеры сторон углы диагонали ну и координаты первого угла!?
0
Pablito
2665 / 2147 / 729
Регистрация: 12.05.2014
Сообщений: 7,492
Завершенные тесты: 1
15.11.2016, 13:53 #4
http://www.cyberforum.ru/geometry/
0
vxg
Модератор
3236 / 2040 / 319
Регистрация: 13.01.2012
Сообщений: 7,898
15.11.2016, 14:12 #5
serjekat, простите, неужели в школах преподают андроид раньше чем геометрию?
0
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
15.11.2016, 15:25  [ТС] #6
Есть у меня нарисованный многоугольник с произвольными координатами с n - вершинами, затем пользователь вводит размеры всех сторон и диагоналей, нужно что бы многоугольник нарисовало согласно введенным размером

Добавлено через 9 минут
Углы высчитать я могу (теорема sin,cos), координата следующего угла Xn=Xn-1+(d*cosA);Yn=Yn-1+(d*sinA); где d- расстояние от угла (n-1) до A угол между сторонами. Но что то тут не то!!!
0
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
15.11.2016, 15:52 #7
Цитата Сообщение от serjekat Посмотреть сообщение
затем пользователь вводит размеры всех сторон
То есть пользователь размеры сам посчитает? Тогда в чем проблема?
0
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
15.11.2016, 15:57  [ТС] #8
Правильно высчитать координаты углов, для правильной от рисовки...
0
vxg
Модератор
3236 / 2040 / 319
Регистрация: 13.01.2012
Сообщений: 7,898
15.11.2016, 16:02 #9
serjekat, минимум что вызывает опасения - все ли данные введенные пользователем будут корректными - мне почему то кажется что задавая произвольные размеры сторон и диагоналей я могу создать ну очень необычный многоугольник который вообще будет просто набором палок которые нельзя соединить
0
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
15.11.2016, 18:01  [ТС] #10
исходим из того что данные водятся правильные
0
vxg
Модератор
3236 / 2040 / 319
Регистрация: 13.01.2012
Сообщений: 7,898
15.11.2016, 18:35 #11
serjekat, нарисуйте пример обозначив на рисунке вводимые величины
0
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
15.11.2016, 18:51  [ТС] #12
К примеру так
Как можно нарисовать многоугольник
0
ExFau$t
535 / 490 / 104
Регистрация: 08.05.2012
Сообщений: 2,445
15.11.2016, 19:32 #13
В чём проблема? Берёшь любую точку, ставишь её в (0,0), проводишь первую линию вдоль 0Х, на заданную длину, будет (180,0), потом проводишь линию от неё под заданным углом, гипотенуза и угол известны, считаешь катеты (прилежащий - гипотенуза на косинус, это X, противолежащий - гипотенуза на синус, это Y), получаешь координаты. Геометрия 6 класс, надеюсь, не напутал ничего.

Добавлено через 2 минуты
Последняя линия должна соответствовать двум условиям по углам, свой угол должен быть и угол между ней и начальной линией. Хотя если вводится всё правильно, вряд ли конечно, то должно попасть.
0
vxg
Модератор
3236 / 2040 / 319
Регистрация: 13.01.2012
Сообщений: 7,898
15.11.2016, 20:08 #14
serjekat, не нашёл системы в прокладке диагоналей - она есть? Где к примеру EB или DB?
0
ExFau$t
535 / 490 / 104
Регистрация: 08.05.2012
Сообщений: 2,445
15.11.2016, 20:17 #15
vxg, я так понял это не диагонали, а он так треугольники отметил, чтобы удобно было углы видеть и син/кос считать.
0
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
16.11.2016, 11:38  [ТС] #16
это диагонали и в тоже время треангуляция многоугольника (разбит многоугольник на треугольники)
0
vxg
Модератор
3236 / 2040 / 319
Регистрация: 13.01.2012
Сообщений: 7,898
16.11.2016, 11:42 #17
serjekat, лично для меня это так и осталось адовым кошмаром. если вы задаете диагонали я НЕ ПРЕДСТАВЛЯЮ как пользователь должен догадаться что из вершины D диагоналей не будет и что помешает ему ввести значение ЛЮБОЙ диагонали хоть на миллиметр отличное от того которое вы нарисовали на рисунке?
0
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
16.11.2016, 12:07  [ТС] #18
диагоналей можно вводить хоть сколько, триангуляция берет только нужные (остальные остаются не важные) размеры в см и конечно будет погрешность это тоже не важно. Эти все моменты учтены и уже реализованы, нужно именно метод что бы чертеж перерисовало в зависимости от размеров.

ExFau$t да Вы правильно говорите, но вот программно не получается сделать все рисует не в том направлении...
0
vxg
Модератор
3236 / 2040 / 319
Регистрация: 13.01.2012
Сообщений: 7,898
16.11.2016, 12:17 #19
serjekat, то что я напишу будет малоинформативно, но другие просто этого не скажут: алгоритм получения исходных данных и их использования из предоставленной информации непонятен. какие то диагонали отбрасываются? отлично. как система узнает какие из данных можно просто слить в унитаз? точность не критична? окай. давайте я введу диагональ BF равной 1 см - вы никогда не построите с такой диагональю и такими сторонами AF и FE фигуру существующую в нашем мире
0
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
16.11.2016, 12:39  [ТС] #20
не нужные диагонали отбрасываются после триангуляции, а диагонали проверяются на длину с помощью возможности существования треугольника к примеру треугольника AEF . если вводится не коректные данные то пользователь получает уведомлении о том что неправильные размеры и в этом случае перерисовка и не нужна.
0
16.11.2016, 12:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2016, 12:39

Как нарисовать ломанную линию под ListView
Доброго дня. Возникла необходимость под прокручиваемый список добавить...

Как нарисовать кастомную иконку маркера на карте?
Доброго дня. Мне необходимо разместить на Google карте кастомный маркер...

Подскажите как грамотно нарисовать на экране лабиринт
Здравствуйте, так получилось, что мне срочно нужно сделать программу на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru