Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.01.2014, 00:41
vorodis2 вне форума Посмотреть профиль Отправить личное сообщение для vorodis2 Найти все сообщения от vorodis2
  № 1  
Ответить с цитированием
vorodis2

Регистрация: Feb 2011
Адрес: Украина Днепропетровск
Сообщений: 106
По умолчанию окружность вписанная в эллипс?

Есть эллипс, в него вписан круг, круг таскается мышкой, круг не должен вылазить за пределы эллипса. http://prntscr.com/2npnz9
Может кто за делиться кодом, либо хорошей ссылке по теме.

Старый 30.01.2014, 01:25
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
http://ru.wikipedia.org/wiki/%DD%EB%EB%E8%EF%F1 :о)

Добавлено через 9 минут
Я бы попробовал так. Из центра эллипса вектор в центр окружности, находим радиус эллипса через этот вектор. Если радиус эллипса больше, чем длина отрезка между центрами сущностей + радиус окружности, то все ок.
Но думаю, бывалые скажут лучше.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 30.01.2014, 01:36
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 3  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Меня с недавнего времени волнует тема с пересечениями и мне хочется спросить, чтобы, как многие говорят, не выдумывать велосипеды - есть ли смысл в проверки на принадлежность точки фигуре или, как в данном случаи, проверка на вписанность, прибегать к геометрии? Или проще и менее затратно работать с BMD и проверять по пикселям?

Добавлено через 1 минуту
В жизни Вам вообще эти алгоритмы помогали? Или в жизни, когда делаешь что-то большое, не пользуешься самописными проверками?)

Старый 30.01.2014, 01:38
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 4  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
Нормальная геометрия почти всегда быстрее и точнее. Это задача должны быть очень изощрённой чтобы по пикселям было быстрее.
__________________
:)

Старый 30.01.2014, 01:54
vorodis2 вне форума Посмотреть профиль Отправить личное сообщение для vorodis2 Найти все сообщения от vorodis2
  № 5  
Ответить с цитированием
vorodis2

Регистрация: Feb 2011
Адрес: Украина Днепропетровск
Сообщений: 106
GBee
Спасибо, звучит очень хорошо, но что то сейчас не особо могу переварить, с утра за компом. А с математикой/геометрией сейчас голова отказываеться работать)) Мне бы кода))

Да и как я понял у меня задача усложнилась, когда я сделал ограничения на коробку http://prntscr.com/2nqhsy то есть в дебаг не эллипс а прямоугольник, мне стало понятно, что когда вожу мышь за пределами допустимой области, то мне надо что бы кружок двигался по максимальной допустимой границы эллипса.

Старый 30.01.2014, 01:59
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 6  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Aquahawk Спасибо! Вы вроде не чего не сказали, а даже представить не можете, как мне помогли.

Старый 30.01.2014, 06:07
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
GBee, это в окружности любая прямая, проходящая через центр, перпендикулярна окружности. В эллипсе — только оси. Так что придется искать перпендикуляр (кратчайшее расстояние) из центра окружности к дуге эллипса и сверять его с радиусом окружности.

Нажмите на изображение для увеличения
Название: innerCircle.png
Просмотров: 215
Размер:	26.3 Кб
ID:	30421
__________________
Reality.getBounds(this);

Старый 30.01.2014, 09:59
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 8  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Wolsh, я же в голове рисовал
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 30.01.2014, 10:12
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 9  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Можно решить систему уравнений окружности и эллипса, если все корни комплексные, значит окружность не пересекает эллипс. Вот примеры для наглядности:
1) Пересечение в четырех точках (4 вещественных корня)
2) Пересечение в двух точках (2 вещественных корня)
3) Еще раз пересечение в двух точках (2 вещественных + 2 комплексных корня)
4) Нет пересечения (4 комплексных корня)
5) Еще раз нет пересечения (4 комплексных корня)
6) Одна точка пересечения (1 вещественный + 2 комплексных корня)

Старый 30.01.2014, 11:25
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 10  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
А у меня другая идея - уменьшить оба радиуса эллипса (обе полуоси) на радиус окружности и вычислять радиус в точке, в которой находится центр круга по формуле
Название: eqn.png
Просмотров: 1010

Размер: 4.7 Кб
Если расстояние до центра эллипса меньше, чем вычисленное значение радиуса, то круг внутри эллипса

a и b - это большая и малая полуось эллипса. угол фи находится через арктангенс координат центра круга, функция Math.atan2()

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

Если поворачивать эллипс, то можно заперентить его на какой нибудь ДО, и повернуть родительский ДО. Тогда дочерние ДО (эллипс и круг) будут иметь локальные координаты, как будто горизонтально, без поворота

Плюсы - быстро, модно, молодежно, без уравнений и корней
Минусы - при повороте эллипса придется либо формулы менять, либо вешать внутрь какого-либо родительского ДО для поворота этого родительского ДО

--UPD
Или стоп, можно изначально не уменьшать полуоси, а потом после вычисления радиуса по формуле вычесть из него. Вот тогда точно будет работать


Последний раз редактировалось KumoKairo; 30.01.2014 в 11:53.
Создать новую тему Ответ Часовой пояс GMT +4, время: 21:45.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:45.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.