# DanielH

Member

261

138 Neutral

• Rank
Member
1. ## How to find time of line-line-interception

Numerical issues like those you describe is very easy to fix by adding making the opposite segment a bit wider while testing. What technique is best for different kind of generalizations I do not know. However to me it seems both these techniques has pretty much the same number of operations when using it on two segments. And no, I haven't tested it, so it might be right that v should be inverted.
2. ## Differentiation & Integration

Haha I know realize I should never write anything in the math forum.
3. ## How can I speed up my face detection algorithm?

What algorithm are you using? If you use integral images to evaluate features and then use cascading you should definatively be able to do it real-time. Another optimization might be to do some skin color analysis first. One thing I'm thinking about implementing myself is to have interest regions that are scanned more often than "uninteresting" regions. If there is a face in an uninteresting region that region will be promoted to a interesting region and then there will be some kind of fall-off for each region to become uninteresting again if there havent been any faces detected there for a few frames.
4. ## How to find time of line-line-interception

Apparently I did not explain good enough. function test_collision(segment s1, s2, vector v1, v2) : float t t = inf; point p; vector v = v2 - v1 // // Test endpoints on s1 // // A line from s1.a which is one end point on s1, with v as direction line l1(s1.a, v) // test for intersection. intersection point is stored in p if intersection(l1, s2, &p) then float d = -dot(p - s1.a, v); if d > 0 then t = min(t, d) end end // Do exactly the same thing for the point s1.b // // Test endpoints on s2 // // A line from s1.a which is one end point on s1, with v as direction line l3(s2.a, v) // test for intersection. intersection point is stored in p if intersection(l3, s1, &p) then float d = dot(p - s1.a, v); // Note: No negation this time! if d > 0 then t = min(t, d) end end // Do exactly the same thing for the point s2.b return t end
5. ## How to find time of line-line-interception

You only have to perform 4 line-segment test. Each end point of the two segments defines in total 4 lines together with the vector v as the direction. Those lines you test against the line segments.
6. ## How to find time of line-line-interception

I just woke up and I'm a bit unclear in my head still, but just a thought: You have 2 line segments (s1 and s2) which only moves with a linear velocity each update. Since both moves linearly, the only thing that is relevant is the velocity difference between them. Lets say v = v2 - v1 Now for each point on s1, perform a line-segment collision between the segment s2 and the line that is intersecting each of the points and have the direction of v. Do the same thing for each point on s2. The time of the intersection should be the minimum distance between point and segment divided by the norm of v.
7. ## Differentiation & Integration

Your question is phrased a bit strange. You are asking about when differentiation and integration can be used? Differentiation and integration are the fundamentals of analysis. It's used in uncountable number of theorems and applications. * Differentiation You just gave an example where differentiation can be used: To find the velocity of an object! Differentiation is used to find the rate of change in a function. Normally it is a continuous function are differentiation, but when you are doing calculations in games such as finding out velocities you are often doing discreet differentiations. * Integration You actually gave and example of integration as well: present_position = old_position + dv * dt This is a simple sort of numeric integration called Euler integration. You integrate the position over time. Integration can be thought of a continuous version of the discreet summation. You can integrate different kind of areas and volumes, but there are many other uses for it.
8. ## Extracting rotations from a 2D Square

I'm sorry for answering this thread without actually having read it. However your question made me think of these pages which was linked from the webpage of a course i took a few months ago. http://www.csc.kth.se/utbildning/kth/kurser/DD2423/bildat10/projection-cipolla.pdf http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/EPSRC_SSAZ/epsrc_ssaz.html
9. ## Realtime reflections using Sphere Mapping?

Rendering with a 360 degree field of view would do it. However that is not possible with rasterization due to limitations in how that technique works. It would be possible with raytracing though but at the moment I think you are stuck with rendering six textures into a cubemap :)
10. ## Beginner looking for help

Maybe college could be something for you?
11. ## Rotation in space

If you have three orthogonal and normalized axes you can create a rotation matrix very easy. It's simply just putting each axis on each row of a 3x3 matrix.
12. ## [C++] - Parsing: Moving Around In Files

It sounds to me you should take some time to study how parsing is done: convert the input to tokens with a lexer etc. Will make it a lot easier to implement.
13. ## Rand # generator w/o int multiplies?

No int multiplies? Almost sounds like programming a PIC, or some other 8-bit ucontroller. But it has floats? What is this thing?
14. ## Optimize path returned from A*

Now I know what the problem is with using Wu's algorithm to trace a line. Screenshot How can this be avoided? I'm thinking about if it's possible it can be solved like instead of using lines I rasterize a thicker line with two triangles. But perhaps there are easier approaches?
15. ## fast accurate terrain linesegment intersection

Are you doing this for generating shadow maps? If so this might be a good read. http://www.gamedev.net/reference/articles/article1817.asp