9 van 11

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 17:36
door Professor Puntje
De totale kracht die de puntmassa's in de bol op een testmassa m ter plaatse van xP op de x-as uitoefenen is Fpm .

 

En Fb is de kracht die een puntmassa in de oorsprong O ter grootte van M op de testmassa m ter plaatse van xP op de x-as zou uitoefenen.

 

Daarvoor hebben we dan:

 
Professor Puntje schreef:Schrijf xi als Xi.R, yi als Yi.R en zi als Zi.R . Dan staan Xi, Yi en Zi voor de coördinaten van N gelijkmatig in de eenheidsbol geplaatste punten. We schrijven verder nog de x-coördinaat xP van de testmassa m als X.R waardoor X de fractie xP/R aangeeft.

 

(...)

\( \mbox{F}_{pm} = \mbox{F}_b \, \cdot \, \mbox{ge}(\mbox{N},X) \)
 
Om te weten hoe Fpm en Fb zich tot elkaar verhouden hoeven we alleen ge(N,X) te weten. Maar mogelijk werkt Flisk direct met de gravitatiewet van Newton?

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 18:08
door tuander
Flisk schreef: Klaar, output:

Totaal aantal punten binnen de bol: 14137178

Totale massa van de puntmassa's: 1.0000007819077805

Theoretische massa van de homogene bol: 1

Totale zwaartekracht op de testmassa a.g.v. puntmassa's: -0.03999991615029247

Theoretische zwaartekracht op de testmassa a.g.v. homogene bol: -0.04

 
 Ik was Nog vergeten dank je te zeggen: Zeer veel dank!
 
Ik heb ook nog vragen over de cijfers hierboven. Is de optelsom van de puntmassa's niet precies 1?  maar groter dan 1? En levert dit te grote aantal puntmassa's dan een iets kleinere totaalkracht op dan verwacht van een vervangpuntmassa met massa 1 in het middelpunt vd bol?
 
Nou ja, een afwijking in het achtste significante cijfer is toch wel heel erg nauwkeurig in overeenstemming met de theorie van newton. Dat maakt me somber over een 'pleister' op zijn theorie op basis van een eventueel tuanderpunt.
 
De afstand van de testmassa was heir 5? Eventueel zou ik nog een kleinere afstand van de testmassa kunnen adviseren. als de straal van de bol 1 is, zou een afstand van 1.6 misschien een sterkere afwijking laten zien. De verwachte afwijking treedt vooral op vlakbij het oppervlak van de bol.

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 18:17
door Professor Puntje
Kunnen wij dat programma van Flisk hier op het forum ook zelf laten draaien om wat verschillende waarden van X uit te proberen?

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 18:34
door Flisk
Professor Puntje schreef:Kunnen wij dat programma van Flisk hier op het forum ook zelf laten draaien om wat verschillende waarden van X uit te proberen?
Ik zal eens kijken wat de makkelijkste manier is zodat jullie het ook kunnen draaien.

Ik heb het programma herschreven zodat de totale massa van de testmassa's precies gelijk aan 1 is, aangepaste code:
Spoiler: [+]

Code: Selecteer alles

public class BolschilStelling {

/*
	 Algemene opmerkingen:
	 1)oorsprong van het assenstelsel valt samen met het midden van de bol.
	 2)straal van de bol gelijk gesteld aan 1.
	 3)zwaartekrachtconstante gelijk gesteld aan 1.
	 5)de massa van de testmassa is gelijk aan 1.
	 4)de testmassa wordt buiten de bol op de x-as geplaatst.
	 */

//begin initialisatie van gebruikte variabelen
	static int totaalAantalPunten=0;
	static double totaleZwaartekrachtX=0;
	//puntDichtheid dient als input voor het aantal punten per lengte-eenheid in het kubische rooster
	static double puntDichtheid=150;
	static double tussenAfstand=1/puntDichtheid;
	//xTestM dient als input voor de x-coordinaat van de testmassa waarop je de gravitatiekracht berekent
	static double xTestM=5;
	//einde initialisatie van gebruikte variabelen11

//begin creatie van gebruikte methodes
	//geeft de afstand in het kwadraat tussen een willekeurig punt en de oorsprong
	public static double afstKwadrO(double x, double y, double z){

return (x*x+y*y+z*z);
	}
	//geeft de afstand in het kwadraat tussen een willekeurig punt en een punt op de x-as
	public static double afstKwadrX(double x1, double y1, double z1, double x2){

return ((x1-x2)*(x1-x2)+y1*y1+z1*z1);
	}
	//geeft de x-component van de zwaardekracht op de testmassa a.g.v. een puntmassa met massa 1.
	public static double zwaarteKrachtX(double xPunt, double yPunt, double zPunt){

return (xPunt-xTestM)/Math.pow(afstKwadrX(xPunt,yPunt,zPunt,xTestM), 1.5);
	}
	//einde creatie van gebruikte methodes

/*
	 Main methode, m.b.v. de 3 for loops wordt elk punt in het kubisch rooster doorlopen.
	 Afhankelijk van de positie (in of buiten de bol) wordt de x-component van de zwaartekracht op de testmassa berekend
	 en bij de totaleZwaartekrachtX variabele opgeteld.
	 */
	public static void main(String[] args) {

for(double xPunt=-1; xPunt<=1; xPunt+=tussenAfstand){

for(double yPunt=-1; yPunt<=1; yPunt+=tussenAfstand){

for(double zPunt=-1; zPunt<=1; zPunt+=tussenAfstand){

if(afstKwadrO(xPunt,yPunt,zPunt)<=1){

totaalAantalPunten++;

totaleZwaartekrachtX+=zwaarteKrachtX(xPunt,yPunt,zPunt);

}

}

}

//toont hoever de berekening zit in percent

System.out.println(Math.round((xPunt+1)/2*1000)/10.0+"%");

}

//Er werd gerekend met puntmassa's met massa 1, daarom wordt dit geschaald.

totaleZwaartekrachtX/=totaalAantalPunten;

//toont de resultaten

System.out.println("Totaal aantal punten binnen de bol: "+totaalAantalPunten);

System.out.println("Totale massa van de puntmassa's: "+1);

System.out.println("Totale zwaartekracht op de testmassa a.g.v. puntmassa's: "+totaleZwaartekrachtX);

System.out.print("Theoretische zwaartekracht op de testmassa a.g.v. homogene bol met massa 1: "+(1.0/xTestM/xTestM*(xTestM>0?-1:1)));
	}
}
 
Professor Puntje schreef:Om te weten hoe Fpm en Fb zich tot elkaar verhouden hoeven we alleen ge(N,X) te weten. Maar mogelijk werkt Flisk direct met de gravitatiewet van Newton?
Inderdaad, kwestie van vermenigvuldigen met een constante. Zoveel maakt het dus niet uit.

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 19:24
door tuander
Is het ook mogelijk om mijn eigen voorstel te volgen zonder puntmassa's op de x-as? Door alleen oneven coördinaten toe te staan voor puntmassa's binnen de bol?
 
Ik word een beetje nerveus van de grote hoeveelheid puntmassa's recht achter elkaar op de x-as precies onder punt p.
In de andere richtingen (hoek t.o.v p ) vind je niet zoveel puntmassa's recht achter elkaar. Daar zijn de puntmassa's in de bol meer gelijkmatig verdeeld over de richtingen (hoeken).
[edit: zouden deze punten niet precies op de x-as staan, dan schuift het tuanderpunt namelijk meteen nog iets verder naar achter]
 
En ik zou niet het aangepaste programma laten draaien voor dezelfde afstand van de testmassa in p, (X=5). Dat levert toch dezelfde uitkomst. Liever (X=2) bijvoorbeeld
 
[edit, ik kan dus niet programmeren, maar bijvoorbeeld door zo'n soort aanpassing (ik doe vast van alles fout):
static double puntDichtheid=300;
static double tussenAfstand=2/puntDichtheid;
 
En
 
static double xTestM=2;

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 19:34
door Flisk
Zo zou je zelf het programmaatje kunnen draaien:

1)Installeer Java op je computer (gratis): klik

2)Download dit bestand en dit bestand (had geen toestemming ze in bijlage te plaatsen).

3)Plaats beide bestanden in éénzelfde map (verander hun naam niet).

4)Dubbelklik 'bereken' en er opent een console waar je invoer kan typen.

Zal waarschijnlijk alleen op Windows werken. Het is mogelijk een GUI te schrijven in Java dat werkt op alle platformen maar dit lijkt me overkill.

Google chrome zal de dowload niet toestaan, het is een ongekend programma. Uiteraard zijn ze niet schadelijk dus best een andere browser gebruiken. Met firefox gaat het maar moet je de download deblokkeren.

 

Wil je de berekening stoppen, sluit je gewoonweg de console. Je kan zelf invoer kiezen voor de x-coordinaat van de testmassa en het aantal punten per lengte eenheid in het kubische rooster.

Hier de broncode, aangepast om invoer toe te laten:
Spoiler: [+]

Code: Selecteer alles

import java.io.*;

public class BolschilStelling {

static int totaalAantalPunten=0;
	static double totaleZwaartekrachtX=0;
	static double puntDichtheid;
	static double tussenAfstand;
	static double xTestM;

public static double afstKwadrO(double x, double y, double z){

return (x*x+y*y+z*z);
	}
	public static double afstKwadrX(double x1, double y1, double z1, double x2){

return ((x1-x2)*(x1-x2)+y1*y1+z1*z1);
	}
	public static double zwaarteKrachtX(double xPunt, double yPunt, double zPunt){

return (xPunt-xTestM)/Math.pow(afstKwadrX(xPunt,yPunt,zPunt,xTestM), 1.5);
	}

public static void main(String[] args){

InputStreamReader isr=new InputStreamReader(System.in);

BufferedReader br=new BufferedReader(isr);

while(true){

System.out.println("Geef het aantal punten per lengte eenheid en druk op enter: ");

try{

puntDichtheid=Double.parseDouble(br.readLine().replace(',', '.'));

}catch(Exception e){

System.out.println("Foute invoer, probeer opnieuw.");

continue;

}

if(puntDichtheid<=0){

System.out.println("Dit moet positief zijn, probeer opnieuw.");

continue;

}

break;

}

tussenAfstand=1/puntDichtheid;

while(true){

System.out.println("Geef de x-coordinaat van de testmassa en druk op enter: ");

try{

xTestM=Double.parseDouble(br.readLine().replace(',', '.'));

}catch(Exception e){

System.out.println("Foute invoer, probeer opnieuw.");

continue;

}

if(Math.abs(xTestM)<=1){

System.out.println("De absolute waarde moet groter dan 1 zijn, probeer opnieuw.");

continue;

}

break;

}

for(double xPunt=-1; xPunt<=1; xPunt+=tussenAfstand){

for(double yPunt=-1; yPunt<=1; yPunt+=tussenAfstand){

for(double zPunt=-1; zPunt<=1; zPunt+=tussenAfstand){

if(afstKwadrO(xPunt,yPunt,zPunt)<=1){

totaalAantalPunten++;

totaleZwaartekrachtX+=zwaarteKrachtX(xPunt,yPunt,zPunt);

}

}

}

System.out.println(Math.round((xPunt+1)/2*1000)/10.0+"%");

}

totaleZwaartekrachtX/=totaalAantalPunten;

System.out.println("Totaal aantal punten binnen de bol: "+totaalAantalPunten);

System.out.println("Totale massa van de puntmassa's: "+1);

System.out.println("Totale zwaartekracht op de testmassa a.g.v. puntmassa's: "+totaleZwaartekrachtX);

System.out.print("Theoretische zwaartekracht op de testmassa a.g.v. homogene bol met massa 1: "+(1.0/xTestM/xTestM*(xTestM>0?-1:1)));

try {

br.readLine();

} catch (IOException e) {

}
	}
}

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 19:59
door tuander
Flisk schreef: Zo zou je zelf het programmaatje kunnen draaien:

[...]

2)Download dit bestand en dit bestand (had geen toestemming ze in bijlage te plaatsen).
[...]
Ik heb geen chrome maar firefox, Maar mijn firewall staat het niet toe. Dan word ik toch een beetje huiverig

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 19:59
door Flisk
tuander schreef:Is het ook mogelijk om mijn eigen voorstel te volgen zonder puntmassa's op de x-as? Door alleen oneven coördinaten toe te staan voor puntmassa's binnen de bol?
...
En ik zou niet het aangepaste programma laten draaien voor dezelfde afstand van de testmassa in p, (X=5). Dat levert toch dezelfde uitkomst. Liever (X=2) bijvoorbeeld
Kies dan als invoer voor het aantal punten per lengte eenheid een komma getal (bijvoorbeeld 100,5), zo valt er geen enkel punt samen met één van de assen. Je kan ook de x-coordinaat van de testmassa zelf kiezen.
tuander schreef: Ik heb geen chrome maar firefox, Maar mijn firewall staat het niet toe. Dan word ik toch een beetje huiverig
Logisch, het is een ongekend programma, onbekende uitgever. Standaard wordt dat gezien als malware (wat het niet is). Als je het niet vertrouwt wil ik je wel uitleggen hoe je de code manueel kan uitvoeren, maar dat is wel heel wat moeilijker dan de methode waar je die bestanden download en dubbelklikt.

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 20:07
door Professor Puntje
Ik heb de twee bestandjes ondanks een waarschuwing voor virussen gedownload. Maar ik krijg ze niet aan de praat. Ik heb Linux Mint.

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 20:13
door Flisk
Professor Puntje schreef:Ik heb Linux Mint.
Dat is dan ook de reden. Het 'bereken.bat' bestand open een Windows console waarin het java programma draait.

Ik kan het niet testen want ik heb geen Linux, maar probeer eens volgende in een terminal:

Code: Selecteer alles

java -jar bolschilWSF.jar
Je moet waarschijnlijk het pad naar bolschilWSF.jar ook specifieren, dus zoiets:

Code: Selecteer alles

java -jar pad/bolschilWSF.jar

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 20:18
door Professor Puntje
Werkt ook niet. Maar als je nog even de uitkomst van je programma wilt geven voor X = 1,0001 en N hetzelfde als eerst weet ik ook eigenlijk wel genoeg...

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 20:21
door Flisk
Spoiler: [+]
Geef het aantal punten per lengte eenheid en druk op enter: 

150

Geef de x-coordinaat van de testmassa en druk op enter: 

1,0001

 

Totaal aantal punten binnen de bol: 14137178

Totale massa van de puntmassa's: 1

Totale zwaartekracht op de testmassa a.g.v. puntmassa's: -0.9950127071594548

Theoretische zwaartekracht op de testmassa a.g.v. homogene bol met massa 1: -0.9998000299960005

EDIT:

Het wordt heel wat interessanter wanneer je een laag aantal punten kiest én een testmassa dichtbij de bol:
Spoiler: [+]
Geef het aantal punten per lengte eenheid en druk op enter: 

3

Geef de x-coordinaat van de testmassa en druk op enter: 

1.000001

 

Totaal aantal punten binnen de bol: 120

Totale massa van de puntmassa's: 1

Totale zwaartekracht op de testmassa a.g.v. puntmassa's: -8.333333331782363E9

Theoretische zwaartekracht op de testmassa a.g.v. homogene bol met massa 1: -0.9999980000030001
Hier is het verschil gigantisch, de tesmassa ligt heel dicht bij één van de weinige punten.

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 20:30
door Professor Puntje
Dank. :)

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 20:48
door Flisk

Code: Selecteer alles

	//geeft de x-component van de zwaardekracht op de testmassa a.g.v. een puntmassa
	public static double zwaarteKrachtX(double xPunt, double yPunt, double zPunt){

return (xPunt-xTestM)*massaPunt/Math.pow(afstKwadrX(xPunt,yPunt,zPunt,xTestM), 1.5);
	}
Deze passage snap ik ook niet, sorry dat ik zoveel moeite heb. Het moest toch zijn: (xpunt-xtestm)* xtestm*xtestm? nogmaals excuses dat ik zo langzaam ben.
 
Misschien helpt het zo geschreven:
\(\frac{m_p(x_p-x_{tm})}{((x_p-x_{tm})^2+y^2_p+z^2_p)^{1,5}}}\)
waarbij tm staat voor testmassa en p voor punt.

Dit is de x-component gravitatiekracht op de testmassa met als coördinaten (xtm,0,0) en massa 1 a.g.v. een puntmassa met als coördinaten (xp,yp,zp) en massa mp.

Hierbij is de zwaartekrachtconstante gelijk aan 1 gesteld.

Re: maakt de bolschilstelling een fout, de wereld is toch niet plat?

Geplaatst: zo 04 sep 2016, 20:49
door tuander
Flisk schreef: Totaal aantal punten binnen de bol: 14137178

Code: Selecteer alles


	 2)straal van de bol gelijk gesteld aan 1.
	
	//puntDichtheid dient als input voor het aantal punten per lengte-eenheid in het kubische rooster
	static double puntDichtheid=150;
	
Ik heb een vraag over deze cijfers: Begrijp ik goed dat je 150 punten per lengte-eenheid hebt? Dus 150 punten op de straal van de bol? Dus de bol past binnen een kubus van 300*300*300 punten? dan bevat de bol minder dan de omliggende kubus, dus minder dan deze 9.000.000 punten? Hoe komt het totaal aantal punten binnen de bol dan op 14.137.178? Reken ik iets fout?
 
 
 
[edit, Ach, domme ik, moet zijn:minder dan 27.000.000 punten, klopt natuurlijk gewoon. Ik ben ook warhoofd tot en met]