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 
> <swift-evolution@swift.org> 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
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to