Показать сообщение отдельно
Старый 08.07.2010, 02:43
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 1  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
По умолчанию Как узнать ширину и высоту вписанного прямоугольника

Есть прямоугольник. У него угол вращения меняется. В него вписан другой прямоугольник с теми же пропорциями высоты и ширины. Как узнать высоту и ширину вписанного прямоугольника?
вот изображение как должно быть.

Пожалуйста подскажите =(
нашел только формулу вычисления максимального прямоугольника..
Код AS1/AS2:
w = qwe._width;
h = qwe._height;
a = 20* Math.PI / 180;
cos_a = Math.cos(a);
sin_a = Math.sin(a);
hypotH = (sin_a * w - cos_a * h) / (sin_a * sin_a - cos_a * cos_a);
hypotW = (w - sin_a * hypotH) / cos_a;
спасибо решил)
Код AS1/AS2:
w = 200;
h = 150;
i = 360;
function onEnterFrame()
{
	qwe._rotation = i;
	i2 = (i - 360) * -1;
	qwe._x = qwe._width / 2;
	qwe._y = qwe._height / 2;
	d = i2;
	a = d * Math.PI / 180;
	xx = h * w / (2 * Math.cos(a) * (h + w * Math.tan(a)));
	//xx = (-(w * w) / (2 * Math.sin(a) * (w * (1 / Math.tan(a)) + h)));
	yy = (xx * h / w);
	//qwe2._x = (qwe._width / 2) - xx;
	//qwe2._y = (qwe._height / 2) - yy;
	qwe2._x = (qwe._width / 2) + xx;
	qwe2._y = (qwe._height / 2) - yy;
	//qwe2._width = xx * (-2);
	//qwe2._height = yy * (-2);
	qwe2._width = xx * (2);
	qwe2._x = qwe2._x - qwe2._width;
	qwe2._height = yy * (2);
	--i;
	if (i < 315)
	{
		i = 360;
	}
}


Последний раз редактировалось Nooob; 09.07.2010 в 00:33.