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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
#1

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

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

Доброе время суток.
Как можно нарисовать многоугольник на canvas, если есть размеры сторон углы в градусах и размеры диагоналей.
Какие есть идеи!?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2016, 13:15     Как можно нарисовать многоугольник
Посмотрите здесь:

нарисовать многоугольник - Программирование Android
Подскажите пожалуйста новичку! Как нарисовать многоугольник напрямую на canvas? Например 8 вершин: начинаем с точки(вершину) (А), потом...

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

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

Как нарисовать много треугольников в opengl? - Программирование Android
Исходник который использую http://developer.alexanderklimov.ru/android/opengles/intro.php у меня около тысячи треугольников,...

Как нарисовать красивую круговую диаграмму - Программирование Android
Пишу приложение, в котором нужно рисовать круговые диаграммы. Использую canvas и drawArc(). Но получается не красиво, слишком примитивно. В...

Как нарисовать точку в месте долгого нажатия? - Программирование Android
уважаемые разработчики, прошу вас помочь решить следующую проблему: есть масштабируемая картинка (карта этажа здания), как прописать...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3113 / 1915 / 206
Регистрация: 13.01.2012
Сообщений: 7,317
15.11.2016, 13:30     Как можно нарисовать многоугольник #2
serjekat, см Canvas метод drawLine или drawPath или вам нужен аналитический расчет?
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
15.11.2016, 13:49  [ТС]     Как можно нарисовать многоугольник #3
Спасибо за ответ, но что бы воспользоваться этими методами нужны координаты. Как можно их получить имея размеры сторон углы диагонали ну и координаты первого угла!?
Pablito
2411 / 1856 / 581
Регистрация: 12.05.2014
Сообщений: 6,591
Завершенные тесты: 1
15.11.2016, 13:53     Как можно нарисовать многоугольник #4
http://www.cyberforum.ru/geometry/
vxg
Модератор
3113 / 1915 / 206
Регистрация: 13.01.2012
Сообщений: 7,317
15.11.2016, 14:12     Как можно нарисовать многоугольник #5
serjekat, простите, неужели в школах преподают андроид раньше чем геометрию?
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 угол между сторонами. Но что то тут не то!!!
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
15.11.2016, 15:52     Как можно нарисовать многоугольник #7
Цитата Сообщение от serjekat Посмотреть сообщение
затем пользователь вводит размеры всех сторон
То есть пользователь размеры сам посчитает? Тогда в чем проблема?
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
15.11.2016, 15:57  [ТС]     Как можно нарисовать многоугольник #8
Правильно высчитать координаты углов, для правильной от рисовки...
vxg
Модератор
3113 / 1915 / 206
Регистрация: 13.01.2012
Сообщений: 7,317
15.11.2016, 16:02     Как можно нарисовать многоугольник #9
serjekat, минимум что вызывает опасения - все ли данные введенные пользователем будут корректными - мне почему то кажется что задавая произвольные размеры сторон и диагоналей я могу создать ну очень необычный многоугольник который вообще будет просто набором палок которые нельзя соединить
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
15.11.2016, 18:01  [ТС]     Как можно нарисовать многоугольник #10
исходим из того что данные водятся правильные
vxg
Модератор
3113 / 1915 / 206
Регистрация: 13.01.2012
Сообщений: 7,317
15.11.2016, 18:35     Как можно нарисовать многоугольник #11
serjekat, нарисуйте пример обозначив на рисунке вводимые величины
serjekat
0 / 0 / 0
Регистрация: 18.02.2016
Сообщений: 25
15.11.2016, 18:51  [ТС]     Как можно нарисовать многоугольник #12
К примеру такКак можно нарисовать многоугольник
ExFau$t
245 / 220 / 42
Регистрация: 08.05.2012
Сообщений: 1,208
15.11.2016, 19:32     Как можно нарисовать многоугольник #13
В чём проблема? Берёшь любую точку, ставишь её в (0,0), проводишь первую линию вдоль 0Х, на заданную длину, будет (180,0), потом проводишь линию от неё под заданным углом, гипотенуза и угол известны, считаешь катеты (прилежащий - гипотенуза на косинус, это X, противолежащий - гипотенуза на синус, это Y), получаешь координаты. Геометрия 6 класс, надеюсь, не напутал ничего.

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

ExFau$t да Вы правильно говорите, но вот программно не получается сделать все рисует не в том направлении...
vxg
Модератор
3113 / 1915 / 206
Регистрация: 13.01.2012
Сообщений: 7,317
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     Как можно нарисовать многоугольник
Еще ссылки по теме:

Как нарисовать imageView сверху остальных view? - Программирование Android
У меня есть listview с горизонтальной прокруткой. Мне надо нарисовать imageView в определенной позиции так, чтобы она перекрывала сверху...

Как нарисовать кастомную иконку маркера на карте? - Программирование Android
Доброго дня. Мне необходимо разместить на Google карте кастомный маркер (маленькая картинка) В параметрах штатного Map.AddMarker можно...

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

Как распарсить svg path и по нему нарисовать во View кривую - Программирование Android
Нужно написать приложение которое на входе принимает svg path, к примеру...

Как нарисовать текст в прямоугольнике с переносом слов по ширине и отрезанием текста по высоте? - Программирование Android
Привет всем. собсно сабж. У кого есть идеи? Спасибо.


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

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

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