TECHNISCHE HOGESCHOOL DELFT
AFDELING DER SCHEEPSBOUW- EN SCHEEPVAARTKUNDE LABORATORIUM VOOR SCHEEPSHYDROMECHANICARapport No. 480
- A. Versluis
juli 1979
-
COMPUTERPROGRA1'1MA VOOR HET BEPEKENEN EN TEKENEN VAN HUIDPLAATUITSLAGEN.Deift University of Technology Sh!p Hydromechanics Laboratory
Mekelweg 2
Delft 2208 Netherlands
INHOUD.
Samenvatting.
Beschrijving kruismaimethode.
2.1. Plaat met tonrondte of iniddenrek.
2.2. Plaat met draai of kantrek.
Beschrijving computerprograituna.
Voorbeeidbodem en zijplaatuit:sìagen van een kni'kspantboot.
Stroomdiagram.
List çomputerprogramma1
L Samenva:tting,.
In 'dit rapport wordt een beschriving gegeven van een nunerieke methode orn een scheeshuidp1aat uit te slaan.
Deze methode Is vrijwel identiek aan. de vanouds en op de kleinere werven nog teeds gebruikte kru'ismalrnèthode.
Alvorens een beschrij.ving van het computérprogranuna te geven, zal erst de zgn.. kruismaimethôde in h kart beschreven worden.
2. Beschrïjving kruismalmethode.
Een kruismal wordt gemaakt van dunne latj es.. De lengten van de laties stemmen overeen met de zgn. ware lengten, wäIe met
be-huip. van de spantenvio.er (spantenraam i 1) gevonden kunnen
wor-den.
F i Tuur ]i Spantenraarn
in fïguur I is een gedeeÏte van het spantenraam getekend met een onder- en boveniand van een huidp:iaat die. bïjvoorbeeid wordt uit-geslagen tussen de spanten 24 en 38. De hulplijn wordt 'ngeveer midden tussen het onder- en het bovenland (langs de spanten
ge-meten) geko:z en.
0m van deze plaat een kruismal te constr.ueren,Ìnoeten 3 lar.ge latten worden gemaakt met daarop afgetekend de ware lengten van spant tot spant van respect ieve1ijk het onderland, het bovenland
-Verder wordt er van elk Spant een latje gemaakt met daarop afge-tekend de ware lengten van onderland tot hulplijn, en van hulp-lijn tot bovenland.
Tenslotte worden er nog van elk kruis 2 latjes gemaakt, waárop de ontwikkelde lengten staan van onderland naar hulplijn, en van hulplijn naar bovenland, dus één latje van spant 34 op het onder-land over Spant 35 op de hulplijn naar spant 36 op het boyen-land, en één latje wat loopt van spant 36 op het onderland over Spant 35 op de hulplijn naar spant 34 op het bovenland.
Bepaling van de ware (ontwikkelde) lengten van de spanten, landen en diagonalen (kruizen).
Spanten:
De spantlengten zijn eenvoudig te bepalen door de lengten langs de spanten op de spantenvloer te meten.
Landen en hulplijn:
Leg een lat op de spantenvloer langs de snijpunten van de spanten 24 t/m38 met het bovenland, en teken deze spanten op de lat af. Vervolgens wordt deze lat (inaatlat a) gebruikt orn op onderling evenwijdige lijnen (op spantafstand) de aangetekende punten uit
te zetten.
3-¿P tjad
2:4 2t 2 3Z
3'
3gFiguur 2 Ontwikkelde landlengte
De lengtelat voor het bovenland vinden we nu door een lat langs bovengetekende kromine te leggen, en de spanten daarop af te
tekenen.
Op dezelfde manier vinden we ook de lengtelatten voor het onder-land en de hulplijn.
H..
'le 'Diagonalen: 4. o, loot,''1f
34 Fi.g.uur 3 Kruismal./
Ontwikke Ide diagorí'a'aliengte
Kruismal
Leg. een lat door de punten
A, 'B en C op de spantenv'loer, en teken: dezé punten a'f öp d'e
lat.
VervoIgens dezé 'punten uitzetten
op de evenwijidige lijnen met
b'ij-béhorende spantafstanden (ie ¿;
nevenstaande f iguur) , wàt de
ont-wikkelde lengtelat van de, diago fla'al ooievêrt..
Op deze wïj'ze Worden aiLle
lengte-latten van de kruizen gemaakt.
Met behuip van aI deze latjes kan' een kruismal in elkaar worden gezet, door de latjes van de soanteñ, de' landen,, en de diagonalen die eikaar 'kruisen, volgens. onderstaande manier op eikaar te
spijkéren.
YAYA!!
Árar
5
Alleen bij een ontwikkelbare plaat,, dat wil zeggen' een plaat zonder tonrondte of kantrek is het mogeÏijk om alle lengte-latjes op de kruispunten op elkaar te spijkeren.
2.1. P laat met tonrcndte of middenrek.
Fi guur 5 Gedeélte spanten-raarn t.p..v. een:
plaat met tonrondte
Een plaat met tonrondte is een plaat die zowel in de lengte als in de breedte in de'zeifda richting is gebogen, bijvoor-beeld een plaat in de kim die
de grootspantvorm ver laat..
Een plaa.t met tonrondte heeft middenrek.
Door het 'kioppen of drukken van de plaat in 'het midden wørdtdeze lets dunner, de plaat rekt daar dus, zodat de 1engtea)3
nu langer wodt dan de lengte cd, dit is middenrek.
/
I
'' \ ' ', I /" /
\ 'I II II ( I I i II J I k \ ','
' J ,, I. J,Volgens de stippellijnen de pläat hameren of drukken, altijd. rond weg, en van h&tstu'ik na'ar hetmidden voigens pijI 1, dan voigens.
piji 2..
Bij d'eae platen mag daajom
bij
bet maken van de kruismal de. lengtelat van d huiplijn niet worden aangehouden.De rek öp de hulpiïjn wordt gevonden door het versdhii te meten tussen de ontwikkelde iengtel' van de hu]pijn en de gevonden lengte va de huipiijn vanaf de ktuïsmai.
Deze rekmaten-worden doorgegeven aan de drukker, die tijdens het drukken de rek kan controleren bij van te voren ingeslagen
centerponsen.
2.2. Plaat met.:draai of kantrek.
-6
De diagonalen zijn tgengesteid
gekrornd.
Figuur -Gedeéite spantenraam t..v.. een piaa:t met kantrek,
Deze platen komen meestal voor aan de' emden van het schip. De spantrichtingen zijn vrij sterk uiteenlopend, hierdöor
verschilien de lengtelatten van respec.tievelijk het onderiand en het boveniand aanzienhijk.
-7-Nu wor.dt de ::zijde cd door kbppen of drukken. gerekt.
cd wordt dus langer dan ab, de.iplaat golf t voigens cd.
We kunnen ook de zijde ef gaan rekken, hierdoor ontstaàt ér draai op de plaat.
/V' V\,' Vt
"V
V V\i Vt,'t,' :''
' y \' VtJ V\./ V \'A A A A A A A A A A
! A/\t'.A :1
Ais we de pia'at spievormig rekken aan beide zijden, ontstaat zo ongeveer de voigende vorm.
Bij het maken van de kruismal voor een draaiplaat met kantrek is het duidelijk dat de beide iengteiatten van het boyen- en
onder-land niet mogen worden aangehòuden.
Op de mal zal men zieh dat deze lengteiatten te lang zijn.
Derek op de landen wordt gevoñden door het verschii te meten tussen de ontwikkeide lengtelat en dgevondenlençte van het betreffende
land vanaf de kruisial.
3. Beschrijviflg computerprograflurta.
Procedure "coef" berekent de coëfficienten van een parabool, wélke geiegd wordt door 3 opgegeven punten, waarna met behuip van procedure "lengte", dé ontwikkeÏde lengte wordt berekend.
Berekenlng ontwikkelde lengte vän een lijn, die bepaaid wordt
door 3 punten (A, B en C):,.
A
Para'booi door A, B en Q : Y = p1x + p2x2
waari!n:
en
Ass entransformatie:
leg de oorsprong van het asseñkru-is in A
C-2:a Vérdraai bet assenkruis met een hoek a, zodat AC gelijk valt met
de X-as. X = X1cosa + Y1sinct Y = Y1cosa - X1sina i - P2.XB xi =
X
-Y' =-De ontwikkélde lengte van A tot B' is nu.:
XB =Vi + y2'dx
XA of:(X3
iAB= j
Uitvoerparameters: XAf
XB = 2Vi
+(p1
+2p2x)2 d(p1
+2p2x)
=j
[½1
+ 2p2x)«?.f
i
.rl (p1 + 2p2x 23 2 Xp +½ in {(1 + 2p2x)
+ (i +(p1 +
2px)'2)½3]
XA = Odus:
1AB =.L {½(1
+2p2XB).V1
+ (p1 +2p2.x)21
+in { (p1
+2p2.XB)
+Vi
+(p1
+2p2.KB)2
3]
"Procedure" driéhoék
(a,b,c,XA,YA,XB ,YB,.Xc,Yc,pi)
2p2xY
dx
Invoerparameters:
a,'b en c
d'e zijden van
A ABCXA, A
de X en Y coördinaten van punt A.
KB' B
de X
en Y coördinaten vanpunt B
pl
=i als C links van AB ugt
pl
= 2als C rechts van AB ugt
'y
A1,-x
-
A' (XB T Ais. < .0 dan = + ffp
(b2 +
c.2 - a2)I
:2 bcXe,, Y, de X en Y coördinaten van punt
c.
arctan :(
Vi
Ais p < 0 dan = 11
-
absAis pl dari* = +
Ais pl =2 dan
= -Xc = b.cos + X b.. sin +Met behuip van de procedures coef. en iengte worden de òntwikkeid'e iengten van de spanten. de landen, de huIplij'n en de d'iagonaiéi
berekend.
De kruismal wordt nu ais voigt geconstrueerd:
D, t5 £ -
io
-y
H,X
.1OoVgi. : -A3 C3 D3 F3Beg.in met driehoek A1A3B2 A1 = (0,0)
A3 = (0,b2)
b2 is de liengte van A1A3
Met behuip van procedure drïehoek zijn nu . de coördina:ten van B2 te bepalen.
Vervolgens worden de. coördinaten van de punten B1 en B3 bepaaid met respectieveÏij!k de driehôeken A1B2B1 en A3B2B3, daarna met behuip van driehôek B1B3C2 de cordinaten van , en met behuip
van de driehbeken B1C2C1 en B.3C2C3 de c&5rdinaten van C1, resp.
C3 .
Als we zo doorgaan zijn we bezig met het zogenaarnd uitsperen van de olaat. Het verschii tussen de (nauwkeúrige) kruismal methode ei de uitspeérmethde is dat de diagonalen en de landen bij de kruismal gebogen kunnen zijn1 terwiji deze bij de
uit-speeimethode aangenornen worden ais rechte iijnen met d'ezeifde ontwikkeïde lengten, dit kan bij sterk gekrornde diagonalen lei-den tot een onnauwkeurigheid van de plaatuitsiag.
Bij de computerberekening is hiervoor een correctie ingebouwd. Neem bìjvoorbeeid de diagonaal A1B2C3. Na eerst voigens de
boyer-e.oeñdè naniehet :geäeelte van de plaat tot spant 26 uitge-siagen te hebben, worden de lengten van de diagonaal-gedeeiten A1B2 en B.2C3 berekend met behuip van de procedures còef en lengte,
door een para:booi te leggen door A, B.2 en C3.
De correctiefactor C is dan de rechte lengte van A1B gedeeld door de ontwikkelde lengte van A1B2. De nieuwe lengte van diagonaal A1B2 vinden we door de oude lengte van te vermenigvuidigen met de correctiefactor C.
Op dezeïfde manier wordt de lengte van A3B2 gecorrigeerd, als ook de landiengten.
Met dezê g.eáorrigee.rde lengten wordt opnìeuw gestart met het construeren van de kruismal. Is de hele plaat uitgeslagen, d.n
worden de iliengten van A2B2, B2C2 , enz-- ber.ekend, en vergeleken
met de ontwikkeIde lengte mateP van de hulplijn.
Het verschil in lengte van de lijnen geeft demiddenrek in dc plaat aan.
4. 3 0 6 9 9 KJ1K Zijplaat 3 14 15 16 7 iO 9 20 -Bodemplàat
-Voorbeeld bodera en zijplaatuitslagen van.. eeri knikspantbòot.
HOOP O 9F 9E T I NOEN
LIJNENFLRN 5CHRL 1:20
LENOTE IONTW.090.O-201 15.00 M OHEEOTE L080 M
13 -I N PU T: PLAAT NR. i
(Bodemplaat):
X Y SPANT NR. .000 .000 4.000. .274 .548 +1.175 SPAÑT NR. i .750 .000 +.'OOO .291 +.,625 .583 +1.251' SPANT NR. 2 1 .500 .000, .309 +41000 +.662 .6.18 +1.325 SPANT NR. 3 2.250 .000 +.000 .326 4.699 .652 . +1.398 SPANT NR. 4 3.000 .000. ,+.000 .342 +,.734 .685 #1. .469 SPANT NR. 5 3.750 .000 +41000 .358:' +..768 ..71 6 +1.536 SPANT NR. 6 4.500 .000 +.000 .373. +41799 .746 +1.599 SPANT NR. 5.250 .090 4.000 .386 +. 828 .776 +1. . 6.57 SPANT NR. 6.000 .000 .+.00'O .400 4.855 .806 +'l.. 709 SPANT NR. 6.750. .000 4.000 .410 +. 876 .837 +1.753 SPANT NR. 10 7.5 00 .000 +41000' .420 + 895 .870 +1.789SPANT NR.11
8.250 .000 4.000 .440 +.936 .904 +1.818 ' .000SPANT NR12
9.000.40
.940 +1.83.5- 14 SPANT NR. 13 9.750 .000 .4,53 + .933 .979 +1.832 SPANT NR. 14 10 500 .000 +.000
.465
1.925
1.020 +1.800 SPANT NR. 1511.250
.000
+.000
.480 + 8951.064
+1. 729SPANT NR. 16
12.000
..000 . +..000.505
1.1l1
+1.606
SPANT NR. 11 12 .750.008
.553
+.000,
+,732
1 16.3+1.412
SPANT NR. 18 13a 500.114
.653
+.000,
+.575
1.220
+1. 122 SPANT NR. 1913.950
.289 +.000.765.
+,450
1.259
SPANJ' NR.20.
14.250
.482
+. 000 .881+.345
1.. 283+.685
SPANT NR. 21 14.4.75.685
+.000
.994
+.250
.1.:302+.505
PANT NR. 2214.65.0:
.880 O CO 1.098 f. 1751.317
+..350 SPANT NR. 2314.800
1.076
+.000
1.2 06 +. 1021.331
+..207 SPANT NR. 2414.900
.1 214 +.00,01.271
+. 0.541.340
+. LoaPLAAT NR. 2
(Zij.plaat)
X z ySPANT NR. :2
.PANt NR.
.3 SPANT NR. 4 SPAÑT NR. SPANT NR SPANT NR. 7PANT
NR. SPANT NR. SPANT NR. '.10 SPANT NR. 11SPANT NR. 12
SPANT NR. 0.000
.548
1.180
1.812
SPANT NR. 1.750
.583
1.205
1.827
1.500
2.250
3.000
3.750
4.500
5.250
6.000
6.750
7.500
8.250
15
-.618
1.232
1.845
.652
1.259
1.866
.685
1.287
.1.889.716
1 316
1.9 16.746
1.. 3461.946
.776
1.378
1.979
.806
1.411
2.015
.837
1.445
2.052
.870
1.481
2.091
.904
1.518
2.131
SPANT NR. 13 - - 9.-750 .9.79+1.832
1.597
+2.037
2.214
+2. 2419.000
.940
+1.835
1.556
-+2.033
2.172
+2.230
+1.175
+1.358
+1.540
+1.251
+1.431
+1 6.10+1.325
+1.502
+1.679
+1.398
+1. 5 7.3+1.748
+ 1.469 + 1.642+1.815
+1.536
sj.709
881+1.599
+ 1.. 772+1.945
+1.657
-*1.832
+2 007
+ I 709
+1.887
065+1.753
+1.934
+2..1 15+1.789
+1.975
+2. 160+1.818
+2.009
+2.200
SPANT NR.22
SPANT NR. 23
SPANT NR. 24
15.000
15 .37515.750
16
-10.500
1.020
+..800
1.638
+2.014
2.256
+2.228
11 250
1.064
+1..729 .1.682 +1.96.12.300
+2.185
12 .0001.111
+1.606
1.729
+1.857
2.346
'2.100
12.750
1.163
+1.412
1.779
+1.690
2.394
+1.956
13.400
.1.213
+1.165
1.823
+1.463
2.439
+1.761
13 875
.1.250+.929
1.855
+1.252
2.470
+1.570
14. 2501.283
+.685
1.885
+1.038
2.494
+1.378
14.625
1.318
+.375
1,910-
.+.770
2.520,+1.141
1.350
..1.938
+.44ß
2.545
+'.862L'386
-.424
1.970
+.068
2.575
+.526
1.420
-.895
1.998
-.367
2.601
SPAN.T NR. 14SPANT NR. 15
SPANT NR., 16 SPANT NR. 17$PAÑT NR.
1.8 SPANT NR. 19SPANT NR. 20
SPANT NR. 21.
Output
PLAAT NR.i
(Bodemplaat)
X Y X Y PEK X Y SPANT O O -648 10 -0+Q
20 +648 SPANT i 750 -660 760 +30 f.0 171 -*720 SPANT 2 1500 -671 1511 +60 -.0 1522 +791SPANT 3 2250 -682 2261 +89 +.O 2273 +E60
SPANT 4 3000 -694 3012 +116 -.0 3024 +927 SPANT .5 3750 -705 3Th2 +142 -.0 3715 +989 SPANT o 4499 -717 4513 +165 -.0 4526 SPANT 7 5249 -728 5263 +185 -.0 5277 SPANT 8 5999 -740 6014 +204 -.0 6028 +1150 SPANT 9 6749 -751 6764 +216 -.0 6719 +1191 SPANT 10 7499 -762 7514 +226 -.1 7530 +1227 SPANT 11 8249 -774 8265 +260 -.1 8280 +1257 SPANT 12 8999 -785 9015 +249 +.4 9031 +1278 SPANT 13 9749 -796 9765 +241 -.5 9782 +1283 SPANT 14 10499 -808 10515 +228 -.1 10534 +1265 SPANT 15 11249 -818 11266 +198
+2
11287 +1216 SPANT 161199
-829 12017 +150 . +1,2 12043 +1129 SPANT 17 12749 -837 12771 +76+8
12807 +989 SPANT 18 13505 -792 13539 -5 -1.2 13586 +782 SPANT 19 13978 -693 14019 -39 -.3 14070 +615 SPANT 20 14314 -5731358
-48 -.8 14402 +477 SPANT 21 14588 -442 14628 -47 . ' .7 14662 +352 SPANT 22 14817 -316 14851 -38 +1,3 14869 +242 SPANT 23 15026 -184 15048 -21 +.0 15052 +143 SPANT 24 15173 -98 15178 -0 +..O 15179 *83o
o
PLAAT NR. 2(Zijplaat)
Y X Y REK X V SPM'T O O -658 O -O -.0 1 +658 SPANT I 753 -603 752 +45 +.O 752+692
SPANT 2 1505 . -548 1505 +1. -.0 1504 +729 SPANT 3 2258 -494 2257 +137 +.O 2257 +76g SPANT 's 3010 -443 3OO +184 -.0 3009 +810 SPANT 5 3762 -394 3761 +231 +..0 3761 +855 SPANT 6 4514 -347 451.3 +278 -.0 4513 SPANT 7 5265 -301 5265 +326-.0
5264 SPANT 8 6016 -257 6016 +313-.0
6016 +1CO3 SPANT 9 6767 -215 6767 +419 -.0 6767 +1053 SPANT 10 ' 7517 -173 7517 +466 -.0 7517 +1103 SPANT 11. 8268 -132 8268 +511 -.0 8268 +115.3 SPANT 12 9018 -93 9018 +55.5-0
9018 +1201 SPANT 13 9768 -57 9768 +595 -.0 768 +1244 SPANT 14 10519 -28 10519 +626 -.1 10518 +1280 SPANT 15 11273-10
11272 +651 +.0 11270 +1308 SPANT 1,6 12035 -1 12030 +660 +1.7 12026 +1323 SPANT ii 12811 '-25 12799 . +651 -.1 12192 +1321 SPANT 18 13507 -68 13488 +610 . -.5 13472 +1294 SPANT 19 14036 -124 14007 +561 -1.0 1:3983 +1253 SPANT 20 14480 -192 14437 +504 -.1 14402 +1201 SPANT 21 14958 -291 14891 +418 +.1 14840 +1130 SPANT 22 15472 -425 15373 +307 +.3 15300 +1039 SPANT 231011
-583 15890 +170 +.0 15791 +923 SPANT 24 16591 -769 16439 -0 +.0 16311 +7765. Stroomdiagram. egi Iread ri
fipi
i.(i)
npl read nsp bereken ontwikkelde iengte van spant (1,1)en spant (1,2)
i'= 0(1.) nsp
-bereken ontwikkeide lengte van: kruis (i,3)
kruis (ï+1,:2) kruis (i+l,1). en kruis (1,4:)
npl = aantai te berekenen platen
ipi 1= rángnumlner te berekenen platen
n:sp aantal spanten
-X(i) X-coördinaat van spaiit ii
(gerneten uit ALLof b.v.
grootspant)
Z (i, j) = Z-cordiiaat van het
j -de punt van spant i
(hoogte uit de basis)
Y (ï, ) = Y-coördinaat van hat
j-de punt van spant i
(½ breedte)
= 0(1) nsp i 0(1) nsp
read spantnr. (i)., X(i)
= 1(1) 3
read. Z'(i,j) Y(i,j)
II
i = 1,2,3
ri
= 0(1) nsp - i bereken:'land XX(0,1) YY(0,1) XX(0,2):= O YY(0,2) Spant (0,1) b (0) YY(0,3) o 20 -XX(0,3): OYY(O,3):= Spant (0,1) + Spant (0,2)
(D
nee De procedures tilandlengtell "kruisléngte" en bepalen respec-Kruis lengtetievelijk de nieuwe, met een landlengte (1,1)
correctiefactor (c) gecorri-landlengte (i,3)
geerde ontwikkelde lengten van respectievelijk de diagonalen en de landen.
driehoek (kruis(i,4) , kruis (i,3) , ab(i) , XX(i,1) , YY(i,i)
XX(i,3), YY(i,3), XX(i+1,2), YY(i+1,2),2)
©
driehoek (Spant (1+1,1), land (i,1) , kruis(i,3) , XX(i,1)YY(i,1), XX(i+1,2), YY(i+1,2), XX(i+1,1), YY(i+1,1),2) (
driehoek (spant (i+1,2), land(i,3), kruis(i,4), XX(i,3),
ab(i+i).:Iâqrt((XX(i+1,3) - XX(.ï±l,IHZ+ '(YY(i±i,3) - YY(i+l,i))) ja j+i 1L:= ns
<
Iflsp -L nsp -2 ] -Kruisiengte Landiengte (i, i) Landiengte (i, 3) needriehoek (kruis (i, i), land i), spant(i, 1) XX(i
xX(i,2), YY(ií,2), XX(n,i), YY(n,i),2)
driehoe1 (iand(ï,3'),kruis(i,2), spant'(i,2), XX(i,2 XX(i, 3F) , YYÇi,3), XX(n,3), YY(n,3)', 2)
Cörrec ti e on twik'ke ide lengten
van diagonalen en landen met behtilp van correctiefactor c
j jÇ) i
s
driehoek (kruis(i,4) , kruis(i,3) , ab(i) , XX(i,1) , YY(i,1)
XX(i,3), YY(i,3), XX(i+1,2), YY(i+1,2),2)
driehoek (spant (i+1,1) , land(i,1) , kruis (i,3) , XX(i,1) , YY(i,1
XX(i+1,2), YY(i+1,2), XX(i+1,1), YY(i+1,1),2)
driehoek (spant(i+1,2) , land(i,3) , kruis(i,4) , XX(i,3) , YY(i,3) XX(i+1,2) , YY(i+1,2) , XX(i+1,3) , YY(i+1,3) , 1)
drierìoek (kruis(i,1), land(i,1), Spant (i,1), XX(i,1), YY(i,1), XX(i,2), YY(i,2), XX(n,1), YY(n,1), 2)
driehoek (land(i,3) , kruis(i,2), spant(i,2) , XX(i,2) , YY(i,2)
XX(i,3), YY(i,3), XX(n,3), YY(n,3), 2)
driehoek (spant(n,1), land(i,2), kruis(i,1), XX(i,2); YY(i,2)
XX(n,1), YY(n,1), XX(n,2), YY(n,2), 1)
driehoek (spant(n,2), land(i,2), kruis(i,2), XX(i,2), YY(i,2), XX(n,3), YY(n,3), XX(n,2), YY(n,2), 2)
I i = 0(1) nsp -
il
lmland(i) sqrt ((XX(i+1,2) - XX(i,2)) + (YY(i+1,2) - YY(i,2)fJ
rek (i) land (1,2) - lmland(i)
JOUTPUT
22
-r'.
ji nsp -
il
23
-6.
List computerprogramma.
FAST ALGOL COMPILER OF OELFT,RELEÀSE OF 1/ 2/117
COMPILER VERSION :BATCH
OPTIONS IN EFFECT:SIZÈ(K8YTES)= 154,IDL= 6,SEG=SEGM,
EBCOIC(EB),NOIDLST,LOAOÌL),LONG(LP),OPTO,NCIPAG, SE, SOURCE ( S) , NST ,S WAPO ,TEST(T) , NODUMP
0 "BEGIN'
I ' 'COMMENT' PROGRAMMA VOJR HEI MAKEN VAN EEN HUIOPLAATUITSLAG;
1 'REAL' P1,P2,XL,X2,YI,Y2,LHULPLYN,DL,XXB,XXC,SCHAAL,SC,
2 HOOL,H002,HO03,H005,BET,XU1,XtJ2,Xtj3,FACT,YYO2;
2 'BOOLEAN' PLAATPLOT;
3 'INTEGER' NSP,I,J,R,IPL,NPL,PIAATNR,N,,K; 4 'REAL' 'PROCEDURE' TAN(ALFA);
5 'REAt' ALFA; 6 TAN:=SIN(ALFAJ/CGS(ALFA); 7 'PROCEDURE' COEF(XA,YA,xß,yB,XC,yC,p1,p2,xX8,XxC); 8 'VALUE'XA,VA,XB,yß,XC,YC;'REAL'xA,YA,.XB,yB,XC,YC,pl,p2,xxB,xxC; 10 'BEGIN" 11 'REAL' AIFA,YYB,X&l,X81,XCI,YAI,YB1,YCI;
12 , 'IF' ABS(YC-YA) > (XC-XA) 'THEN'
1.3 ' 'BEGIN' 14 XAI:=XA;XB1:=XB;XCU=XC; 17 YA1:=YA;VB1:=YB;YCI:=VC; 20 XA:=YA1;XB:=YBI;XC:=YCI; 23 YA.=XA1;Y8.=X81,YC.=XCI, 26 'END';. 27 XL3:=X8-XA; 28 XC:=XC-XA; . 29 YB:=Yb-YA; . .30 . YC:=YC-YA;
31 'IF' ABS(XC) < -4 'THEN'
32 . 'BEGIN' 33 P2:=P1:=O; 34 . XXB:=XXC:=0; 35 . .
'GOb' IA;
36 'ENO'; 31 ALFA:=ARCTAN(YC/XCi; 38 . XXB:=XB*COS(ALFAI+Y8*SIN(ALFA); 39 . YYB:=Y8*COS(AIFA)-X8*SIN(ALFA); 40 XXC:=xC*COS(ALFA.)+YC*SIN(ALFA3; 41 'IF' XXB < '-4 'THEN' 'BEGIN'43 Pl:=0;
44 P2:=0;
45 'GCTO' LA;
46 'END';
47 'IF' ABS(XXC-XXB) < '-4 'THEN.' 'BEGIN'
PL:=YYB/XXB; 50 . P2:=0; 51. 'GOTa" LA;' 52 . 'END'; 53 P2:=YYB/LXXB*XXB-XXB*XXC); 54 P1:=YYB/XXB-P2*XX8; 55 LA: . 55 'END'COEF; 57 'REAL''PROCEDURE'L.ENGIE(pI,p2, A, B); PAGE J.
24
-FAST ALGOL COMPILER CF DELFT,RELEASE OF 1/ 2/171 PAGE 2
58 'REAL.'P1,P2, A, 8;
59 'BEGIN''REAL'L;
61 'IF' ABSIP2) < .0000001 'THEN'
62 'BEGiN' 63 L:=B-A;'GOTO' LLL; os 'ENO'; 66 L:=(.5*(P1+2*P2*8)*SQRTU+tP1+2*P2*B)*p1+2*p2*afl+..5*LN((p12* P2*B)+SQRT(l+(Pi,2*P2*B)*(P1+2*P2*B)))1/(2*P2) 67 L:=L-(.5*(P1+2*P.2*A)*SQRTti+(P1+2P2*A)*(p1+2*p2*A.) )+.5*IN((p1+ 68 .2*P2*A)+SQRT(1+('P1+2$P2A)*(P1+2*P2*A))fl/(2*p2); .68 ILl: 68 LENGTE:=ABS(L); 70 'END' LENGTE; 11 'PROCEOURE'DRIEHOEKIA,13,C,XA,VA,X13,yB,XC,YC,pL); 72 'REAL'.A,B,C,XA,YA,XB,Yß,XC,YC; 73 'INTEGER'PL; 74 'BEGIÑ''REAL'PHIL,PHI2,PHJ3,,P,PI; 76 PI:=3.14159;
77 'IF' ABS(XB-XA) < .0000001 'THEN'
78 'BEGIN''IF' Y8>Y.A 'THEN' PHIL:=P112 'ELSE' PHIL:=-PI/2;
83 'END''EISE'
85 PH1L:=ARCTAN( (YB-YAÏ/(XB--XA).);
86 'IF' PHIl < O £ VB ) YA 'THEN' PHI1:=PHII+PI;
88 'IF' PHIl >.0 £ Yb < YA 'THEN' PHI1:=PHI.1+PI;
90 . P:=(B*B+C*C-A*A)/i2*B*C;
91 PHI2:=ARCTAN(SQRT(1-p*P3/pl;
92 ' '1F' P<0'THEN' PH12:=PI-ABS(PHI2);
94 'IF' PL=1'THEN' PHI3:=PHI1PHI2;.
96 '1F' PL=2 'THEN' PHI3:=PHIl-PHI2; 98 XC:=B*COS(PH13).xA; 99 YC:=B*SINIPHI3)+YA; 100 'END'DRI:EHOEK,; LOI SETTING(1,1.32,60); 102 . SETT.ING(2,132,601. 103 ININTEGER(0,NPL); 104 INREAL(0,FACT); 105 INBOOLEAN(0,PLAATPLOT);
106 'IF' PIAATPLOT 'THEN'
107 'BEGIN' 108 INRE.AL(0,SCHAAI); 109 PLOTS(1,NPL*100); 110' '- PLOT(2.00,5.000,-3); ill SC:=100/SCHAAL; 112 FACTOR(SC/2.541; .113 'END' 114 OU1STRiNG(2,'('INPUT:')')SySACT(2,l4,3);
116 'FOR' IPL:=1 'STEP' I 'UNTIL' NPI 'DO'
111 'BEGIN' 118 INJNTEGER(0,PLAATNR); 119 OUTSTR1NG(2,'('pLAA1 NR.')');AFIX(2,'2,0,PIAATNR); 121 SYSACT(2,14,2); 122 OUTSTRING(2,'(' . X Z Y'.)'); 12.3 SVSACT(2,14,2); 124 ININTEGER(0,NSP); 125 NSP:=NSP-1;
25
-FAST ALGOL COMPiLER OF DELFT,RELEASE OF 1/ 2/1917 PAGE 3
126 'BEGIN' 127 'ARRAVX(/O:NSP/),Y,Z(/O:NSP,1:3/),SPANT (/O:NSP,L:2/), 1.28 KRUIS,KRUISW(/O:NSP,1:4/),AB, 128 LMLAND,REK(/O:NSP/),KRUISC(/1:4/),LANDC(/1:3/),IANOW, 128 LAND,WLAND,LANE)1,LANDR(/0:NSP, 1:3/),XX,Yy(/O:NSP, 1:3/); 128 'INTEGER''ARRAY' SP#NTNR(/O:NSP/); 129 SPROCEDURE' KRIJISLENGTE; 13OE 'BEGIN' 131 COEF(XX(/I-1,1/),YY'(./I-1,j/J,xx(/I,2/),YY(/I,2/),xx(/j+1,3/), 132 YY(/(41,3/) ,P1,P2,XXB,XXC); .132 KRUISC(/3/):=KRUISw(/1-1,3/)/LENGTE(pl,p2,0,xxß); 133 KRUISC(/2/1:=KRUISW(/I ,2/)/LENGTE(Pl,P2,XxB,xxC); 134 COEF(XX(/I-1,3/),YY(/I-1,3/),XX(/I,2/),yy(/i,2/),xx(/I+I,1f), 135 . YYI/I+L,1/),P1,P2,XxB,XxC); 135 KRUISC(/4/):=KRUISW(/1-1,4/j/LENGTE(p1,p2,o,xxa); 136 KRUISCt/1/):=KRUISW(/I ,l/)/LENGTE(P1,P2,XXB,XXC);
137 KRUI S(tL-1,3/):=KRUISC(/3/)*KRUIS (II-1,31).;
138 KRUIS(/I ,2/):=KRUISC(/21)*KRUJS (/1 2/);
139 KRUIS(/1-1,4/) :=KRUISC(/4/)*KRUIS (/1-1,4/);
14O KRUIS(/I ,1/):=KRUISC(Ì1/).*KRUIS (/1 1/1;
141 'END'. KRUISLENGTE; 142 'PROCEDURE' IANDLENGTE(I,J);'INTEGER' 1,J; 144 'BEGIN' 145 COEFIXX(/I-1,J/),YY(/I-.1,.J/I,Xx(/I,J/),yy(/I,J/i, 146 .XXI/I+I,J/),YY(/I+1,J/),P1,P2,XXB,XXC); 146 LANDC(/J/):=LAN0W(/I,J/)/LENGTE(P1,P2,xxB,xxc); 147 L,AND(/1,J/):=LANDC(/J/)*LAND (/i,J/); 148 'END' LANDLENGTE;
149 'FOR' I:=0 'STEP' 1 'UNTIl' NSP 'DO'
150 'BEGIN' 151 ININTEGER(0,SPANTNR(/I/)); 152 SYSACT(2,14,1i; 153 OUTSTRLNG(2,'('SPANTNR..')');AFIx(2,2,O,SP4NTNR(/J/)); 155 BLANK(2,5); 156 .INREAI(O,X(/j/)); 157 . AFIX(2,2,3,X1/J/));eIANK(2,3); 159 'FOR' J:=1.,2,3 'DO' 160 'BEGIN' 161 INREAI(0,Zi/I,J/)j; 162 INREAL(0,Y(/I,JIfl; 163 AFIX(2,2,3,Z(/I,J/fl; 164 FIXi2,2,3,Y(/I,J/));.SYsACT(2,14,j); BLANK(2,31); 167 'END'; 168 'END'; 169 'FOR'I:=O'STEP'i'UNTIL'NSP'Da' 170 'BEGIN' 171 COEF(Z(/I,1/),Y(/I,1/),Z(/I,2/),y(/I,2/),Z(/I,3/),y(/I,3/),pl., 172 P2,XXB,XXC);
12
SPANTI/L,1/):=LENGÌE(Pj,P2,0,XXB); 173 SPANTL/1,2/):=LENGTE(P1,p2,x)ß,xXC); 174 'END'; 175 'FOR'I:=O'STEP'1'UNTIL'NSp-2'oo' '176 'BEGIN' 117 178 Y(/1+2,3/),p1,P2,XXß,XXC);26
-FAST ALGOL COMPILER OF DELFT,RELEASE 0E 1/ 2/1977 PAGE 4
178 KRUISW(/I,3/):=LENGIE(P1,P2,O,XXB); 119 KRUISW(/I+1,2/):=LENGTE(P1,P2,XXB,xxc); 180 COEF(Z()j+2,1/.,V(/j+2,l/),Z(/I+1,2/J,y(/i+l,2/),z(/f,3/), 181 Y(/1,3/),PI,P2,XXB,XXC ; 181 KRUISW(/I+1,1/):=LENGTE(P1,P2,O,xxB); 182 KRUISW(/i,4/):=LENGTE(P1,P2,Xx8,xxC); 18.3 COEF(X(/I/),O,X( /I+1/),KRUISW(/I,3/),X(jI+.2/),KRULSW(/I,3/)+ 184 KRUISW(/I+1,2/) ,P1,P2,XXB,XXCJ; 184 KRUISW(iI,3/):=LENGTE(P1,p2,O,xxß); 185 KRUISW(/I'1,2/):=LENGTE(Pj,P2,xxB,xxC); 186 COEF(X(/1/),KRUISW1/I,4/)+I<RUj5W(/II,1/),X(/ji-[/, 187 KRUISW(/I+1,1/),.X(/I+2/),O,P1,P2,XXB,XXCJ; 187 r KRUISW(/I,4/):=LÉNGTE(p1,p2,O,xxß); 188
KRUISW(/I+1,1/j:=LENGTE(Pi,p2,xxB,xxC);
189 KRUIS(/i,3/):=KRUISW(/[,3/); 190 KRUIS(/I+1,2/):=KRUISW(/I+1,2/); 191 KRUIS(ÏI+1,1/):=KRUISw(/I+1,1/.); 192KRUIS(/I,4/):=KRU[Sw(/I,41);
193 'END1; 194'FOR'I.:=0'STEP'I'UNT1L'NSp-2'oa'
195'FQR'J:=1,2,3'DO'
196'BEGIN'
197
COEF(Z1/i,J/),Y(/j ,J/3,Z(/I+1,J/) ,Y(/I+1,J/),Z(/:1+2,J/),y(/4+2,J/),
198
P1,P2,XXB,XxÇ);
198'1F' I=O 'TIEN'
199LANOR(/1,J/):=LENGTE(PI,p2,O,XXB);
L 200LANDRL/I+j,J/):=LENGTE(P1,p2,xxB,xxc);
201'END';
202'FOR'J:=i,2,3'DO'
203'FOR'i:=O'STEP'1'UNTIL'Nsp'o.
204 'BEGIN' 205COEF(X(/1/J,O,X(/1+1/),[ANDR(/1,J/),X(/I+2/),LANDR/I,J/)f
206 ' LANDR(/.I+1,,J/1,P1,P2,xXB,xxC.j; 206'IF' I0 'THEN'
207'BEGIN'
208 1NCWE/I,J/):=LENGTE(P1,P2,Q,xxß); 209LANO(/.I,J/):=LANDW(/J,J/);
210 'END:',; '21
'LANDW(/I+1,J/):=LENGTEIPI,p2,xxß,XXC);
212LAND(/I+l,J/):=LANDW(/J.i,J/J;
213'END';.
214 215 217 218 YY(/03/):=SpANr(/0,1/)+spAfrr(/o,2/); 219 AB(/0IJ:=YYI/0,3/); 220 221 LAU: 221ORIEHOEK(KRUiS(/I,4/),KRUIS(/1,3/),A3I/I/),XX(,j,1fl,yy(,j,1,),
223XX(/.t,3/),YY(/I,3/),XX(/I+1,2/),yy(/I+j,2/),2);
223 ORIEHOEK(SPANT(/I+i,1/,),LANO(/.I,1/1,KRUIS(/1,3/),224 XX(/I,1/),YY(/I ,1/),XX(/I+1,2/) ,YY(/L+1,2/),XX(/(+L,1/),yyl/I+1,j
224 ,
224 DRIEHOEK(SPANT(/I+1,2/),LAND(/J,.3/),s(RuIS(/I,4/),xx(/I,3/),
27
-FAST ALGOL COMPILER OF DELFT,RELEASE OF 1/ 2/177 PAGE 5
225 'IF' J=1 'THEN' . 226 'BEGIN' 227 KRUISLENGTE; 228 LANOLENGTE(I,1); 229 LANDLENGT(l,3); 230 I:=I-1; 231 J:=-1; 232 'GOTa' LAB; 233 END'; . . 234 235 XX(/I+1,1/) )+(YY(/I+193/)-yy(/I+1,j/))*(yy(/I+j,3/)-yy(/j+1,1/)) ); 235 I:=I+l; 236
237 'IF' I <NSP-1 'THEN' 'COTO' LAB;
239 SY.SACT(2,14,3.); 240 N:=NSP; 241
I:NSP-1;
242 DR1EH0EK(KRUI.S(/I,1/),LAND(/I,1/),SpANT(/I,1/),XX(/j,/),yy(/j,jj), 243 XXI/I,2/3,YY(/I,2/),XX(/N,1/),yy(/N,1/),.2); 243 DRIEHOEK(LAND(/I,3/),KRUIS(/j,2/),SpANT{/I,2/),xx(/I,2/),yy(/I,2/), 244 XX.(/I,3/),YY(II,3/),XX(/N,3/),yy(/N,3/,2); 244. KRUISLENGTE; 245 LANDLENGTE(I,1); 246 LANDLENGTE(.I,3); 247 I:=NSP-2; 248 249 XXI/I,3/),YY(/I,3/),Xx(/I+1,z/),yy(/I+1,2/),2); 249 250 XX(/I+l,21),YY(/I+1,2/),XX'(..(I+1,I/),yy(/I+1,i/),2); 250 DRIEHOEK(SPANT(/I+i,2/),LANO(/I,3/j,KRUIS(/j,4/),XX(/I,3/),yy(/j,3/), 251 XX(/I+1,2/),YY(/I+1,2/),xx(/I+1,3/),yy(I+i,3/),); 2.51I=NSP-1;
252 0RIEHOEK.(KRUIS(/I,1/),LND(/I,1/),SpANT(/I,l/),XXI/1,l/),yy(,I,1,), 253 XX(/I,2/),YY(/I,2/),xx(/N,1/),yy(/N,1/),2.) 253 ORIEHOEK(LAND(/I,3/),KRUIS(/.I,2/),SpNTL/1,2/),xx(/I,2/J,yy(/I,2/), 254 XX(/I,3/),YY(/I,3/),XX(./N,;3/),yyL/N,3/),2); 254 DRIEH0EK(SPANT(/N,j/),LNC(/I,2/),KRUIS(/j,L/),XX(/I,2/),yy(/I,2/), 255 XX(/N,1/),YY(/N,1J),XX(/N,2/),yy(/.N,2/),j); 255 FIX(2,2,4,XXUN,2/)); 256 FIX(2,2,4,YY(/N,2/fl; 257 SYSACT(2,14,I); 258 ORIEHOEK(SPANT(/N,2/i,LANC(/I,2/),KRUIS(/I,2/),XX(/I,2/),yy(,J,2,), 259 259 FIX(2,2,4,Xx(/N,2/fl; 260 FIX(2,2,4,YY(/N,2/).3; 261 SYSACT(2,14,5);262 'FOR' I:=0 'STEP'l 'UNTIL' NSP-:L 'DO'
263 'BEGIN' 264 LMLAND(/I/):=SQRTUXX1/I+1,2/)-XX(/I,2/)3*(Xx(/j+j,2fl-XX,J,2 265 /))+(YY(/I+1,2/)-YY(/I,2/))*(yy(/j+1,2/)-yy(/I,2/))); 265 REK(/I/):=LANOW(/I,2/)-LMLAND(,I/); 266 'END'; 26? REK(/NSP/):=O; 268
BET:=ARCTANUvyUNsp,2/.yy/o,2/))/(xx(jNsp,2,)_xx(,o,2,)));
269 YYO2:=YV(/0,2/);28
-FAST ALGOL COMPILER OF DELFT,RELEASE OF 1/ 21117 PAGE 6
270 'FOR' I:=O 'STEP' i 'UNTIL' NSP'DU'
271 'BEGIN'
272 XUi:=XX(/I,1/);
273 X(J2:=xx(/I,2/);
274 XU3:=XX(/I,3/);
.275 XX(/1,Ifl:=XX(/I,i/)*COs(BET )+SIN(BET )* YY(/I,1/); 276 XX(/I,2/):=XX(/1,2/)*COS(BET )+SIN(BET )* YY(/I,21);
277 XX(/I,3/):xX(/I,3/)$COS(BET )+SIN(BET )* YY(/I,3/);
278 YY(/I,1/):=COS(BET )*(YV(/I,1/)_XUj*TAN(BET J)-YYQ2;
279 YY(/I,2/):=COS(BET )*(YY(/I,2/)-x1J2*TAN(BET ))-YYO2;
280 VY(/I,3/):=COS(BET )*(YY(/I,3/)-X(J3*TAN(BE1 j)-YYO2;
281 'END'; 282 SYSACT(1,15,1); 283 OIJTSTRING(1,'i'PLAA.T NR.'I');AFIX(1,2,0,pLAATNR);SySAcr(1,14,3); 286 OUTSTRING(1,'(' . X Y X 287 y REK X Y ')');SYsÄCT(i,I4,2); 288 'FOR'I:=O'STEP'j'UNTIL'NSp'ofJ' 289 'BEGIN' 290 OUTSTRING(1,'('SPANT')');AFIx(1,2,o,spANTNR(/I/));BLANK(i,3); 293 'FOR' J:=l,2,3 '00' 294 'BEGIN' 295 AFIX(1,5,O,XX(/j,J/.J*I000I;BLANK(i,3);. 297 FIX11,5,0,YY(/I,J/)i000);BLANK(i,4);
299 'IF' J=2 'THEN' FIX(l,3,I,REK(/1f)*1000);
301 'END';
302 SYSACT(1,14,]j;
303 'END';
304 SYSACT(i,15,Ij;
305 'IF' PLAATPLOT 'THEÑ' 'GOTO'EIND; 307 HO01:=.001*SCHAAL;
308 H002:=.002*SCHAAL;
309 H003:=.003*ScHAAL;
310 H005:=..005*SCHAAI;
311 . MARK(XX(/0,1/),YY(/O,1f),H002,3,O,-l);
312 'FOR' I:=1 'STEP' i 'UNTIL' NSP "00'
313 MARK(XX(/I,1/),VY(/j,l/),i-joo2,3,C,-23';
314 'FOR' I:=NSP 'STEP' -1 'UNTIL' O 'DO' 315 MARK(XX(/I,2/),YY(/I,2/'J,HOQ2,3,Q,-1); 316 'FOR' I:=O 'STEP" I 'UNTIL' NSP 'DO'
317 MßRK(XX(/I,3/),yY(/I,3/),Hoo2,3,o,-2; 318 PLOT(XX(/NSP,3/),yy(/NSP,3/),2);
319 PLOT(XX(/O,3/),yy(/Q,3/),3);
320 PLOT(XX(/O,2/),YY(/o,2/.),fl;
321 'FOR' I:=0 'STEP' i 'UNTIL' NSP '00'
322. 'BEGIN'
323 'IF' I < 10 'THEN'
324 NUMBER(XX(/j,1/)-J-100I,yy(/I, 1/)-H005,H002,I ,0,-L) 'ELSE'
326 NUMBER(XX(/I,1/)-H002,Vy(/J,i/)-Hoo5,1.1002,J,o,-I.);
327 'END';
328 'FOR' I:=NSP 'STEP' -1 'UNTIL' 0 '00'
329 'BEGIN'
330 'IF' I < LO 'THEN'
331 1,0,-1) 'ELSE'
333 NUMBEH(XX(/I,3/j-H002,yyt/I,3/)H003,I1002,I,o,_l);
FAST ALGOL COMPILER OF OEIFT,RELEASE OF 1/ 2/i77 PAGE
335
'IF! .PLAATPLOT
'THENPLOT(XX(/NSP,2/)+.2O*5Cf-j4L,Q1-3);
337 'END';
338 ElNO:
.338 SYSACT(2.,15,11;
340 'END';
341 'IF' PLAATPLOT 'THEN' LASPLO;
343 'END'
NO ERRORS FÔUND
-7. Referenties.
ir.Jos. Boel
Beschrijvende meetkunde toegepast op het uitsiaan van schepen
Uitg. "DeTechniek" Antwerpen 1941
Ing. E.Baas
Het uitsiaan van schéepsbepiating
Sub .Afd . der Scheepsbouwkune. TH-Deift.