Алгоритм нахождения пути(и ещё кое-что)...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Алгоритм нахождения пути(и ещё кое-что)...

Сообщение Gemini » 30.06.2003 (Пн) 23:20

Не буду пудрить вам мозги:
Вопрос заключаеться в том что мне надо узнать последующие точки перехода обьекта.
Зарисовка1(как должно быть):

8 (куда должен дойти обьект)
.
.
.
.
0 (основной обьект)

(надо узнать позицию обьекта в следующий момент)


Зарисовка 2(как у меня получаеться)

. . . . .8
.
.
.
0

Вот вобщем и весь вопрос.


Вопрос2.

Как С помощю DirectDraw(или Direct3D) Можно развернуть картинку под любым углом (градусом)?

З.Ы.
ТОВАРИЩИ КОДЕРЫ ПОМОГИТЕ МНЕ ПОЖАЛУЙСТА (А ТО Я ОЧЕНЬ МНОГО И ДОЛГО С ЭТИМ ПАРЮСЬ)

NJ
Обычный пользователь
Обычный пользователь
 
Сообщения: 65
Зарегистрирован: 10.12.2001 (Пн) 9:02
Откуда: Russia, Tomsk

Сообщение NJ » 01.07.2003 (Вт) 5:04

Не буду, грит, пудрить мозги, а сам... Я вот чесслово раз пять перечитал первую часть вопроса и понял только одно: послать тебя надо куда по дальше, а именно на http://algolist.manual.ru/
-=*=-
Трудно быть хорошим.

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 01.07.2003 (Вт) 17:35

У меня появился ещё оди вопрос как по положению(x,y) курсора узнать угол по sin и cos ?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 01.07.2003 (Вт) 17:37

У меня встречный вопрос. Что вы, уважаемый, курите перед тем как вопросы задаете? :lol:



У меня появился ещё оди вопрос как по положению(x,y) курсора узнать угол по sin и cos ?




А как вообще по чилсу звезд на небе узнать, сколько секунд назад у щвейцара бабушка нажала на кнопку Start? :?

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 01.07.2003 (Вт) 22:54

Вот пример разворота картинки на 360 градусов.
В этом примере надо доделать только одно:
поворот машины ровно за курсором мыши(что бы бампер всегда смотрел на курсор).

Помогите пожалуйта.!!!!

З.Ы.
Смотрите код в модуле под названием Module1.
Если кто сможет сделать то напишите алгоритм в топик пожалуйста.

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 02.07.2003 (Ср) 9:08

Gemini писал(а):У меня появился ещё оди вопрос как по положению(x,y) курсора узнать угол по sin и cos ?

Так по чему угол узнавать? По синусу и косинусу (энто можно), по координатам(вопрос: угол к чему), или по бабушке швейцара (это уж ты сам думай)

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 02.07.2003 (Ср) 9:17

Можно по одному синусу или одному косинусу(но не однозначно) так
уравнение единичной окр. : x^2 + y^2 = 1 (один- это R^2) x - косинус, y -синус. Пусть твой косинус равен a, тогда a^2 + y^2 = 1;
y = +- (1 - a^2)^0.5 : два случая а дальше твой угол равен Atn(y / a)

Или моно проще через Sin Cos:

a = Atn(Sin a / Cos a)

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 02.07.2003 (Ср) 11:16

2Gemini:
Разворот картинки на 360 градусов? :shock:

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 02.07.2003 (Ср) 13:09


Можно по одному синусу или одному косинусу(но не однозначно) так
уравнение единичной окр. : x^2 + y^2 = 1 (один- это R^2) x - косинус, y -синус. Пусть твой косинус равен a, тогда a^2 + y^2 = 1;
y = +- (1 - a^2)^0.5 : два случая а дальше твой угол равен Atn(y / a)

Или моно проще через Sin Cos:

a = Atn(Sin a / Cos a)


Извени но я нечего непонял :(. Пожалуйста обьясни поподробней (как это должнобыть в модуле. Ты же скачал пимер который я приаттачил ???)

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 03.07.2003 (Чт) 13:43

Gemini писал(а):

Можно по одному синусу или одному косинусу(но не однозначно) так
уравнение единичной окр. : x^2 + y^2 = 1 (один- это R^2) x - косинус, y -синус. Пусть твой косинус равен a, тогда a^2 + y^2 = 1;
y = +- (1 - a^2)^0.5 : два случая а дальше твой угол равен Atn(y / a)

Или моно проще через Sin Cos:

a = Atn(Sin a / Cos a)


Извени но я нечего непонял :(. Пожалуйста обьясни поподробней (как это должнобыть в модуле. Ты же скачал пимер который я приаттачил ???)


Мне лень разбираться в твоём примере, тем более я не дружу с директиксом. Я так понял, что у тебя есть координаты машины, координаты мыши,и надо определить угол поворота, так, чтоб она всё время на мышь смотрела?Тогда так:

Так значит пусть координаты машины x1, y1 а мыши x2, y2,
тогда расстояние между этими точками: leng= (Abs(x2 - x1) + Abs(y2-y1)) ^ 0.5

тогда Sin(угла): Sinus=Abs(y1 - y2)/leng
, a Cos: Cosinus=Abs(x1-x2)/leng
=>Tan: Tangens=Sinus/Cosinus; a угол=Atn(Tangens)

Это и есть искомый угол. Но угол в радианах и надо обработать случаи, когда x1<x1; y1<y2

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 04.07.2003 (Пт) 14:59

Ага понял.

ВСЕМ ОГРОМНОЕ СПАСИБО ЗА ПОМОЩЬ!!!!


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

    TopList