![]() |
Ответ: Re: Гравитация в X Y Z
Цитата:
|
Re: Гравитация в X Y Z
^ это знак возведения в степень или умножения ?
|
Ответ: Гравитация в X Y Z
NitE
степень |
Ответ: Гравитация в X Y Z
Graphics3D 1024,768,32,0
SetBuffer BackBuffer () camera=CreateCamera() PositionEntity camera,0,50,-50 RotateEntity camera,50,0,0 pivot=CreatePivot() sphere1=CreateSphere(8,pivot) ScaleEntity sphere1,3,3,3 PositionEntity sphere1,30,0,0 EntityColor sphere1,255,120,0 pivot2=CreatePivot(sphere1) sphere2=CreateSphere(8,pivot2) PositionEntity sphere2,4,0,0 While Not KeyHit(1) TurnEntity pivot,0,1,0 If KeyDown(17) TurnEntity pivot2,0,4,4 If KeyDown(31) TurnEntity pivot2,0,-4,-4 RenderWorld() UpdateWorld() Flip Wend End Управление W и S . :-D |
Ответ: Гравитация в X Y Z
Коорд. объекта x,y,z. сферы cx,cy,cz. Массы Мо,Мс. Гравитац. константа - g. Скорость объекта vx,vy,vz.
mx = cx - x my = cy - y mz = cz - z Расстояние между телами: ml = sqrt(mx^2 + my^2 + mz^2) Общее ускорение а: а= g*Mc/ml^2 Ускорение по осям: аx = а*mx / ml аy = а*my / ml аz = а*my / ml Приращение скоростей: vx = vx + ax*dt vy = vy + ay*dt vz = vz + az*dt где dt - шаг интегрирования (время отрисовки кадра) Новые координаты тела: x=x+vx*dt y=y+vy*dt z=z+vz*dt И все! Очень просто! |
Ответ: Гравитация в X Y Z
еще придумал фишку
Создаем точку, направляем на сферу и даем скорость точка смещяется к земле в то же время меняем координаты объекта на те что у точки и делаем обычное управление для корабля :cool: |
Ответ: Гравитация в X Y Z
Цитата:
|
Ответ: Гравитация в X Y Z
не понятно
|
Ответ: Гравитация в X Y Z
Формулы и алгоритм правильные, у меня прекрасно работают. Надо разобраться, почему у тебя не получается. Включи отладку.
А что не понятно? |
Ответ: Гравитация в X Y Z
Цитата:
Дай свой пример посмотреть, то я что то значит в формулах не то написал |
Ответ: Гравитация в X Y Z
тип перменной должен быть float
|
Ответ: Гравитация в X Y Z
не чего не происходит можно попробывать функцией TranslateEntity зделать гравитацию
|
Ответ: Гравитация в X Y Z
Импер все сказал.
октоторп забыли после объявления переменной. надо: ax#,ay#,... и т.д. |
Ответ: Гравитация в X Y Z
щя бум тестить +)
|
Ответ: Гравитация в X Y Z
че то я не догнал
ax#=Float(а*mx / ml) так что ли ? |
Часовой пояс GMT +4, время: 01:04. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot