diff -urN rt_v61/cross.c rt_v62/cross.c --- rt_v61/cross.c 2018-07-13 20:09:46.000000000 +0900 +++ rt_v62/cross.c 2018-07-14 13:00:38.000000000 +0900 @@ -349,6 +349,12 @@ v_add(x, ret->p, x); v_add(z, ret->p, z); + + if( v_eq(x, ret->p) || v_eq(z, ret->p) ){ + ret->ang_nv_eyev = 0; + return; + } + lstx_tr_p(l2g, L2G, x, x); lstx_tr_p(l2g, L2G, z, z); v_sub(x, p, x); @@ -559,6 +565,9 @@ if( ret->idx >= 0 ){ struct data_one *d = &data->lst[ ret->idx ]; cross_get_nv( d->kind, &d->l2g, l_g, d->not, ret ); + if( ret->ang_nv_eyev == 0 ){ + ret->idx = -1; + } } }