I stumbled upon this which looks like a promising way of implementing an orientation test.

I'm not interested in the described adaptive approach, I'm fine with using the naive determinant approach by checking if it evaluates to greater/less/equal 0. As I understand it, the only difference is that the more sophisticated adaptive approach will always work (won't suffer from round-off errors do to floating point arithmetic) whereas the naive determinant approach occasionally fails due to round-off errors. Is this correct?

I'm wondering if there are any easy to implement alternatives to the determinant approach? That is, if someone asked you to implement the orientation test without using the determinant approach, what would you do?

  • 2
    $\begingroup$ I'm not sure what you're asking. Your reasoning about the differences of the naive and other approach seem correct, but I'm not sure how that relates to your next question. When is an alternative 'simple' w.r.t. to the determinant approach? Are there some calculations/operations you don't want to use in the orientation test? If so, why? $\endgroup$ – Discrete lizard Jan 13 '18 at 19:56
  • $\begingroup$ @Discretelizard By 'simple' I mean some other approach as simple to implement as the determinant approach. I'm not necessarily looking for a faster way with fewer operations. I'm merely looking for different 'simple' approaches as I would like to compare different approaches for educational purposes. $\endgroup$ – Anna Vopureta Jan 13 '18 at 20:04
  • $\begingroup$ @AnnaVopureta, what do you mean with "the more sophisticated adaptive approach will always work"? As I understand it to arrive at an exact result is to use exact arithmetic or some underlaying framework that uses exact predicates. $\endgroup$ – gue Mar 16 '18 at 12:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.