|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.02.2010, 18:44 | #1 |
Регистрация: 13.08.2008
Сообщений: 9
|
Поворот прямой
Есть такой вопрос как осуществить поворот прямой на определенный угол? т.е. в итоге 2 прямых, одна исходная а другая (с тем же центром) только на определенном угле.
Новые точки (x y) ищу по формулам x` = x * cos(угол) - y * sin(угол) y` = x * sin(угол) + y * cos(угол) Вообще надо сделать через матрицу поворота (но я решил для начала это опустить) uses GraphABC, crt; var i,j: integer; begin matrix[1,1] := 400; matrix[1,2] := 200; {200,200 это начальная точка (из нее должна выходить вторая прямая} Line(200,200,round(matrix[1,1]),round(matrix[1,2])); { nx1 - новая x nx2 -новая коорд. y} nx1 := (cos(90)* (matrix[1,1])) - (sin(90) * (matrix[1,2]) ); nx2 := (sin(90)* (matrix[1,1])) + (cos(90) * (matrix[1,2]) ); { строим вторую прямую} Line(200,200, (round(nx1) ), (round(nx2) ); end. Но в общем-то ничего не выходит) |
15.02.2010, 20:48 | #2 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
У прямой нет "центра"...
Ты поворачиваешь относительно начала координат. Чтобы повернуть относительно другой точки: 1. Перенеси начало координат в точку, относительно которой выполняется поворот ((200,200) в данном примере, я так понял...). 2. Выполни поворот по этим формулам. 3. Перенеси начало координат "на место". Added 18:57 CET Ну и углы, наверное, в радианах? Спроси у кого-нибудь, кто Паскаль знает... Последний раз редактировалось Vago; 15.02.2010 в 20:56. |
15.02.2010, 22:41 | #3 |
Регистрация: 13.08.2008
Сообщений: 9
|
спасибо, разобрался
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибки в прямой речи | Scolopendra | Microsoft Office Word | 13 | 10.12.2009 11:21 |
Движение обьекта по прямой | Wi1D | Помощь студентам | 1 | 16.05.2009 21:21 |
Увеличения угла - поворот прямой на угол. | Lemo | Помощь студентам | 8 | 30.03.2009 20:48 |
Пересечение прямой и круга | CoGnaC | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 11.03.2008 17:01 |
Анимация прямой | NecroSlider | Помощь студентам | 3 | 23.04.2007 13:31 |