треугольник с закругленными углами
для прямоугольника есть встроенная функция, а как быть с треугольником?
треугольник должен иметь те же свойства, что и прямоугольник, то есть, толщина границы, цвет границы, цвет заливки и радиус закругления. С помощью чего это можно реализовать?curveTo? |
Насколько закруглен? Может поиграть с joints в graphics.lineStyle?
|
С помощью геометрии...
Дано: вершины треугольника, радиус закругления. Решение: 1) Ищем точку пересечения бисектрис треугольника. 2) Ищем расстояние то этой точки к одной из сторон (оно будет одинаково для всех сторон) 3) Сравниваем найденое расстояние с заданым радиусом. Если радиус больше, то меняем его на значение расстояния. 4) Ищем на каждой бисектрисе точку , расстояние от сторон угла которой будет равно радиусу закругления. Это будут центры дуг закругления. 5) Опускаем перпендикуляры с найденых центров на соседние стороны. Пересечения будут началом и концом дуги закругления. 6) Используя вершыну, с которой проведена бисектриса, решаем в какую сторону рисовать дугу (по часовой или против часовой). Полученых данных достаточно для рисования фигуры. ЗЫ: Не завидую Вам, если возьметесь это делать и очень порадуюсь, если Вам все же это удасться... |
okouser
спасибо, вроде то, что надо GBee радиус произволен( elder_Nosferatu выбора нет)) |
Вложений: 1
Как то делал для полигонов, лень переписывать под кастомные треугольники..
Код AS3:
Код AS3:
|
Помогите пожалуйста с определениями, а то читая я запутался...
Как правильно называется - точка пересечения биссектрис?) Вот если вписать в треугольник окружность, то центр этой окружности и будет точка пересечения биссектрис? Когда только увидел эту тему, то подумал, что это все очень просто. Думая, что раз я и углы научился находить и косинусы с синусами, подумал, что решить эту задачу будет не лишней. За целый день нашёл только цент вписанной окружности, да и то пока сомневаюсь, что она точная)) И вот сейчас я сижу и думаю - а является ли этот центр тем что мне нужно? |
Вложений: 1
Цитата:
Цитата:
Вложение 29952 Настоящее скругление выглядит так (в отличие от дичайшего способа, когда в вершину треугольника помещается контрольная точка кривой). Если угол АСВ известен, то ОСВ составляет его половину. Так же известен катет ОВ (заданный радиус скругления), и значит можно спокойно решить весь прямоугольный треугольник ОСВ (то есть найти все его стороны и углы). Вопрос только в том, что Вы будете делать дальше — нужны то не какие-то длины сторон и непонятные углы, а координаты точек)) И тут (по крайней мере я) не знаю, как обойтись без полярных координат. Можно центр полярки как раз и поместить в центр треугольника и потом оттранслировать точки в "настоящий" центр координат, может так будет проще, чем строить углы прямо из него. |
Вложений: 1
Определиться с треугольником в системе координат можно так.
Вложение 29953 Зная только точки вершин, мы достраиваем прямоугольные треугольники гипотенузами к сторонам нашего треугольника и по проекциям на оси координат узнаем все их катеты. Теперь мы можем узнать углы ACN и BCM, а угол С треугольника будет (90-ACN-BCM). Теперь решаем скругление, как в посте выше, и узнаем длину CD. Угол MCD нам тоже известен, и значит мы можем узнать длину DF, а значит и Х-координату D: (Cx - DF). Аналогично с Y-координатой D (Cy - ED). Так мы нашли точку D. Точно так же можно найти и центр скругления. |
okouser буду в десятом.
Wolsh Спасибо Вам огромное за разъяснение или даже, за трату времени! Для меня самое сложное в геометрии во флеш, это то, что... даже не знаю как обьяснить, что по отдельности я знаю как находить те или иные отрезки и координаты... читать пойду.. |
Цитата:
|
Часовой пояс GMT +4, время: 01:58. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.