Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
 
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 22
15.11.2016, 13:15     Как можно нарисовать многоугольник #1
Доброе время суток.
Как можно нарисовать многоугольник на canvas, если есть размеры сторон углы в градусах и размеры диагоналей.
Какие есть идеи!?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2669 / 1680 / 158
Регистрация: 13.01.2012
Сообщений: 6,280
15.11.2016, 13:30     Как можно нарисовать многоугольник #2
serjekat, см Canvas метод drawLine или drawPath или вам нужен аналитический расчет?
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 22
15.11.2016, 13:49  [ТС]     Как можно нарисовать многоугольник #3
Спасибо за ответ, но что бы воспользоваться этими методами нужны координаты. Как можно их получить имея размеры сторон углы диагонали ну и координаты первого угла!?
Паблито
не спать!
1803 / 1537 / 478
Регистрация: 12.05.2014
Сообщений: 5,594
Завершенные тесты: 1
15.11.2016, 13:53     Как можно нарисовать многоугольник #4
http://www.cyberforum.ru/geometry/
vxg
Модератор
 Аватар для vxg
2669 / 1680 / 158
Регистрация: 13.01.2012
Сообщений: 6,280
15.11.2016, 14:12     Как можно нарисовать многоугольник #5
serjekat, простите, неужели в школах преподают андроид раньше чем геометрию?
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 22
15.11.2016, 15:25  [ТС]     Как можно нарисовать многоугольник #6
Есть у меня нарисованный многоугольник с произвольными координатами с n - вершинами, затем пользователь вводит размеры всех сторон и диагоналей, нужно что бы многоугольник нарисовало согласно введенным размером

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

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

ExFau$t да Вы правильно говорите, но вот программно не получается сделать все рисует не в том направлении...
vxg
Модератор
 Аватар для vxg
2669 / 1680 / 158
Регистрация: 13.01.2012
Сообщений: 6,280
16.11.2016, 12:17     Как можно нарисовать многоугольник #19
serjekat, то что я напишу будет малоинформативно, но другие просто этого не скажут: алгоритм получения исходных данных и их использования из предоставленной информации непонятен. какие то диагонали отбрасываются? отлично. как система узнает какие из данных можно просто слить в унитаз? точность не критична? окай. давайте я введу диагональ BF равной 1 см - вы никогда не построите с такой диагональю и такими сторонами AF и FE фигуру существующую в нашем мире
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2016, 12:39     Как можно нарисовать многоугольник
Еще ссылки по теме:

Android нарисовать многоугольник
Как нарисовать анимированную линию Android
Android Как нарисовать imageView сверху остальных view?

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

Или воспользуйтесь поиском по форуму:
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 22
16.11.2016, 12:39  [ТС]     Как можно нарисовать многоугольник #20
не нужные диагонали отбрасываются после триангуляции, а диагонали проверяются на длину с помощью возможности существования треугольника к примеру треугольника AEF . если вводится не коректные данные то пользователь получает уведомлении о том что неправильные размеры и в этом случае перерисовка и не нужна.
Yandex
Объявления
16.11.2016, 12:39     Как можно нарисовать многоугольник
Ответ Создать тему
Опции темы

Текущее время: 16:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru