Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];

Вниз

угол падения равен углу отражения   Найти похожие ветки 

 
snowkam2   (2007-05-25 01:19) [0]

ребята подскажите пожалуйста алгоритм. нужно сделать так чтобы кнопка летала по форме и отскакивала от бартов по принцепу угол падения равен углу отражения. Может исходник у ково нибудь есть?????
snowkam@bk.ru


 
homm ©   (2007-05-25 01:27) [1]

Скорость кнопки равна векторной сумме скорости по х и по у. Задаешь их обе, прибавляешь соотвественно к координате х и у (top и left), как только кнопка доходит до верхнево или нижнего края разворачиваешь у в другом направлении y=-y; Если доходит до края левого или правого - инвертируешь х.


 
snowkam2   (2007-05-25 01:31) [2]

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


 
Германн ©   (2007-05-25 01:35) [3]


> homm ©   (25.05.07 01:27) [1]

Ты уверен, что это поможет при отскакивании от "бартов"?
:)

P.S.  Про "кнопку" в условиях задачи я уже и не говорю, что она не есть точка.


 
Германн ©   (2007-05-25 01:37) [4]


> пришлите исходник кто нить плиззззз ((((
>

Ну вот ещё один попрошайка. Форум не паперть, тут не подают.


 
Kostafey ©   (2007-05-25 01:41) [5]

> а как узнать угол???? вот что я не могу понять

Можно сделать что-то вроде

tan(dy/dx)

Где dx, dy - скорости движения по осям.


 
snowkam2   (2007-05-25 01:44) [6]

блин да что же такае а скорость по осям как задовать? )))))


 
Германн ©   (2007-05-25 01:47) [7]


> Kostafey ©   (25.05.07 01:41) [5]
>
> > а как узнать угол???? вот что я не могу понять
>

А зачем его знать? Читай [1]. Там сказано достаточно.


 
Германн ©   (2007-05-25 01:48) [8]

А пустое это дело. Автору нужна шпаргалка.


 
Kostafey ©   (2007-05-25 01:52) [9]

> А зачем его знать? Читай [1]. Там сказано достаточно.

А я ж не знал, что

> блин да что же такае а скорость по осям как задовать? ))
> )))

и думал, что автору нужено именно ЗНАЧЕНИЕ УГЛА (например для его отображения)


 
snowkam2   (2007-05-25 01:54) [10]

2Германн ©  Ладно раслабся.
Видно придется опять самому как и с умножением многочленов. Так и изучешь вашь Delphi. Глядишь через месяц буду сам на вопросы здесь отвечать. ;-)
обидно конешно


 
Kostafey ©   (2007-05-25 01:56) [11]

> [10] snowkam2

Ну ты еще похоже с дядей Толей не знаком :)

Лучше приведи код движения кнопки.


 
Германн ©   (2007-05-25 02:00) [12]


> Kostafey ©   (25.05.07 01:52) [9]

...

> и думал, что автору нужено именно ЗНАЧЕНИЕ УГЛА (например
> для его отображения)

Есть сабж. Там не сказано, что нужно знать "значение угла". (Очень, кстати, забавный новояз. Поздравляю с изобретением :)
Да и бесполезно всё это, имхо. У автора нет времени разбираться. Имхо, завтра нужно сдать :)


 
snowkam2   (2007-05-25 02:04) [13]

да нету кода у меня. у меня задача написать волебол игру. Написал движение играков и их прыжки. Теперь нужно написать движение мячика. Думал вы мне поможите наверняка же много людей писали такой код.
Мне пример только нужен а дальше бы я сам разобрался.
Просто кнопка летела бы с одинаковой скоростью и отскакивала от бартов до бесконечности. А я бы уже сам исключения лрисал и отскакивание от бартов и подения и от играков.


 
snowkam2   (2007-05-25 02:07) [14]


> Да и бесполезно всё это, имхо. У автора нет времени разбираться.
>  Имхо, завтра нужно сдать :)
>

почти угадал. пытаюсь соптимизировать время.  Но не так все просто как ты думаешь.


 
Германн ©   (2007-05-25 02:07) [15]


> snowkam2   (25.05.07 01:54) [10]
>
> 2Германн ©  Ладно раслабся.
> Видно придется опять самому как и с умножением многочленов.
>  Так и изучешь вашь Delphi. Глядишь через месяц буду сам
> на вопросы здесь отвечать. ;-)
> обидно конешно
>

Ну ты меня радуешь. Если конечно не врёшь про
> самому как и с умножением многочленов

Чей он бедный Delphi, наш или не наш, это уже не столь важно. Но если через месяц, ну пусть через два месяца.  Да ладно, чего мелочиться, пусть даже через несколько лет ты сможешь отвечать на этом форуме, я буду очень рад. Собс-но для этого (в числе прочего) сей форум и создан.


 
Kostafey ©   (2007-05-25 02:10) [16]

> Есть сабж.

В практике этого раздела сабж - не догма.
В ходе обсуждения вопрос может изменится на 180* (по себе знаю :))


> "значение угла". (Очень, кстати, забавный новояз. Поздравляю
> с изобретением :)

Спасибо, конечно, но по-моему ничего нового я не сказал :)


> Имхо, завтра нужно сдать :)

Ну так все еще в его руках.


 
Kostafey ©   (2007-05-25 02:14) [17]

> да нету кода у меня.


Ну так накидай уже чего-нибудь.

Там, например Timer1.OnTimer
и поехали
if Button1.Top<...
if Button1.Left<...
  Button1.Top:=Button1.Top+dy;
  Button1.Left:=Button1.Left+dx;
else
...

хотя бы в таком духе


 
snowkam2   (2007-05-25 02:15) [18]


> Ну ты меня радуешь. Если конечно не врёшь про

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


 
Kostafey ©   (2007-05-25 02:21) [19]

> Выручай напиши летающюю кнопку.

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

Если хочешь чтобы привели код приводи снчала свое решение
(оно например, может тебя не устраивать в плане производитльности).

Если ввобще не знаешь в каком направлении двигаться, то напраление укажут, но
именно направление, а не готовое решение.


 
Германн ©   (2007-05-25 02:31) [20]


> snowkam2   (25.05.07 02:15) [18]
>
>
> > Ну ты меня радуешь. Если конечно не врёшь про
>
> могу прислать. код новичка но все равно работает.
> Выручай напиши летающюю кнопку. Пока я буду разбираться
> с этим. Куча времени пройдет
>

Уже перестал радовать. Похоже ты код для умножения многочленов не сам написАл, а содрал откуда-то.

> Kostafey ©   (25.05.07 02:21) [19]
>
> > Выручай напиши летающюю кнопку.
>
> Не делается тут обычно так.
> Просто не принято. Не спрашивай почему, сам не знаю.
>

Да что уж тут не знать!
Тут многие помогут в решении проблем тем, кто сам что-то делает, но натыкается на проблемы. Но почти никто и никогда не даёт никому готовые решения, если автор ничего сам не сделал, кроме публикации своего поста.


 
Kostafey ©   (2007-05-25 02:35) [21]

> Да что уж тут не знать!...

Ваша правда.


 
snowkam2   (2007-05-25 03:34) [22]

Удалено модератором
Примечание: Ведем себя прилично, пожалуйста.


 
snowkam2   (2007-05-25 04:51) [23]

Все ребята извените я просто не вехал думал что это сложно аказывается просто.
чтобы задать чтобы угол подения равен углу отражения мячь должен двигаться по координатам

x:=x+sX;
y:= y+sY;

где sX и sY константы. я просто втупил что они изменятся дожны.
Усем спасибо.


 
homm ©   (2007-05-25 07:10) [24]

Все что тебе нужно было, это прочитать первый пост. Похоже тебе просто нужно было общение этой ночью, а не решение твоей задачи.


 
Anatoly Podgoretsky ©   (2007-05-25 09:12) [25]


> Ну ты еще похоже с дядей Толей не знаком :)

Считай, что уже познакомился


 
clickmaker ©   (2007-05-25 09:35) [26]

игроки играют в волейбол кнопкой?


 
Virgo_Style ©   (2007-05-25 09:38) [27]

clickmaker ©   (25.05.07 9:35) [26]
Все максимально приближено к реальности, удар по мячу = щелчок по изображающей мяч кнопке ;-)))


 
keymaster ©   (2007-05-25 09:54) [28]


> отскакивала от бартов

А от Гомеров и Марджей отскакивать должны?


 
SergeyIT ©   (2007-05-25 10:06) [29]


> x:=x+sX;
> y:= y+sY;

Это для космоса
Такой мячик будет летать до бесконечности
надо еще что-то типа
sX:=sX*(1-delX)
sY:=sY*(1-delY)-dY (в координатах - ось вверх)
delX, delY - торможение - зависит от скорости мяча
dY - гравитация
Еще хорошо при отскоке учесть потерю скорости.
А уже  потом
x:=x+sX;
y:= y+sY;


 
Zagaevskiy ©   (2007-05-25 12:30) [30]


> Это для космоса
> Такой мячик будет летать до бесконечности

SergeyIT прав, у меня есть такой шарик :) ... сам писал! летает бесконечно и отскок всегда 45*, но этого не видно :)


 
vch   (2007-05-25 14:59) [31]

я решил чуть другую задачу, имхо оригинально -
имеем 2 точки над плоскостью в 3-х мерном пространстве, тело из первой точки падает на плоскость, отражается правильно и попадает во вторую точку. найти координаты точки падения.

ответ - вторую точку отражаем на другую сторону плоскости, соединяем 1 и отражённую точку прямой линией. эта линия пересекает плоскость как раз в искомой точке отражения.


 
pasha_golub ©   (2007-05-25 15:44) [32]


> vch   (25.05.07 14:59) [31]

Молодцом.

В Харьковском ПедУне в свое время была задача написать треугольный бильярд. Задаются координаты луз, начальное положение точки (шара) и вектор движения точки. Нарисовать траекторию нужно было, и подсчитать кол-во отскоков от борта. Принималось что точка двигалась пока не попадала в лузу (вершину) или вечно.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.044 c
2-1180439008
Sasha Sanches
2007-05-29 15:43
2007.06.24
Аппраксимация...


15-1180074579
Jeer
2007-05-25 10:29
2007.06.24
Жара действует.


3-1174471411
jiny
2007-03-21 13:03
2007.06.24
Как создать таблицы в Advantage Local Server


15-1180280239
No_Dead
2007-05-27 19:37
2007.06.24
То же литература понадобилась, нужен совет


15-1180081457
_uw_
2007-05-25 12:24
2007.06.24
Работа, которую нужно срочно выполнить





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский