nomainwin WindowWidth =500 WindowHeight =500 open "Is a random point inside a triangle?" for graphics_nsb as #wg #wg "trapclose quit" #wg "down ; fill darkblue ; color cyan ; size 1" x1 =200: y1 =400: #wg "set "; x1; " "; y1 x2 =400: y2 =400: #wg "goto "; x2; " "; y2 x3 =300: y3 =100: #wg "goto "; x3; " "; y3 #wg " goto "; x1; " "; y1 #wg "flush" N =0 call save N do x =int( 500 *rnd( 1)): y =int( 500 *rnd( 1)) a = ( ( y2 -y3) *( x -x3) +( x3 -x2) *( y -y3)) / ( ( y2 -y3) *(x1 -x3) +( x3 -x2) *( y1 -y3)) b = ( ( y3 -y1) *( x -x3) +( x1 -x3) *( y -y3)) / ( ( y2 -y3) *(x1 -x3) +( x3 -x2) *( y1 -y3)) c = 1 -a -b ' p lies in T if and only if 0 <= a <= 1 and 0 <= b <= 1 and 0 <= c <= 1 if ( ( 0 <=a) and ( a <=1))_ and ( ( 0 <=b) and ( b <=1))_ and ( ( 0 <=c) and ( c <=1))_ then #wg "color green" else #wg "color red" end if #wg "set "; x ; " "; y scan N =N +1 if ( N mod 10000) =0 then call save N loop until 0 sub quit h$ close #h$ end end sub sub save N #wg "getbmp scr 1 1 500 500" 'bmpsave "scr", "triangle" +right$( "000000" +str$( N), 6) +".bmp" #wg "cls" #wg "drawbmp scr 1 1" end sub