This software is published under the GNU General Public License v3.0.



     
Internal movement of a quark.

Coding the dimensional basic

The separate fundamental forces of nature: – the strong interaction, the electromagnetic interaction, the weak interaction and the gravitational interaction – are calculatable with one formula out of one principle. The statistical math of the quantum theory is set aside in favor of a goniometric approach. Gravitation is the only force that matters and the strong force, the electromagnetic force and the weak force can be explained out of gravitation, while gravity itself is only caused by the curvature of a mass, corresponding with a certain amount of bending of spacetime.

The axiom is that the most elementary particle in existence is the dimensional basic (db or ). The itself has no dimensions (no length, no width and no height). The is found everywhere in the universe and is always moving through spacetime, where the speed of the movement of the , in respect to its surroundings, can have any value. The curvature of space on the location of the is infinite while time on the location of the stands still. The behaves like a black hole without dimensions. The is the building block of all that we perceive.

The formula for the extent of spacetime curvature around a is:


In the formula: x, y, z, are coordinates in spacetime [m], Kr = curvature [m-1].

Formula (0) describes the relative lessened extent of curvature of spacetime surrounding the .

The distance between the various s varies in time by movements relative to each other. The direction of movement is being influenced according to gravitational laws. The tracks of movement are being influenced by the curvature of spacetime caused by the s themselves. This means that spacetime surrounding a gets smaller when the s are approaching each other while spacetime surrounding a gets bigger when the s move away from each other.

The is different than other particles in that respect that other particles consist out of multiple s while the itself is a singular particle. Each is a singularity (infinite curvature) on itself while other particles than the are a combination of multiple s and thus a system of multiple singularities.

The observed forces (strong, electromagnetic, weak and gravitation) have the same origin. The cause of these forces are because of the characteristics of a singular . The observed forces are in fact a sum of circular movements that come to exist when multiple s interact with each other.


Figure 1: The tracks of two interacting s on different distances from each other.
(Original: Deflection of the tracks of a photon close to an object with a heavy mass).

     


In figure 1 is shown how the movement tracks of photons react to the event horizon of a black hole. The same regularity applies to a binary black hole system. This is equal to the movement tracks of two s in respect to each other with the difference that the two s have no event horizon. The Pauli principle is never violated because the s have no dimensions, they can approach each other, but can never touch each other. These movement tracks are equal in behavior to Newton’s laws of gravity. On the basis of that information the Borland C computer program ‘Newton’ has been developed. This computer program shows the movement tracks of s in three dimensional spacetime, in which the movement tracks of the s follow the gravitational laws. A three dimensional snapshot with nine interacting s is shown in figure 2. In this figure the Einsteinian bending of spacetime has not been taken into account. The computer program ‘Newton’ gives the possibility to show the time delay in video, as seen by an outside observer thus making clear the principle of time delay.


Figure 2: The movement tracks of nine s during a random time.



The second model that has been developed is the Borland C computer plot program ‘Einstein’. This computer program has been developed to show how spacetime around a is being bend as seen by an outside observer, the extent of bending calculated according to formula (0).br>
Just like one as a singular singularity causes bending of spacetime because of an infinite curvature, a multitude of s will show a stronger bending of spacetime because of a sum of infinite curvatures. As Einstein made clear, we can speak of curbed spacetime instead of linear spacetime. The more mass an object has, the more spacetime bends. In fact mass is the sum of the curvatures of a certain amount of s close to each other. In case of for example three billion s one can speak of three billion times infinite curvature. This makes it possible to isolate infinite numbers in comparison equations and thus mass can be expressed as an absolute number. One can say that a cluster of a certain amount of s will have an absolute number of infinite curvatures. In this way one can speak of mass A with X times infinite curvatures, while mass B has Y times infinite curvatures. The infinities on both sides of the comparison can be done away with and only the absolute proportions of X and Y remain for the respective masses. A cluster of s with an absolute amount of s correlates with the mass of an object and thus a certain extent of bending of spacetime.

The extent of bending of spacetime is calculated using formula (0), where the extent of curvature on a specific position of spacetime is being calculated. A bigger curvature means that spacetime is more bended, whereas a smaller curvature means that spacetime is less bended.

An example of this is shown in figure 3. In figure 3 the plot of a cube of spacetime is shown. The Einsteinian bending of a cube of spacetime is made visual. While figure 3a shows no bending of spacetime because of the absence of a , the bending in a cube of spacetime, and thus deformed distances for an outside observer, in figure 3b have been calculated according to formula (0) because of the position of a in the center of the cube of spacetime. At the center of the six surfaces of the cube of spacetime the distance to the is the smallest, for the outside observer it appears that that piece of spacetime is closer to the than it should be in linear (uncurbed) spacetime, this because of the bending of spacetime, made visual by formula (0). Hence the pointy form of the corners of the cube of spacetime, there the distance to the is the biggest. Because of the bending of spacetime the distance is bigger for the outside observer than it should be according to a linear scale, this again made visual by calculating the extent of bending of spacetime according to formula (0). The closer spacetime is to a , the higher the curvature and the more spacetime will be bend.


Figure 3: The bending of a cube of spacetime under the influence of a .

3a. Uncurbed (linear) cube of spacetime. 3b. Cube of spacetime curbed by the presence of a in the center.


Conclusion: The Newtonian laws represent the straight movement paths as being caused by the bending of spacetime, just like Einstein made clear. Thus Newton’s laws of gravity apply to the movement paths of the or a multitude of s.
Both computer programs together represent the movement and character of the . The reality of the can be simulated by computer programs according to gravitational laws, taking into account the reality of formula (0) and the thereby caused bending of spacetime, with, as seen by an outside observer, the observed bending of spacetime and time delay. A third model, combining the linear Newtonian laws of gravity with Einsteinian bending of space and delay of time should be able to simulate the universe as a whole. Whereas a model with an infinite amount of s is practically not possible, a model with a subset of a large number of s should be possible.

Below the sources codes of the Borland C computer programs ‘Newton’ and ‘Einstein’ can be seen, while not making a choice shows a MS Quick Basic example of movement analysis with which figure 2 has been calculated.


Download article (PDF):
Coding the dimensional basic

Download code (TXT):
dbmove.bas newton.cpp einstein.cpp


Show code:
Program Newton Program Einstein


Borland C Program Einstein:

0// (C) 1996 G.J. Smit, Nijmegen, Nederland
1// This software is published under the GNU General Public License v3.0
2// www.dbphysics.org
3// The program 'Einstein' photographs (plots) a piece of einsteinian space time where individual and multiple dimensional basics can be seen, showing the deformation of space time as seen for an outside observer.
4
5#include "conio.h"
6#include "graphics.h"
7#include "math.h"
8#include "process.h"
9#include "stdio.h"
10#include "stdlib.h"
11#include "string.h"
12
13FILE *vkini; // Actieve rekenvariabelen.
14FILE *vkxyz; // Krommingssterkte en virtuele 3D-co�rdinaten.
15FILE *vkfilm; // Film krommingsverloop.
16char fiotest; // Menu +/- controle op bestaande bestanden.
17char prog; // Stuurt programmaverloop.
18float xd[24],yd[24],zd[24]; // Co�rdinaten van maximaal 24 1db's.
19char deel,dtel,ctel; // Actieve hoeveelheid 1db's en teller daarvoor en teller voor invoer coordinaten.
20float bereik,stap; // Formaat en resolutie van berekende ruimte-kubus.
21float kromming,afstand; // Sterkte en spreiding van de zichtbare kromming.
22char ruimte; // Al of niet afbeelden als gekromde ruimte.
23float schaal; // Grootte van afbeelding op scherm.
24char kl_modus; // Kleurenpalette/kleurmodus.
25float dummy,begin,eind; // Waarden voor film.
26float frag; // Voor film krommingsverloop.
27char film; // Bepaalt film aan/uit in tekenfunctie.
28int ftel,fx,fy; // Besturing film.
29unsigned far fk; // Besturing film.
30char toets; // Test op toetsaanslag in menu.
31float x,y,z; // Actieve rekenco�rdinaten.
32float afx,afy,afz,afs,krm; // Berekenen krommingssterkten.
33float xtot,ytot,ztot; // Berekenen visuele co�rdinaten.
34float ktot; // Berekenen totale krommingssterkte per co�rdinaat.
35int v1,v2; // Instellen video-mode.
36float x2,y2; // 2D co�rdinaten voor het beeldscherm.
37float kleur,midx,midy; // Kleur van te tekenen pixel + relocatie.
38float afst,kl_w; // Voor tekenen in kl_modus=2.
39char c_invoer; // Voor invoer co�rdinaten.
40char bnaam[13],tnaam[13]; // Voor variabele bestandsnaam
41
42int huge DetectSvga256() { int vid; vid=4; return vid; }
43
44void kleur_mod(void)
45{ v1=0;v2=2341;
46 installuserdriver("Svga256",DetectSvga256);
47 initgraph(&v1,&v2,"");
48 midx=getmaxx()/2;midy=getmaxy()/2;
49 if(kl_modus==0) { for(dtel=0;dtel<63;dtel++) setrgbpalette(32+dtel,dtel,dtel,dtel); }
50 if(kl_modus==1)
51 { for(dtel=0;dtel<64;dtel++) setrgbpalette(128+dtel,63-dtel,dtel,0);
52 for(dtel=0;dtel<64;dtel++) setrgbpalette(192+dtel,0,63-dtel,dtel);
53 }
54 if(kl_modus==2)
55 { for(dtel=0;dtel<32;dtel++) setrgbpalette(32+dtel,2*dtel,2*dtel,2*dtel);
56 for(dtel=0;dtel<32;dtel++) setrgbpalette(64+dtel,2*dtel,0,0);
57 for(dtel=0;dtel<32;dtel++) setrgbpalette(96+dtel,0,2*dtel,0);
58 for(dtel=0;dtel<32;dtel++) setrgbpalette(128+dtel,0,0,2*dtel);
59 for(dtel=0;dtel<32;dtel++) setrgbpalette(160+dtel,2*dtel,2*dtel,0);
60 for(dtel=0;dtel<32;dtel++) setrgbpalette(192+dtel,0,2*dtel,2*dtel);
61 for(dtel=0;dtel<32;dtel++) setrgbpalette(224+dtel,2*dtel,0,2*dtel);
62 }
63 setfillstyle(1,0);
64}
65
66void reken(void)
67{ _setcursortype(_NOCURSOR);
68 strcpy(tnaam,bnaam); strcat(tnaam,".ini");
69 vkini=fopen(tnaam,"wb");
70 fprintf(vkini,"%d %f %f ",deel,bereik,stap);
71 for(dtel=0;dtel
72 fclose(vkini);
73
74 // Bestand openen voor krommingssterkte en visuele 3D co�rdinaten.
75 strcpy(tnaam,bnaam); strcat(tnaam,".xyz");
76 vkxyz=fopen(tnaam,"wb");
77
78 // Berekenen krommingssterkten per co�rdinaat per deeltje in kubus.
79 for(x=-bereik;x
80 { gotoxy(14,19); printf(": %5.3f procent",x/(2*bereik)*100+50);
81 for(y=-bereik;y
82 { for(z=-bereik;z
83 { ktot=0; xtot=0; ytot=0; ztot=0;
84 for(dtel=0;dtel
85 { afx=(x-xd[dtel])*(x-xd[dtel]); // Afstand per x,y,z as.
86 afy=(y-yd[dtel])*(y-yd[dtel]);
87 afz=(z-zd[dtel])*(z-zd[dtel]);
88 afs=sqrt(afx+afy+afz); // Afstand co�rdinaat tot deeltje.
89 if(afs!=0) krm=1/(afs*afs); else krm=1000000; // Krommingssterkte bepalen.
90 // Bepalen co�rdinaten voor representatie van visuele ruimte door krommingssterkte.
91 ktot+=krm;
92 xtot+=(x-xd[dtel])/krm;
93 ytot+=(y-yd[dtel])/krm;
94 ztot+=(z-zd[dtel])/krm;
95 }
96 fprintf(vkxyz,"%f %f %f %f ",ktot,xtot,ytot,ztot);
97 }
98 }
99 if(kbhit()!=0)
100 { if(getch()==27) x=bereik;
101 }
102 }
103 fclose(vkxyz);
104 if(fiotest==0||fiotest==1) fiotest=1; else fiotest=3;
105 if(toets==27)
106 { unlink(tnaam);
107 if(fiotest==3) fiotest=2; else fiotest=0;
108 }
109 toets=32;
110}
111
112void teken(void)
113{ if(film==0)
114 { strcpy(tnaam,bnaam); strcat(tnaam,".ini");
115 vkini=fopen(tnaam,"rb");
116 fscanf(vkini,"%d%f%f",&deel,&bereik,&stap);
117 for(dtel=0;dtel
118 fclose(vkini);
119 printf("Deel:%d Bereik:%f Stap:%f Kromming:%f Afstand:%f Ruimte:%d Kleur:%d Schaal:%f",
120 deel,bereik,stap,kromming,afstand,ruimte,kl_modus,schaal);
121 }
122 else
123 { bar(0,0,1023,767);
124 gotoxy(1,1);
125 printf("FC : Begin:%f Eind:%f Fragment:%f Kromming:%f Afstand:%f Ruimte:%d Kleur:%d Schaal:%f",
126 begin,eind,frag,kromming,afstand,ruimte,kl_modus,schaal);
127 }
128
129 setcolor(7);line(0,18,1023,18);setcolor(10);
130 strcpy(tnaam,bnaam); strcat(tnaam,".xyz");
131 vkxyz=fopen(tnaam,"rb");
132
133 for(x=-bereik;x
134 { line((x/(2*bereik)*100+50)*10.24,18,((x+stap)/(2*bereik)*100+50)*10.24,18);
135 for(y=-bereik;y
136 { for(z=-bereik;z
137 { fscanf(vkxyz,"%f %f %f %f",&ktot,&xtot,&ytot,&ztot);
138 if(ktot>kromming-afstand&&ktot
139 { if(ruimte==0) { xtot=x; ytot=y; ztot=z; }
140 x2=(ytot-.5*xtot)*schaal;
141 y2=(ztot-.5*xtot)*schaal;
142 if(kl_modus==0) kleur=(x+bereik)/(2*bereik)*62+1;
143 if(kl_modus==1)
144 { if(ktot>kromming&&ktot<(kromming+afstand)) kleur=160+64*(ktot-kromming)/afstand;
145 else kleur=160+64*(ktot-kromming)/afstand;
146 }
147 if(kl_modus==2)
148 { afst=1000000;
149 kl_w=32;
150 for(dtel=0;dtel
151 { afx=(x-xd[dtel])*(x-xd[dtel]);
152 afy=(y-yd[dtel])*(y-yd[dtel]);
153 afz=(z-zd[dtel])*(z-zd[dtel]);
154 afs=sqrt(afx+afy+afz);
155 if(afst>afs)
156 { afst=afs;
157 kl_w=32*dtel;
158 }
159 }
160 kleur=(x+bereik)/(2*bereik)*30+1+kl_w;
161 }
162 putpixel(midx+x2,midy-y2,32+kleur);
163 }
164 if(kbhit()!=0)
165 { if(getch()==27)
166 { if(ruimte==0)
167 printf("\n\nOnderbroken k:%f x:%f y:%f z:%f x2:%f y2:%f",ktot,x,y,z,x2,y2);
168 else
169 printf("\n\nOnderbroken k:%f x:%f y:%f z:%f x2:%f y2:%f",ktot,xtot,ytot,ztot,x2,y2);
170 x=bereik; y=bereik; z=bereik;
171 if(film!=0) // Als film cre�ren dan einde beeld-lus.
172 { kromming=eind;
173 film=0;
174 }
175 }
176 }
177 }
178 }
179 }
180 fclose(vkxyz);
181 if(film==0)
182 { getch();
183 toets=32;
184 }
185 else
186 { for(fy=19;fy<768;fy++)
187 { for(fx=0;fx<1024;fx++)
188 { fk=getpixel(fx,fy);
189 if(fk!=0) fprintf(vkfilm,"%d %d %u ",fx,fy,fk);
190 }
191 }
192 }
193}
194
195void animatie(void)
196{ putchar(13);
197 printf("KF : Begin:%f Eind:%f Fragment:%f Ruimte:%d Kleur:%d Schaal:%f",
198 begin,eind,frag,ruimte,kl_modus,schaal);
199
200 vkfilm=fopen("vkfilm.xyz","rb");
201
202 do
203 { fscanf(vkfilm,"%d",&ftel);
204 if(ftel<0)
205 { if(ftel!=-1)
206 { if(ftel==-1000) printf(" Laatste beeld");
207 toets=getch();
208 if(toets!=27) bar(0,19,1023,767);
209 else toets=32;
210 }
211 fscanf(vkfilm,"%d",&fx);
212 }
213 else fx=ftel;
214 fscanf(vkfilm,"%d",&fy);
215 fscanf(vkfilm,"%u",&fk);
216 putpixel(fx,fy,fk);
217 } while(ftel>-999);
218 fclose(vkfilm);
219}
220
221void cord_in(void) // Nu 24 deeltjes in te voeren
222{
223 for(dtel=0;dtel
224 { clrscr();
225 printf("Bestandsnaa[m] : %s\n\n",bnaam);
226 printf("[T]ekenen ");
227 if(fiotest==1||fiotest==3) printf("+"); else printf("-");
228 printf(" [R]ekenen\n");
229 printf("[F]ilm ");
230 if(fiotest==2||fiotest==3) printf("+"); else printf("-");
231 printf(" [C]re�ren\n");
232 printf("[w]illekeur [i]nvoeren\n");
233 printf("[d]eel : %d\n",deel);
234 printf("[b]ereik : %f\n",bereik);
235 printf("[s]tap : %f\n",stap);
236 printf("[k]romming : %f\n",kromming);
237 printf("[a]fstand : %f\n",afstand);
238 printf("[r]uimte : ");
239 if(ruimte==0) printf("lineair\n"); else printf("gekromd\n");
240 printf("s[c]haal : %f\n",schaal);
241 printf("k[l]eur : ");
242 if(kl_modus==0) printf("3D grijswaarden\n");
243 if(kl_modus==1) printf("2D krommingssterkte\n");
244 if(kl_modus==2) printf("3D per deeltje\n");
245 printf("b[e]gin : %f\n",begin);
246 printf("ei[n]d : %f\n",eind);
247 printf("[f]ragment : %f\n",frag);
248
249 for(ctel=0;ctel
250 { gotoxy(38,1+ctel);
251 printf("%d : %f %f %f",ctel,xd[ctel],yd[ctel],zd[ctel]);
252 }
253
254 gotoxy(1,19); printf("Deel : %d\n",dtel);
255 printf("x > "); scanf("%f",&xd[dtel]);
256 printf("y > "); scanf("%f",&yd[dtel]);
257 printf("z > "); scanf("%f",&zd[dtel]);
258 }
259 toets=32;
260}
261
262void main(void)
263{ // Bepalen van beginwaarden voor actieve rekenvariabelen.
264 strcpy(bnaam,"vkveld");
265 strcpy(tnaam,bnaam); strcat(tnaam,".ini");
266 vkini=fopen(tnaam,"rb");
267 if(vkini==NULL)
268 { fiotest=0;
269 deel=7; bereik=10; stap=.25;
270 for(dtel=0;dtel
271 { xd[dtel]=((random(32767)*bereik)/32767-bereik/2)*2;
272 yd[dtel]=((random(32767)*bereik)/32767-bereik/2)*2;
273 zd[dtel]=((random(32767)*bereik)/32767-bereik/2)*2;
274 }
275 }
276 else
277 { fiotest=1;
278 fscanf(vkini,"%d%f%f",&deel,&bereik,&stap);
279 for(dtel=0;dtel
280 { fscanf(vkini,"%f%f%f",&xd[dtel],&yd[dtel],&zd[dtel]);
281 }
282 }
283 fclose(vkini);
284
285 // Testen of vkveld.xyz bestaat.
286 strcpy(tnaam,bnaam); strcat(tnaam,".xyz");
287 vkxyz=fopen(tnaam,"rb");
288 if(vkxyz==NULL) fiotest=0;
289 fclose(vkxyz);
290
291 // Bepalen van beginwaarden voor actieve tekenvariabelen.
292 kromming=1; afstand=.25; schaal=10; ruimte=0; kl_modus=0;
293
294 // Bepalen van beginwaarden voor actieve filmvariabelen.
295 vkini=fopen("vkfilm.ini","rb");
296 if(vkini==NULL)
297 { begin=.5; eind=1.5; frag=.25;
298 }
299 else
300 { if(fiotest==0) fiotest=2; else fiotest=3;
301 fscanf(vkini,"%f%f%f%d",&begin,&eind,&frag,&kl_modus);
302 }
303 fclose(vkini);
304
305 // Testen of vkfilm.xyz bestaat.
306 vkfilm=fopen("vkfilm.xyz","rb");
307 if(vkfilm==NULL) { if(fiotest==1||fiotest==3) fiotest=1; else fiotest=0; }
308 fclose(vkfilm);
309
310 // Menu -> begin programma-lus.
311 prog=1; do
312 { // Menu op het scherm.
313 _setcursortype(_NOCURSOR);
314 clrscr();
315 printf("Bestandsnaa[m] : %s\n\n",bnaam);
316 printf("[T]ekenen ");
317 if(fiotest==1||fiotest==3) printf("+"); else printf("-");
318 printf(" [R]ekenen\n");
319 printf("[F]ilm ");
320 if(fiotest==2||fiotest==3) printf("+"); else printf("-");
321 printf(" [C]re�ren\n");
322 printf("[w]illekeur [i]nvoeren\n");
323 printf("[d]eel : %d\n",deel);
324 printf("[b]ereik : %f\n",bereik);
325 printf("[s]tap : %f\n",stap);
326 printf("[k]romming : %f\n",kromming);
327 printf("[a]fstand : %f\n",afstand);
328 printf("[r]uimte : ");
329 if(ruimte==0) printf("lineair\n"); else printf("gekromd\n");
330 printf("s[c]haal : %f\n",schaal);
331 printf("k[l]eur : ");
332 if(kl_modus==0) printf("3D grijswaarden\n");
333 if(kl_modus==1) printf("2D krommingssterkte\n");
334 if(kl_modus==2) printf("3D per deeltje\n");
335 printf("b[e]gin : %f\n",begin);
336 printf("ei[n]d : %f\n",eind);
337 printf("[f]ragment : %f\n",frag);
338
339 // Bestandsnaam afdrukken
340
341
342 // Co�rdinaten op het scherm.
343 for(dtel=0;dtel
344 { gotoxy(38,1+dtel);
345 printf("%d : %f %f %f",dtel,xd[dtel],yd[dtel],zd[dtel]);
346 }
347
348 // Keuze voor functie en afhandeling daarvan.
349 toets=getch(); gotoxy(1,19); _setcursortype(_NORMALCURSOR);
350 if(toets==27) prog=0;
351 if(toets==100)
352 { printf("Aantal 1db's ? "); scanf("%d",&deel);
353 if(deel<1) deel=1; if(deel>24) deel=24;
354 if(kl_modus==2) kl_modus=0;
355 }
356 if(toets==98)
357 { printf("Maximale co�rdinaten ? "); scanf("%f",&bereik);
358 if(bereik==0) bereik=10; if(bereik<0) bereik=-bereik;
359 }
360 if(toets==115)
361 { gotoxy(1,19); printf("Resolutie ? "); scanf("%f",&stap);
362 if(stap==0) stap=.25; if(stap<0) stap=-stap;
363 }
364 if(toets==119)
365 { for(dtel=0;dtel
366 { xd[dtel]=((random(32767)*bereik)/32767-bereik/2)*2;
367 yd[dtel]=((random(32767)*bereik)/32767-bereik/2)*2;
368 zd[dtel]=((random(32767)*bereik)/32767-bereik/2)*2;
369 }
370 }
371 if(toets==105) cord_in();
372 if(toets==107)
373 { printf("Zichtbare kromming ? "); scanf("%f",&kromming);
374 if(kromming==0) kromming=1; if(kromming<0) kromming=-kromming;
375 }
376 if(toets==97)
377 { printf("Afstand tot zichtbare kromming ? "); scanf("%f",&afstand);
378 if(afstand==0) afstand=.25; if(afstand<0) afstand=-afstand;
379 }
380 if(toets==114)
381 { if(ruimte==0) ruimte=1; else ruimte=0;
382 }
383 if(toets==99)
384 { printf("Grootte (op 1024x768) ? "); scanf("%f",&schaal);
385 if(schaal==0) schaal=10; if(schaal<0) schaal=-schaal;
386 }
387 if(toets==108)
388 { if(kl_modus==0) kl_modus=1;
389 else
390 { if(kl_modus==1)
391 { if(deel<8) kl_modus=2; else kl_modus=0; }
392 else
393 { if(kl_modus==2) kl_modus=0; }
394 }
395 }
396 if(toets==101)
397 { printf("Beginkromming ? "); scanf("%f",&begin);
398 if(begin<0) begin=-begin;
399 }
400 if(toets==110)
401 { printf("Eindkromming ? "); scanf("%f",&eind);
402 if(eind<0) eind=-eind;
403 }
404 if(toets==102)
405 { printf("Fragmentatie ? "); scanf("%f",&frag);
406 }
407
408 if(toets==109)
409 { printf("Nieuwe bestandsnaam ? "); scanf("%s",&bnaam);
410
411 // Testen of bnaam.ini bestaat.
412 strcpy(tnaam,bnaam); strcat(tnaam,".ini");
413 vkini=fopen(tnaam,"rb");
414 if(vkini==NULL)
415 { fiotest=0;
416 // deel=7; bereik=10; stap=.25;
417 // for(dtel=0;dtel
418 // { xd[dtel]=((random(32767)*bereik)/32767-bereik/2)*2;
419 // yd[dtel]=((random(32767)*bereik)/32767-bereik/2)*2;
420 // zd[dtel]=((random(32767)*bereik)/32767-bereik/2)*2;
421 // }
422 }
423 else
424 { fiotest=1;
425 fscanf(vkini,"%d%f%f",&deel,&bereik,&stap);
426 for(dtel=0;dtel
427 { fscanf(vkini,"%f%f%f",&xd[dtel],&yd[dtel],&zd[dtel]);
428 }
429 }
430 fclose(vkini);
431
432 // Testen of bnaam.xyz bestaat.
433 strcpy(tnaam,bnaam); strcat(tnaam,".xyz");
434 vkxyz=fopen(tnaam,"rb");
435 if(vkxyz==NULL) fiotest=0;
436 fclose(vkxyz);
437 }
438 if(toets==82)
439 { if(fiotest==1||fiotest==3)
440 { printf("Bestand overschrijven (j/n) ? ");
441 toets=getch();
442 if(toets==106)
443 { putchar(13); printf(" ");
444 putchar(13); printf("Rekenen");
445 reken(); toets=32;
446 }
447 }
448 else
449 { putchar(13); printf("Rekenen");
450 reken();
451 }
452 }
453 if(toets==84)
454 { if(fiotest==0||fiotest==2)
455 { printf("Bestand bestaat niet ! "); getch();
456 }
457 else
458 { film=0;
459 kleur_mod();
460 teken();
461 closegraph();
462 }
463 }
464 if(toets==67) // Film cre�ren.
465 { if(fiotest==3) // Test of vkfilm.xyz bestaat.
466 { printf("Bestand overschrijven (j/n) ? ");
467 toets=getch();
468 if(toets==106) fiotest=1;
469 }
470 if(fiotest==1)
471 { // Kijk naar variabelen voor bereik & stap.
472 vkini=fopen("vkveld.ini","rb");
473 fscanf(vkini,"%d%f%f",&deel,&bereik,&stap);
474 for(dtel=0;dtel
475 { fscanf(vkini,"%f%f%f",&xd[dtel],&yd[dtel],&zd[dtel]);
476 }
477 fclose(vkini);
478
479 // Begin beeld-lus.
480 kleur_mod();
481 vkini=fopen("vkfilm.ini","wb");
482 fprintf(vkini,"%f %f %f %d",begin,eind,frag,kl_modus);
483 fclose(vkini);
484 vkfilm=fopen("vkfilm.xyz","wb");
485 film=1; ftel=1;
486 for(kromming=begin;kromming
487 { fprintf(vkfilm,"-%d ",ftel);
488 teken();
489 ftel++;
490 }
491 fprintf(vkfilm,"-1000");
492 fclose(vkfilm);
493 fiotest=3;
494 if(film==0)
495 { fiotest=1;
496 unlink("vkfilm.xyz");
497 }
498 closegraph();
499 }
500 if(fiotest==0||fiotest==2)
501 { printf("Bestand bestaat niet ! "); getch();
502 }
503 toets=32;
504 }
505 if(toets==70)
506 { if(fiotest==3)
507 { vkini=fopen("vkveld.ini","rb");
508 fscanf(vkini,"%d%f%f",&deel,&bereik,&stap);
509 for(dtel=0;dtel
510 { fscanf(vkini,"%f%f%f",&xd[dtel],&yd[dtel],&zd[dtel]);
511 }
512 fclose(vkini);
513 kleur_mod();
514 animatie();
515 closegraph();
516 }
517 if(fiotest==2)
518 { kleur_mod();
519 animatie();
520 closegraph();
521 }
522 if(fiotest<2)
523 { printf("Bestand bestaat niet ! "); getch();
524 }
525 toets=32;
526 }
527 if(toets==63)
528 { for(dtel=1;dtel<15;dtel++)
529 { gotoxy(1,dtel); printf(" ");
530 }
531 clrscr();
532 printf("( 04-96, Nijmegen -> G.J.Smit Geb:08-01-68, Veendam )\n");
533 printf(" De theorie in hoeverre het betrekking heeft op dit programma. Dit pro-\n");
534 printf("gramma geeft een stilstaande foto van een aantal 1db's in een bepaalde ruimte,\n");
535 printf("op een bepaalde afstand van elkaar. Er is geen beweging, alleen hun onderlinge\n");
536 printf("positie. Dit programma berekend een kubus ruimte met een bepaalde grootte met\n");
537 printf("als middelpunt x,y,z-co�rdinaat (0,0,0). De 1db's hebben een bepaalde locatie\n");
538 printf("met elk zijn specifieke co�rdinaten in die kubus. Op het punt waar de 1db zich\n");
539 printf("bevindt is de ruimte oneindig sterk gekromd (de 1db �s de gekromde ruimte!).\n");
540 printf("Op een bepaalde afstand van een 1db is de ruimte de in die mate gekromd als\n");
541 printf("bepaalt door 1/afstand (of waarschijnlijker 1/afstand^2 zoals wij dat waar-\n");
542 printf("nemen bij o.a. de zwaartekracht) (en logisch met een 3-dimensionaal heelal\n");
543 printf("gezien de 'localiteit' van energie (energie=mate van kromming t.o.v. omgeving)?\n");
544 printf("Een 1db is net als alle omliggende ruimte, alleen is in dat punt de ruimte ten\n");
545 printf("opzichte van de omgeving een factor oneindig sterker gekromd. Het is allemaal\n");
546 printf("puur relatief. Want ook al is de omliggende ruimte op een bepaalde afstand\n");
547 printf("bijvoorbeeld de helft van de 1db kromming, dan is die ruimte daar ook oneindig\n");
548 printf("gekromd (0.5*�=�). Er is dus alleen sprake van een relatief sterkere kromming,\n");
549 printf("slechts absoluut, en eindig in verhouding tot andere 1db's. Dat wil zeggen;\n");
550 printf("meetbare parameters zijn onderlinge afstand en onderlinge snelheid. Ze zijn\n");
551 printf("allen oneindig, doch meetbaar eindig in verhouding tot elkaar Met welke\n");
552 printf("snelheid naderen ze elkaar en welke afstand hebben ze tot elkaar? In principe\n");
553 printf("meetbaar, in elk geval berekenbaar. ");
554 getch(); clrscr();
555 printf("Technische opmerkingen:\n\n");
556 printf("Bereik: Kleiner dan .01 en groter dan 100 levert onbetrouwbare resultaten op.\n");
557 printf(" Dit door het maximum bereik van 'float-type' variabelen.\n\n");
558 printf("Schaal: De schaal is alleen re�el in lineaire-ruimte afbeelding. In gekromde-\n");
559 printf(" ruimte afbeelding is de grootte het resultaat van een algoritme dat\n");
560 printf(" bepaalt in hoeverre de kromming van de 1db's de in 3D berekende kubus\n");
561 printf(" van vlakke ruimte vervormd. ");
562
563 getch();
564 }
565 } while (prog>0);
566}
567






(C) 2024 - Gerhard Jan Smit - Twist Apple