POV-Ray : Newsgroups : povray.general : intersection test : Re: intersection test Server Time
30 Jul 2024 22:14:20 EDT (-0400)
  Re: intersection test  
From: Tim Attwood
Date: 13 Apr 2008 18:24:49
Message: <48028831$1@news.povray.org>
>> Can I use the "intersection" operator as intersection test, i.e. check 
>> wether
>> the result is empty?
>
>  No.

Intersection is a keyword for a CSG object in POV.
This should work though...

#include "rand.inc

#macro collision(A B rez)
   #local result = false;
   #if (((min_extent(A).x > max_extent(B).x ) |
         (min_extent(B).x > max_extent(A).x ) |
         (min_extent(A).y > max_extent(B).y ) |
         (min_extent(B).y > max_extent(A).y ) |
         (min_extent(A).z > max_extent(B).z ) |
         (min_extent(B).z > max_extent(A).z ))=false)
      #local AB = intersection{object{A} object{B}};
      #local Mn = min_extent(AB);
      #local Mx = max_extent(AB);
      #local S1 = seed(1);
      #local Pt = VRand_In_Box(Mn, Mx, S1);
      #local cnt = 0;
      #while ((result = false) & (cnt < rez))
         #local Pt = VRand_In_Box(Mn, Mx, S1);
         #if (inside(AB, Pt))
            #local result = true;
         #end
         #local cnt = cnt + 1;
      #end
   #end
   result
#end


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.