при запуске программы возвращает OUT OF DATA
в read nw
DIM vx1(15), vx2(20), vy1(20), vy2(20)
DIM tx1(20), tz1(20), tx2(20), tz2(20), wc(20) AS INTEGER
DIM w AS INTEGER
DIM nw AS INTEGER
READ nw
FOR w = 1 TO nw: READ vx1(w), vy1(w), vx2(w), vy2(w), wc(w): NEXT
vx1 = 70: vy1 = 20
vx2 = 70: vy2 = 70
px = 50
py = 50
angle = 0
, а def fn
еще не реализовано
SCREEN 0, 1, 0, 0: WIDTH 80, 25
def fncross (x1, y1, x2, y2) = x1 * y2 - y1 * x2
SUB intersect (x1, y1, x2, y2, x3, y3, x4, y4, x, y)
x = fncross(x1, y1, x2, y2)
y = fncross(x3, y3, x4, y4)
det = fncross(x1 - x2, y1 - y2, x3 - x4, y3 - y4)
x = fncross(x, x1 - x2, y, x3 - x4) / det
y = fncross(x, y1 - y2, y, y3 - y4) / det
END SUB
и здесь вызывается intersect
IF tz1 > 0 OR tz2 > 0 THEN
CALL intersect(tx1, tx1, tx2, tz2, -0.0001, 0.0001, -20, 5, ix1, iz1)
CALL intersect(tx1, tz1, tx2, tz2, 0.0001, 0.0001, 20, 5, ix2, iz2)
IF tz1 <= 0 THEN IF iz1 > 0 THEN tx1 = ix1: tz1 = iz1 ELSE tx1 = tx2: tz1 = iz2
IF tz2 <= 0 THEN IF iz1 > 0 THEN tx2 = ix1: tz2 = iz1 ELSE tx2 = ix2: tz2 = iz2
END IF