Вращение геометрической фигуры построенной линиями в VB.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Вращение геометрической фигуры построенной линиями в VB.

Сообщение TiG » 23.03.2005 (Ср) 9:30

Я построил из линий многогранник напоминающий круг. Мне требуется его вращать в зависимости от изменения 1 переменной с шагом 0.1 от 0 до 360, в общем это что то типа гирокомпаса, где вращается азиутный круг. Посторение велось от первой линии:

y= длина линии
x=угол (приращение)

Line2.X1 = Line1.X2
Line2.Y1 = Line1.Y2
Line2.X2 = Line1.X2 + y * Cos(3.14159265358979 / 180 * x)
Line2.Y2 = Line1.Y2 + y * Sin(3.14159265358979 / 180 * x)

Line3.X1 = Line2.X2
Line3.Y1 = Line2.Y2
Line3.X2 = Line2.X2 + y * Cos(3.14159265358979 / 180 * x * 2)
Line3.Y2 = Line2.Y2 + y * Sin(3.14159265358979 / 180 * x * 2)

....

Первая линия была в горизонтальном положении и поэтому круг получался правильным. Стоит линию повернуть, круг не нарушается, кроме этой линии, т.к. судя по алгоритму выше видно, что использовались только вторые координаты первой точки.

Голову сломал не знаю как додумать формулы, чтобы линии зависящие от первой линии правильно по отношению к ней распологались в не зависимости под каким углом будет 1 линия.

Если есть нормальный способ решения этой незатейливой задачки, буду благодарен))
Все мои игрушки мама разметало ураганом...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.03.2005 (Ср) 9:36

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 23.03.2005 (Ср) 10:55

Угу уже прогресс, сеньк)) А как в этом примере выставить координаты фигуры? И софсем интересный вопрос, как проградуировать углвы например Label с метками и чтоб они тож вращались (не обязательно преварячивались).
Все мои игрушки мама разметало ураганом...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.03.2005 (Ср) 12:30

Обрати внимание на место, где заполняется массив COORD. Это координаты вершин. Используй их как координаты левого верхнего угла меток, к примеру.
А насчёт задания координат фигуры - пример был для другого :) Но ведь получив массив координат, ты сможешь прибавить или отнять от каждой одно и то же число, чтобы сдвинуть фигуру? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 24.03.2005 (Чт) 15:22

Сеньк)) пример хороший, но настроить его под себя тяжко мне)
Все мои игрушки мама разметало ураганом...


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

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

Сейчас этот форум просматривают: Google-бот и гости: 163

    TopList