variable naming consistency: use (origin, ray)