MCVSMBoxes VectorScripts Úã¦BoxesgZIn diesem Bereich bestimmen Sie, unter welchen Bedingungen das Objekt neu gezeichnet wird.ÿÿÿæ2…ç5„è<…ç?†æ@‡åB‰ãCŠâDŒàEÿÿÿü éžû é«€ ùùùùùùùùùùùùùùùùùùùùùùìììùùìììùùìììùùùùùùùùùùùùùùùùùùùùùùü@@@@C„C„C„@@@@üü@@@@C„C„C„@@@@ü¾ × ðl3h3b3PROCEDURE schachtelunddeckel; VAR (* Array mit Punkten. Da keine TYPE's fuer Punkte definiert werden koennen, muessen alle Punkte nacheinander ins Array gefuellt werden *) points: ARRAY[0..155] OF REAL; h,b,l:REAL; x:INTEGER; BEGIN h:=PH; b:=PB; l:=PL; (* Die unterschiedlichen Formen werden mit Linien gezeichnet *) (* Da dieses Problem nicht algorithmisch geloest werden kann, muessen alle Punkte einzeln angegeben werden *) (* Form 1 *) points[0] := h-b; points[1] := l; points[2] := h-b+l; points[3] := l; points[4] := h-b+l; points[5] := l; points[6] := h-b+l; points[7] := l-h; points[8] := h-b+l; points[9] := l-h; points[10] := h-b; points[11] := l; (* Form 2 *) points[12] := h-b+l; points[13] := l; points[14] := h+l; points[15] := l; points[16] := h+l; points[17] := l; points[18] := h+l; points[19] := l-h; points[20] := h+l; points[21] := l-h; points[22] := h-b+l; points[23] := l-h; (* Form 3 *) points[24] := h+l; points[25] := l; points[26] := h+2*l; points[27] := l; points[28] := h+2*l; points[29] := l; points[30] := h+2*l; points[31] := l-h; points[32] := h+2*l; points[33] := l-h; points[34] := h+l; points[35] := l-h; (* Form 4 *) points[36] := h+2*l; points[37] := l; points[38] := h+2*l+h; points[39] := l; points[40] := h+2*l+h; points[41] := l; points[42] := h+2*l+h; points[43] := 0; points[44] := h+2*l+h; points[45] := 0; points[46] := h+2*l; points[47] := l; (* Form 5 *) points[48] := h+2*l+h; points[49] := l; points[50] := h+b+2*l+h; points[51] := l; points[52] := h+b+2*l+h; points[53] := l; points[54] := h+2*l+h; points[55] := 0; (* Form 6 *) points[56] := 0; points[57] := l+b; points[58] := l; points[59] := l+b; points[60] := l; points[61] := l+b; points[62] := l; points[63] := l; points[64] := l; points[65] := l; points[66] := 0; points[67] := l+b; (* Form 7 *) points[68] := l; points[69] := l+b; points[70] := l+h; points[71] := l+b; points[72] := l+h; points[73] := l+b; points[74] := l+h; points[75] := l; points[76] := l+h; points[77] := l; points[78] := l; points[79] := l; (* Form 8 *) points[80] := l+h; points[81] := l+b; points[82] := 2*l+h; points[83] := l+b; points[84] := 2*l+h; points[85] := l+b; points[86] := 2*l+h; points[87] := l; points[88] := 2*l+h; points[89] := l; points[90] := l+h; points[91] := l; (* Form 9 *) points[92] := 2*l+h; points[93] := l+b; points[94] := 2*l+2*h; points[95] := l+b; points[96] := 2*l+2*h; points[97] := l+b; points[98] := 2*l+2*h; points[99] := l; points[100] := 2*l+2*h; points[101] := l; points[102] := 2*l+h; points[103] := l; (* Form 10 *) points[104] := 2*l+2*h; points[105] := l+b; points[106] := 3*l+2*h; points[107] := l; points[108] := 3*l+2*h; points[109] := l; points[110] := 2*l+2*h; points[111] := l; (* Form 11 *) points[112] := l-b; points[113] := l+b; points[114] := l; points[115] := 2*l+b; points[116] := l; points[117] := 2*l+b; points[118] := l; points[119] := l+b; (* Form 12 *) points[120] := l; points[121] := 2*l+b; points[122] := l+h; points[123] := l+b; (* Form 13 *) points[124] := l+h; points[125] := l+b; points[126] := l+h; points[127] := l+b+h; points[128] := l+h; points[129] := l+b+h; points[130] := 2*l+h; points[131] := l+b+h; points[132] := 2*l+h; points[133] := l+b+h; points[134] := 2*l+h; points[135] := l+b; (* Form 14 *) points[136] := 2*l+h; points[137] := l+b+h; points[138] := 2*l+h+b; points[139] := l+b+h; points[140] := 2*l+h+b; points[141] := l+b+h; points[142] := 2*l+h+b; points[143] := l+b; points[144] := 2*l+h+b; points[145] := l+b; points[146] := 2*l+h; points[147] := l+b; (* Form 15 *) points[148] := 2*l+h+b; points[149] := l+b+h; points[150] := 3*l+h+b; points[151] := l+b; points[152] := 3*l+h+b; points[153] := l+b; points[154] := 2*l+h+b; points[155] := l+b; (* Durchlaufe Array mit Punkten, 4 Werte nacheinander beschreiben Paare (x1, y1) (x2, y2) *) FOR x:=0 TO 155 DO BEGIN (* Zeichne Linien, leider nur mit Poly3D moeglich (z immer gleich 0) *) Poly3D(points[x],points[x+1],0, points[x+2],points[x+3],0); x := x+3; END; END; RUN(schachtelunddeckel);LŠnge der SchachtelHšhe der SchachtelBreite der Schachtel