Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- stock RaySphere(Float:p1[3],Float:p2[3],Float:sc[3],Float:r)
- {
- new Float:a, Float:b, Float:c;
- new Float:bb4ac;
- new Float:dp[3];
- dp[0] = p2[0] - p1[0];
- dp[1] = p2[1] - p1[1];
- dp[2] = p2[2] - p1[2];
- a = dp[0] * dp[0] + dp[1] * dp[1] + dp[2] * dp[2];
- b = 2 * (dp[0] * (p1[0] - sc[0]) + dp[1] * (p1[1] - sc[1]) + dp[2] * (p1[2] - sc[2]));
- c = sc[0] * sc[0] + sc[1] * sc[1] + sc[2] * sc[2];
- c += p1[0] * p1[0] + p1[1] * p1[1] + p1[2] * p1[2];
- c -= 2 * (sc[0] * p1[0] + sc[1] * p1[1] + sc[2] * p1[2]);
- c -= r * r;
- bb4ac = b * b - 4 * a * c;
- if(bb4ac < 0) return 0;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment