diff options
| -rw-r--r-- | public/assets/test/intersect3.html | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/public/assets/test/intersect3.html b/public/assets/test/intersect3.html index 13a8024..ed81346 100644 --- a/public/assets/test/intersect3.html +++ b/public/assets/test/intersect3.html @@ -118,13 +118,16 @@ function draw (time) { var closest_intersect, t, min_t = 1 var cursor_copy = cursor.extend_ends(scene.camera.radius) -hud.innerHTML = cursor_copy.x -drawPoint(cursor_copy.x, "#ff0") + hud.innerHTML = cursor_copy.x + drawPoint(cursor_copy.x, "#ff0") + Walls.list.forEach(function(wall, i){ wall.get_points(wall_vec) drawLine(wall_vec.x, wall_vec.y, "#088") origins.x = cursor_copy.x + origins.y = wall_vec.x + t = perp(origins, wall_vec) / ( perp(cursor_copy, wall_vec) || 0.0000001 ) intersect.a = cursor_copy.x.a + ( cursor_copy.y.a - cursor_copy.x.a ) * t intersect.b = cursor_copy.x.b + ( cursor_copy.y.b - cursor_copy.x.b ) * t @@ -177,9 +180,12 @@ drawPoint(cursor_copy.x, "#ff0") drawLine(wall_vec.x, wall_vec.y, "rgba(0,255,255,1.0)") origins.x = cursor.x + origins.y = wall_vec.x + var new_t = perp(origins, wall_vec) / ( perp(cursor, wall_vec) || 0.0000001 ) var wall_t = perp(origins, cursor) / ( perp(wall_vec, cursor) || 0.0000001 ) - var closest_intersect2 = new vec2() + + var closest_intersect2 = new vec2 () closest_intersect2.a = cursor.x.a + ( cursor.y.a - cursor.x.a ) * new_t closest_intersect2.b = cursor.x.b + ( cursor.y.b - cursor.x.b ) * new_t @@ -193,6 +199,7 @@ drawPoint(cursor_copy.x, "#ff0") var aw = angle(closest_wall) var dd = dot2(diff(closest_wall), diff(cursor)) +// hud.innerHTML += " " + dd + " " + round(deg(aw)) if (dd > 0) { len *= 1-abs(wall_t) } @@ -204,14 +211,14 @@ drawPoint(cursor_copy.x, "#ff0") len = clamp(len, 0, (1-min_t) * sqrt(dot(cursor, cursor))) // hud.innerHTML = [ aw ].map(function(n){ return round(deg(n)) }) -// hud.innerHTML = " " + (dd > 0 ? "gt": "lt") + " " + round(len) + " " + (1-min_t) + " " + round((1-min_t)*sqrt(dot2(diff(cursor), diff(cursor)))) +// hud.innerHTML += "__ " + (dd > 0 ? "gt": "lt") + " " + round(len) + " " + (1-min_t) + " " + round((1-min_t)*sqrt(dot2(diff(cursor), diff(cursor)))) var end_of_ray = closest_intersect2.clone() end_of_ray.a += len * cos(aw) end_of_ray.b += len * sin(aw) - end_of_ray.a = clamp(end_of_ray.a, wall_vec.x.a, wall_vec.y.a) - end_of_ray.b = clamp(end_of_ray.b, wall_vec.x.b, wall_vec.y.b) +// end_of_ray.a = clamp(end_of_ray.a, wall_vec.x.a, wall_vec.y.a) +// end_of_ray.b = clamp(end_of_ray.b, wall_vec.x.b, wall_vec.y.b) drawPoint(end_of_ray) drawLine(closest_intersect2, end_of_ray, "#00f") |
