Zu blöd für Mathe

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Macoun 2019 - Frühbucherrabatt bis 26.7.2019

  • Mac & i Test Abo
  • Stackoverflow brachte die Antwort....

    Quellcode

    1. let points: [(Double, Double)] = [(1, 0), (55, 0.25), (121, 0.75), (300, 1.0)]
    2. let mappings = zip(points, points.dropFirst()).map { left, right in
    3. return (left.0...right.0, left.1...right.1)
    4. }
    5. func weight(_ x: Double) -> Double {
    6. guard let (source, destination) = (mappings.first { $0.0.contains(x) }) else { return 1.0 }
    7. let a = source.lowerBound
    8. let b = source.upperBound
    9. let c = destination.lowerBound
    10. let d = destination.upperBound
    11. return (x-a)*(d-c)/(b-a)+c
    12. }
    Alles anzeigen