Графические алгоритмы

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Графические алгоритмы

Сообщение mark+ » 07.09.2003 (Вс) 22:26

У меня возник сложный вопрос и не очень:


1 (Сложный),
Имеем Shape, name = RedStar
Имеем PictureBox, name = Sky
Имеем Timer, name = RoundedPlanet

RedStar примерно в центре Sky, скажем, X(Left)=4305, Y(Top)=2625.
Необходимо нарисовать точку, и затем двигать ее по эллипсической орбите с центром RedStar, таймером RoundedPlanet, с интервалом 653. Я никак не могу додуматься до алгоритма.

2 (Не очень), Как можно изменять диаметр рисуемой точки, через PSet или через другие операторы? В GW-Basic такое вроде было, а в VB...

_NeoN_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 178
Зарегистрирован: 14.08.2003 (Чт) 9:48
Откуда: Новосибирск

Re: Графические алгоритмы

Сообщение _NeoN_ » 08.09.2003 (Пн) 14:12

mark+ писал(а):У меня возник сложный вопрос и не очень:
1 (Сложный),
Имеем Shape, name = RedStar
Имеем PictureBox, name = Sky
Имеем Timer, name = RoundedPlanet

RedStar примерно в центре Sky, скажем, X(Left)=4305, Y(Top)=2625.
Необходимо нарисовать точку, и затем двигать ее по эллипсической орбите с центром RedStar, таймером RoundedPlanet, с интервалом 653. Я никак не могу додуматься до алгоритма.

во-первых всегда(!) ставь scalemode=3 pixel (жить сразу легче станет), во вторых вопрос не очень-тог и трудный))

в таймере пишешь
Код: Выделить всё
static tim as single
dim x as single,y as single
tim=tim+0,1 'чем больше тем на больший угол будет каждый раз продвигаться планета или че там у тебя
x=cos(tim)*100 + смещение по х
y=sin(tim)*100 +смещение по у
form.pset(x,y),rgb(125,200,127)

цвет может быть любой :wink:
так точка будет двигаться по кругу, меняй 100 и посмотри что получается.. если первую сотню увеличивавть то орбита сплющится по горизонтали..
2 (Не очень), Как можно изменять диаметр рисуемой точки, через PSet или через другие операторы? В GW-Basic такое вроде было, а в VB...

не помню =) :wink:
ааа, во
Код: Выделить всё
Me.Cls
Me.DrawWidth = 100
me.pset(100,100),vbred

вот =) будет большое пятно крови =)


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

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

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

    TopList