2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 координаты вершин при повороте прямоугольника
Сообщение18.08.2008, 17:59 
Дан прямоугольник. Известны координаты его левой верхней вершины, ширина и высота.
Как найти координаты вершин при повороте прямоугольника на угол A относительно его центра. [/math]

 
 
 
 
Сообщение18.08.2008, 19:32 
Аватара пользователя
iriskaS в сообщении #139358 писал(а):
Дан прямоугольник. Известны координаты его левой верхней вершины, ширина и высота.
Как найти координаты вершин при повороте прямоугольника на угол A относительно его центра.

А как он изначально-то расположен? Стороны параллельны осям координат?

Задача, кстати, простая, так что начните с изложения своих мыслей.

 
 
 
 
Сообщение18.08.2008, 19:50 
Аватара пользователя
Читайте теоретический материал здесь или здесь

 
 
 
 
Сообщение19.08.2008, 13:24 
да, изначально прямоугольник расположен так, что стороны параллельны осям.
да, наверное, задача простая, но школу я закончила очень давно, и сейчас меня такая задача ставит чуть ли не в тупик :oops:

 
 
 
 
Сообщение19.08.2008, 14:13 
Аватара пользователя
iriskaS писал(а):
да, изначально прямоугольник расположен так, что стороны параллельны осям.
да, наверное, задача простая, но школу я закончила очень давно, и сейчас меня такая задача ставит чуть ли не в тупик :oops:
Сможете повернуть отрезок, один конец которого имеет нулевые координаты?

 
 
 
 
Сообщение19.08.2008, 15:17 
у меня есть прямоугольник с шириной W, высотой H, координаты левого верхнего угла (x;y). Поворачиваю его на угол Ф.

считаю новые координаты вершин так:
x0 = x + W/2
y0 = y + H/2

x1 = x0 + ((-W/2)*cosФ - (-Н/2)*sinФ)
y1 = y0 + ((-W/2)*sinФ + (-Н/2)*cosФ)

x2 = x0 + ((-W/2)*cosФ - (Н/2)*sinФ)
y3 = y0 + ((-W/2)*sinФ + (Н/2)*cosФ)

x3 = x0 + ((W/2)*cosФ - (-Н/2)*sinФ)
y3 = y0 + ((W/2)*sinФ + (-Н/2)*cosФ)

x4 = x0 + ((W/2)*cosФ - (Н/2)*sinФ)
y4 = y0 + ((W/2)*sinФ + (Н/2)*cosФ)

получается неправильно :(
начало отсчета координат должно быть в верхнем левом углу, т.е. ось y направлена противоположно обычному математическому направлению.

 
 
 
 
Сообщение19.08.2008, 15:56 
Аватара пользователя
Выкиньте прямоугольник, ну его к богоматери. Поверните для начала одну точку.

 
 
 
 
Сообщение19.08.2008, 16:39 
Все! Все отлично :D

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group