I would like to see a full Geometry implementation but I don't think it should be part of the standard library.
I've kicked around some ideas here: * https://gist.github.com/erica/8cb4b21cf0c429828fad1d8ad459b71b <https://gist.github.com/erica/8cb4b21cf0c429828fad1d8ad459b71b> * https://gist.github.com/erica/ee06008202c9fed699bfa6254c42c721 <https://gist.github.com/erica/ee06008202c9fed699bfa6254c42c721> and * https://github.com/erica/SwiftGeometry > On Jan 13, 2018, at 7:49 PM, Jonathan Hull via swift-evolution > <email@example.com> wrote: > > Hi Evolution, > > I would really like to see Swift gain an Angle type in the standard library. > Every time I have to deal with an angle in an api, I have to go figure out > the conventions for that call. Is it in degrees? Is it in radians? What if > it is in radians, but I want to think about it in degrees? > > I ended up writing an Angle type for my own code a few years back, and I have > to say it is really wonderful. It has greatly simplified my graphics work. > It takes a lot of mental load off of my brain when dealing with Angles. > > I can of course initialize it either as degrees or radians (or revolutions), > but I can also just say things like ‘.threeQuarterTurn’, and then I can get > the value back out in whatever format I like. There are also useful > additions that let me normalize the angle to different ranges and which let > me snap to the nearest multiple of an angle. Both of these are enormously > useful for user facing features. I can also do math on angles in a way that > makes geometric sense for angles. It is also really useful for interacting > with CGVectors in intelligent ways. > > Using Doubles or CGFloats to represent angles everywhere is just semantically > wrong IMHO, and it stops us from adding all of these angle-specific niceties. > > Happy to provide code if there is interest… > > Thanks, > Jon > _______________________________________________ > swift-evolution mailing list > firstname.lastname@example.org > https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________ swift-evolution mailing list email@example.com https://lists.swift.org/mailman/listinfo/swift-evolution