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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.10.2012, 15:13
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 1  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
По умолчанию Как разделить произвольный прямоугольник на несколько частей?

Собственно, задача. Есть некий прямоугольник с центром в левом верхнем углу. Прямоугольник повернут на произвольный угол. Так же есть параметр на сколько одинаковых частей делить каждую его сторону, например 3 (получится 9 кусочков). Как посчитать координаты прямоугольников, которые получатся после деления?

Для ясности картинка:
Нажмите на изображение для увеличения
Название: rectangles.png
Просмотров: 597
Размер:	22.8 Кб
ID:	28564

P.S. Чувствую себя жутким нубом
__________________
hauts.ru

Старый 11.10.2012, 15:17
gagaga вне форума Посмотреть профиль Отправить личное сообщение для gagaga Найти все сообщения от gagaga
  № 2  
Ответить с цитированием
gagaga
[+1 22.04.13]
[+1 06.03.13]

Регистрация: Apr 2012
Сообщений: 239
у матрицы есть метод transformPoint() или что-то такое, возьмите матрицу поворота, которой вы поворачиваете прямоугольник, и поверните этим методом точку... в чем собственно сложность?

Старый 11.10.2012, 15:21
NikolyA вне форума Посмотреть профиль Отправить личное сообщение для NikolyA Найти все сообщения от NikolyA
  № 3  
Ответить с цитированием
NikolyA
 
Аватар для NikolyA

Регистрация: Dec 2006
Сообщений: 1,764
Цитата:
Сообщение от gagaga Посмотреть сообщение
у матрицы есть метод transformPoint() или что-то такое, возьмите матрицу поворота, которой вы поворачиваете прямоугольник, и поверните этим методом точку... в чем собственно сложность?
ты бы тему читал нормально, Hauts хочет разбивать прямоугольник на куски независимо от точки трансформации
__________________
а за окном атлантический океан!

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

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Ох. Тогда иначе:

Код AS3:
var devideBy:int = 3; // Делим на 3 куска каждую сторону
var origRect:Object = {};
origRect.x = 300;
origRect.y = 300;
origRect.width = 600;
origRect.height = 450;
origRect.rotation = Math.PI / 4;
 
function createSubRect(x:Number, y:Number, width:Number, height:Number, rotation:Number = 0):Object {
	// Собственно эта часть кода не важна
	return {x:x, y:y, width:width, height:height, rotation: rotation};
}
Каким образом мне 9 раз запустить createSubRect с правильными параметрами? Меня именно x и y интересуют. width, height и rotation — очевидны.

Точка трансформации всех прямоугольников — в их левом верхнем углу.
__________________
hauts.ru

Старый 11.10.2012, 15:24
gagaga вне форума Посмотреть профиль Отправить личное сообщение для gagaga Найти все сообщения от gagaga
  № 5  
Ответить с цитированием
gagaga
[+1 22.04.13]
[+1 06.03.13]

Регистрация: Apr 2012
Сообщений: 239
координаты вершин известны?

Добавлено через 1 минуту
ты знаешь как найти эти точки для не повернутого прямоугольника?

Старый 11.10.2012, 15:26
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 6  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Известны координаты оригинального прямоугольника, который нужно поделить:

Код AS3:
origRect.x = 300;
origRect.y = 300;
__________________
hauts.ru

Старый 11.10.2012, 15:26
gagaga вне форума Посмотреть профиль Отправить личное сообщение для gagaga Найти все сообщения от gagaga
  № 7  
Ответить с цитированием
gagaga
[+1 22.04.13]
[+1 06.03.13]

Регистрация: Apr 2012
Сообщений: 239
это координаты центра прямоугольника или чего?

Старый 11.10.2012, 15:28
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 8  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Это координаты левого верхнего угла прямоугольника. То есть, если бы этот прямоугольник был бы спрайтом, который мы положили на сцену, он бы лежал именно в этих координатах. Я не знаю, как это объяснить еще проще
__________________
hauts.ru

Старый 11.10.2012, 15:28
gagaga вне форума Посмотреть профиль Отправить личное сообщение для gagaga Найти все сообщения от gagaga
  № 9  
Ответить с цитированием
gagaga
[+1 22.04.13]
[+1 06.03.13]

Регистрация: Apr 2012
Сообщений: 239
вам код написать или алгоритм?

Добавлено через 1 минуту
все я понял.. надой найти координаты красных крестиков с рисунка

Старый 11.10.2012, 15:31
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 10  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Достаточно алгоритма, код писать я (вероятно) умею. Только желательно проверенный.
__________________
hauts.ru

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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