2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Определение точки
Сообщение10.12.2012, 22:16 


21/11/12
32
Есть окружность которая передвигается и допустим она смещается с точки А в точку С, но так как точка находится уже на объекте то нужно переместить окружность так что бы она касалась точки В но не пересекала .
Изображение
И тут я что то запутался.
В голову пришел такой вариант:
новые координаты центра = A + (R - (B -A));
т.е что бы найти растояние до нужной точки я от радиуса отнимаю растояние между точками В и А.
Но работает не совсем так..

 Профиль  
                  
 
 Re: Определение точки
Сообщение10.12.2012, 23:23 


20/04/12
147
MathNoob, Вы сами-то понимаете, о чем спрашиваете? :shock:

 Профиль  
                  
 
 Re: Определение точки
Сообщение11.12.2012, 09:13 


21/11/12
32
Nacuott, ну да.
Вопрос в том как определить расстояние на которое нужно сместить точку А что бы она была максимально близко к точке В но ее не пересекала.

 Профиль  
                  
 
 Re: Определение точки
Сообщение11.12.2012, 09:17 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Точка A большая и круглая. Её радиус равен R.
Точка B тоже большая, жёлтая и квадратная.
С такими уточнениями, пожалуй, всё сказанное делает смысл.

 Профиль  
                  
 
 Re: Определение точки
Сообщение11.12.2012, 13:53 
Заслуженный участник
Аватара пользователя


21/12/05
5931
Новосибирск

(Оффтоп)

ИСН в сообщении #656887 писал(а):
Точка B тоже большая, жёлтая и квадратная.

Хм, а я вижу прямоугольник, или на весь квадрат краски не хватило и показана только закрашенная часть?

 Профиль  
                  
 
 Re: Определение точки
Сообщение11.12.2012, 17:23 


21/11/12
32
bot, это прямоугольник.

 Профиль  
                  
 
 Re: Определение точки
Сообщение11.12.2012, 18:56 


21/11/12
32
хм, неужели я так не понятно изложил вопрос?

 Профиль  
                  
 
 Re: Определение точки
Сообщение11.12.2012, 19:36 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Вопрос понятен. Ответ понятен. Чэловек непонятен. Точка минус точка. Точка рэжэт точка. Какой язык говори - понимай нету.

 Профиль  
                  
 
 Re: Определение точки
Сообщение11.12.2012, 19:54 


21/11/12
32
ИСН, а как нужно сделать?
Я пишу игру, и там есть шарик он может сталкиваться с блоками , у меня проблема при столкновение с углами, определяю столкновение просто, по формуле:
\sqrt{(x2-x1)^2 + (y2-y1)^2}
но если шарик на следующем шаге окажется внутри блока то нужно его координаты установить так что бы он приблизился к углу но не пересекал его, и тут возникает проблема я не пойму как определить расстояние на которое его нужно сместить так что бы он не оказался внутри блока...
П.с понимаю что наверное все очень просто, но пробелы в школьной геометрии дают о себе знать..

 Профиль  
                  
 
 Re: Определение точки
Сообщение11.12.2012, 20:13 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Ну вот можете же, когда захотите. Появились человеческие слова: "шарик", "блок".
А стенки-то у Вас, наверное, уже отработаны? А как?

 Профиль  
                  
 
 Re: Определение точки
Сообщение11.12.2012, 20:22 


21/11/12
32
ИСН, блоки на уровне движка увеличены на радиус шарика:
если шарик попал в это зону то проверяется с какой стороной он столкнулся (низ/ верх, право/лево) если не с одной из четырех сторон, то проверяем растояние между центром шарика и углами если это расстояние <= радиусу то значить он летит прямо в угол, но так как он может влететь внутрь блока то нужно сдвинуть его так что бы он оказался возле угла и тут у меня проблема в том что у меня не получается определить то расстояние на которое нужно с двинуть его.

 Профиль  
                  
 
 Re: Определение точки
Сообщение11.12.2012, 20:37 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Это всё понятно. Я спрашиваю, что Вы делаете, когда шарик столкнулся со стороной. Как меняете x, y? А ведь есть ещё скорости! С ними как? Или их нету?

 Профиль  
                  
 
 Re: Определение точки
Сообщение11.12.2012, 20:44 


21/11/12
32
ИСН, допустим на следующем шаге шарик столкнется/ пересечет по y, то:
-y центра шарика = координаты той части блока с которой будет столкновение +/- радиус;
-значение переменной valY на -valY , т.е если он двигался в низ то он будет двигаться в верх.
- изменения скорости пока не трогал..

 Профиль  
                  
 
 Re: Определение точки
Сообщение11.12.2012, 21:14 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Ага, ясно. Ну что ж, на углу всё будет значительно сложнее. Особенно скорости, они будут замешаны в хитрый переплёт, а не просто минус в одном месте. А без них никак. Так что находите угол падения, выражайте через него...

 Профиль  
                  
 
 Re: Определение точки
Сообщение12.12.2012, 02:39 
Аватара пользователя


25/02/10
687
MathNoob, Ваш вопрос из области collision detection, этому посвящены целые книги или, по крайней мере, главы в книгах по технологии видеоигр. Думаю Вам стоит ознакомиться с литературой...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group