DB Universe Arithmeticam


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




      
Internal movement of a quark.
The theory of the dimensional basic is represented by computer algorithms which are mathematical algebra. Two Borland C programs have been written.

The program 'Newton' is a n-body model where simultaneously for the positions of multiple dimensional basics (theoretical infinite curvature) moving through space time interact with each other according to newtonian laws. 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.


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


Show code:
Program Newton Program Einstein
Borland C Program Einstein:

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