1 van 1

Gravitatie-invloed op een object

Geplaatst: di 04 nov 2008, 20:24
door loxerium
Goed ik ben dus een programma aan het maken in visual basic 2008 waarbij ik probeer de invloed van de zwaartekracht te simuleren op een ander (heel licht) object. (zonder weerstand :D )

Maar ik probeer dat nu voor te stellen door snelheidsvectoren.

Dus stel dat een object1 passeert voorbij het ander object2 die een niet te negeren zwaartekracht heeft:

moet ik dan

object1: een vector met de snelheid vb. horizontaal op je scherm

object2: welke vectorgrootte enzo moet ik nu gebruiken voor de zwaartekracht van dat object ( moet ik g gebruiken, maar das een versnelling?)

en dan? de som van die 2 vectoren?

bij voorbaat dank.

Re: Gravitatie-invloed op een object

Geplaatst: di 04 nov 2008, 20:29
door Phys
moet ik dan

object1: een vector met de snelheid vb. horizontaal op je scherm
Is dit een vraag? Zo ja, dan begrijp ik hem niet.
object2: welke vectorgrootte enzo moet ik nu gebruiken voor de zwaartekracht van dat object ( moet ik g gebruiken, maar das een versnelling?)

en dan? de som van die 2 vectoren?

bij voorbaat dank.
Je wilt gravitatiekrachten simuleren. Ben je bekend met de gravitatiewet van Newton (en met elementaire mechanica en werken met vectoren)? Dit om in te schatten wat je kennis is.

Re: Gravitatie-invloed op een object

Geplaatst: di 04 nov 2008, 21:35
door ajw
Misschien heb je wat aan deze c# code (gebruikt 3d vectoren, maar voor 2d is de code hetzelfde)

Code: Selecteer alles

  //Calculates the gravitational force between two masses

        public static v.Vector3 CalculateFgrav(MovingObject obj1, MovingObject obj2)

        {

            v.Vector3 PositionReal = obj1.PositionReal - obj2.PositionReal;

            double distance = PositionReal.Length();

            double force = obj1.Mass * obj2.Mass * Constants.G / (distance * distance);

            PositionReal.Normalize();

            return PositionReal * force;

        }

       public static void CalculateStep( MovingObject obj1, v.Vector3 Force)

        {

            //Calculate dV F=m.a 

            //Next position because of current speed

            v.Vector3 DRoute1 = obj1.SpeedReal * Constants.TimeStep;

            //Next position because of force

            double f=(double)Force.Length();

            double m = (double)obj1.Mass;

            double a_grav = (f / m);

            Force.Normalize();

            v.Vector3 DRoute2 = 0.5F * a_grav * Constants.TimeStep * Constants.TimeStep * Force;

            obj1.PositionReal += DRoute1 + DRoute2;

            obj1.SpeedReal += a_grav * Constants.TimeStep * Force;

        }


Re: Gravitatie-invloed op een object

Geplaatst: di 04 nov 2008, 22:27
door loxerium
Phys schreef:Is dit een vraag? Zo ja, dan begrijp ik hem niet.

Je wilt gravitatiekrachten simuleren. Ben je bekend met de gravitatiewet van Newton (en met elementaire mechanica en werken met vectoren)? Dit om in te schatten wat je kennis is.
Ja ik heb er wat kennis van , vector heeft zin, richting, en grootte enzo, dit heb ik geleerd op school.

Ook weet ik hoe je de som van vectoren moet maken :P

maar product ervan en wat heb je daar nog allemaal...moet je mij niet vragen. ( wil het wel leren mocht dit nodig blijken)

Ik ben niet zo goed in gans mijn probleem uit te leggen in één vraag dus werk ik liever met voorbeelden.

Dus nog een poging wagen.

Afbeelding

snappie?

bij voorbaat dank :D

Re: Gravitatie-invloed op een object

Geplaatst: wo 05 nov 2008, 08:50
door Rov
Vraag je je af of de grootte van de gravitatie afhangt van de snelheid van de twee opbjecten? Neen.

Re: Gravitatie-invloed op een object

Geplaatst: wo 05 nov 2008, 09:23
door Jan van de Velde
loxerium schreef:Afbeelding

snappie?

bij voorbaat dank :D
Ik sluit niet uit dat er een wiskundige weg omheen is: maar je mag toch niet zomaar en versnellingsvector en een snelheidsvector bij elkaar optellen?

Re: Gravitatie-invloed op een object

Geplaatst: wo 05 nov 2008, 10:15
door ajw
In een simulatie werk je over het algemeen met tijd stapjes, dus je berekent voor een
\(\Delta t\)
de afgelegde weg door de huidige snelheid en de afgelegde weg door de zwaartekracht van een object bij elkaar op te tellen:
\(\overline{s1}=\overline{v} \Delta t\)

\(\overline{s2}= \frac{1}{2} \overline{a} \Delta t^2\)
(waarbij
\( \overline{F}=G \frac{M1 M2}{r^2} )\)
en dus als je de versnelling van M1 berekent
\( \overline{a}= \frac{\overline{F}}{M1} )\)
)
\(\overline{s}= \overline{s1}+\overline{s2}\)
Daarnaast moet je de nieuwe snelheid voor het object berekenen:
\(\overline{v'}=\overline{v} + \overline{a} \Delta t\)

Re: Gravitatie-invloed op een object

Geplaatst: wo 05 nov 2008, 13:03
door loxerium
ajw schreef:In een simulatie werk je over het algemeen met tijd stapjes, dus je berekent voor een
\(\Delta t\)
de afgelegde weg door de huidige snelheid en de afgelegde weg door de zwaartekracht van een object bij elkaar op te tellen:
\(\overline{s1}=\overline{v} \Delta t\)

\(\overline{s2}= \frac{1}{2} \overline{a} \Delta t^2\)
(waarbij
\( \overline{F}=G \frac{M1 M2}{r^2} )\)
en dus als je de versnelling van M1 berekent
\( \overline{a}= \frac{\overline{F}}{M1} )\)
)
\(\overline{s}= \overline{s1}+\overline{s2}\)
Daarnaast moet je de nieuwe snelheid voor het object berekenen:
\(\overline{v'}=\overline{v} + \overline{a} \Delta t\)


bedankt, dit heeft idd geholpen :D