Skip to content

A few refraction index functions #16

@zsparal

Description

@zsparal
diff = distance(lens.origin, p);
if (diff > 0.001){
    index = 1.0 / diff;
} else {
    index = 1000;
}

Try these in the diff > 0.001 part of the if branch:

  • index = exp(diff) / diff;
  • index = 1.0 / sqrt(diff);
  • index = 1.0 / cbrt(diff);
  • index = erf(1.0 / diff);
  • index = exp(1 / cbrt(diff)) * (1 / diff);
  • index = 1.0 / ((diff) / (diff + 1));
  • index = 1.0 / ((diff * (6.2 * diff + 0.5)) / (diff * (6.2 * diff + 1.7) + 0.06));
  • index = sqrt(length(p));

Doesn't fit on a list:

index = 0.5 * (fabs(0.5 * diff) + sqrt(1 - (pow(fabs(fabs(diff) - 2) - 1, 2))) -
        1 / 112 * (3 * sqrt(33) - 7) * diff * diff + 3 * sqrt(1 - (diff / 7) * (diff / 7) ) - 3) *
        ((diff + 4) / fabs(diff + 4) - (diff - 4) / fabs(diff - 4)) - 3 * sqrt(1 - (diff / 7) * (diff / 7));
index = fabs(index);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions