Aleks11

Projection point to plane

Feb 7th, 2012
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. /*
  2. Проекция точки на плоскость
  3. x1, y1, z1 - точка, где стоит камера
  4. x2, y2, z2 - точка объекта
  5. x3, y3, z3 - пересечение взгляда камеры с плоскостью
  6. */
  7.  
  8. stock ProjectionPointToPlane(Float:x1p, Float:y1p, Float:z1p,
  9. Float:x2p, Float:y2p, Float:z2p,
  10. Float:x3p, Float:y3p, Float:z3p,
  11. &Float:x, &Float:y, &Float:z)
  12. {
  13. new Float:A = x3p - x1p, Float:B = y3p - y1p, Float:C = z3p - z1p,
  14. Float:D = A * x3p + B * y3p + C * z3p,
  15. Float:a = A * x2p + B * y2p + C * z2p,
  16. Float:t = (a - D) / (a - (A * x1p + B * y1p + C * z1p));
  17. x = t * (x1p - x2p) + x2p;
  18. y = t * (y1p - y2p) + y2p;
  19. z = t * (z1p - z2p) + z2p;
  20. }
Advertisement
Add Comment
Please, Sign In to add comment