Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2022
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. (defun delta-E-CIE-2000 (L1 a1 b1 L2 a2 b2)
  2. "0 - 1A normally invisible difference 1 - 2Very small difference,
  3. only obvious to a trained eye 2 - 3.5Medium difference, also
  4. obvious to an untrained eye 3.5 - 5An obvious difference> 6A very
  5. obvious difference."
  6. (let* ((L′-mean (/ (+ L1 L2) 2))
  7. (C1 (sqrt (+ (expt a1 2) (expt b1 2))))
  8. (C2 (sqrt (+ (expt a2 2) (expt b2 2))))
  9. (C-mean (/ (+ C1 C2) 2))
  10. (G (* 1/2 (- 1 (sqrt (/ (expt C-mean -7) (+(expt C-mean -7) (expt 25 7)))))))
  11. (a′1 (* a1 (1+ G)))
  12. (a′2 (* a2 (1+ G)))
  13. (C′1 (sqrt (+ (expt a′1 2)(expt b1 2))))
  14. (C′2 (sqrt (+ (expt a′2 2)(expt b2 2))))
  15. (C′-mean (/ (+ C′1 C′2) 2))
  16. (h′1 (rad->deg (atan b1 a1)))
  17. (h′2 (rad->deg (atan b2 a2)))
  18. (h′-delta (abs (- h′1 h′2)))
  19. (H′-mean (/ (+ h′1 h′2) 2);(if (> h′-delta 180) (/ (+ h′1 h′2 360) 2) )
  20. )
  21. (Tee (+ 1 (* -0.17 (cos (deg->rad (- H′-mean 30))))
  22. (* 0.24 (cos (deg->rad (* H′-mean 2))))
  23. (* 0.32 (cos (deg->rad (+ (* H′-mean 3) 6))))
  24. (* -0.20 (cos (deg->rad (- (* H′-mean 4) 63))))))
  25. (Δh′ (let ((dh (abs (- h′2 h′1))))
  26. (cond ((<= dh 180)(- h′2 h′1))
  27. ((and (> dh 180)(<= h′2 h′1))(+ (- h′2 h′1) 360))
  28. (t (- h′2 h′1 360)))))
  29. (ΔL′ (- L2 L1))
  30. (ΔC′ (- C′2 C′1))
  31. (ΔH′ (* 2 (sqrt (* C′1 C′2)) (sin (deg->rad (/ Δh′ 2)))))
  32. (Sl (1+ (/ (* 0.015 (expt (- L′-mean 50) 2))
  33. (sqrt (+ 20 (expt (- L′-mean 50) 2))))))
  34. (Sc (1+ (* 0.045 C′-mean)))
  35. (Sh (1+ (* 0.015 C′-mean Tee)))
  36. (Δtheta (* 30 (exp (- (expt (/ (- H′-mean 275) 25)2)))))
  37. (Rc (* 2 (sqrt (/ (expt C′-mean -7) (+(expt C′-mean -7) (expt 25 7))))))
  38. (Rt (- (* Rc (sin (* 2 Δtheta)))))
  39. (Kl 1)
  40. (Kc 1)
  41. (Kh 1))
  42. (utils:fp 'C′1 C′1
  43. 'C′2 C′2
  44. 'h′1 h′1
  45. 'h′2 h′2
  46. 'h′-delta h′-delta
  47. 'H′-mean H′-mean
  48. 'G G
  49. 'Tee Tee
  50. 'Sl Sl
  51. 'Sc Sc
  52. 'Sh Sh
  53. 'Rt Rt)
  54. (sqrt (+ (expt (/ ΔL′ (* Kl Sl)) 2)
  55. (expt (/ ΔC′ (* Kc Sc)) 2)
  56. (expt (/ ΔH′ (* Kh Sh)) 2)
  57. (* Rt (/ ΔC′ (* Kc Sc))(/ ΔH′ (* Kh Sh)))))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement