Повернуть векторную картинку вокруг центра

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
uk8amk
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 26.07.2007 (Чт) 16:52
Откуда: Tashkent

Повернуть векторную картинку вокруг центра

Сообщение uk8amk » 11.04.2008 (Пт) 16:48

Доброго времени суток программеры!
Входные данные - файл фекторной графики, выходные - поворачивать картинку вокруг центра на экране. Вот такая вот простая задачка. Целый день сижу, а получается одна чушь. Не вращается так как надо.
Решил сделать так:
Sub GetDistance() 'Расстояние от центра экрана до каждой точки
Dim i As Long
For i = 1 To TotalPoints
Distance(i) = Sqr((PointsX(i) - 127) ^ 2 + (PointsY(i) - 127) ^ 2)
Next i
End Sub
Sub Rotate(ByVal Angle As Single) 'Вращать
Dim i As Long, j As Single, x As Long
Dim PrevX As Integer, PrevY As Integer
Dim tmp As Single
tmp = 127
For j = 0 To 360
For x = 1 To 1000000
Next x
picPreview.Cls
For i = 1 To TotalPoints
OutPointsX(i) = PointsX(i) + Distance(i) * Cos(0.017453 * j)
OutPointsY(i) = PointsY(i) + Distance(i) * Sin(0.017453 * j)

If i = 1 Then
PrevX = OutPointsX(i)
PrevY = OutPointsY(i)
End If
If Blanking(i) = 0 Then
picPreview.Line (PrevX, PrevY)-(OutPointsX(i), OutPointsY(i))
End If

PrevX = OutPointsX(i)
PrevY = OutPointsY(i)
Next i
Next j
End Sub

Оно то вращается но только так криво и не по центру. Подскажите пожалуйста где я туплю. Исходник прилагаю. Спасибо.
Вложения
Rotation.rar
(25.65 Кб) Скачиваний: 62

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 11.04.2008 (Пт) 16:57


uk8amk
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 26.07.2007 (Чт) 16:52
Откуда: Tashkent

Сообщение uk8amk » 11.04.2008 (Пт) 17:37

Кажется в том примере есть нужная мне функция для поворота векторов. Пошел изучать. Спасибо.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 79

    TopList