program kolmnurk; uses graph, crt; type punkt=record x: integer; y: integer; z: integer; end; var p1, p2, p3, p4, p5: punkt; procedure algus; begin p1.x:=random(600); {m„„ratakse kolmnurga punktide asukohad} p1.y:=random(500); p1.z:=random(400); p2.x:=random(600); p2.y:=random(500); p2.z:=random(400); p3.x:=random(600); p3.y:=random(500); p3.z:=random(400); p4.x:=random(600); p4.y:=random(500); p4.z:=random(400); p5.x:=random(600); p5.y:=random(500); p5.z:=random(400); end; procedure joonista; var polypoints: array[1..10] of pointtype; nor, v1, v2: punkt; begin v1.x:=p2.x-p1.x; v1.y:=p2.y-p1.y; v1.z:=p2.z-p1.z; v2.x:=p3.x-p1.x; v2.y:=p3.y-p1.y; v2.z:=p3.z-p1.z; nor.x:=v1.y*v2.z-v2.y*v1.z; nor.y:=v2.x*v1.z-v1.x*v2.z; nor.z:=v1.x*v2.y-v2.x*v1.y; if nor.x*p1.x+nor.y*p1.y+nor.z*p1.z>0 then setfillstyle(1, blue) else setfillstyle(1, 2); polypoints[1].x:=p1.x; polypoints[1].y:=p1.y; polypoints[2].x:=p2.x; polypoints[2].y:=p2.y; polypoints[3].x:=p3.x; polypoints[3].y:=p3.y; polypoints[4].x:=p4.x; polypoints[4].y:=p4.y; polypoints[5].x:=p5.x; polypoints[5].y:=p5.y; fillpoly(5, polypoints); end; var d, m, viga, kord: integer; begin kord:=0; d:=detect; initgraph(d, m, ''); randomize; repeat kord:=kord+1; if kord=100 then begin cleardevice; kord:=0; end; algus; joonista; delay(100); until keypressed; readln; closegraph; end.