I tested your code and it works perfectly. The orange triangle is not always at the same distance, but it turns all around. Tested with Xcode 13.0ß5 iPhone 12 Pro Max - iOS 15.0 simulator. Here are some screen shots: So, what is the problem ? Is it the distance to the circle ? Replacing offset .offset(x: 0, y: -170) with .offset(x: 0, y: -220) keeps equal distance. Then you will have to adapt path to stick to the circle. To get in radians, just replace .rotationEffect(.degrees: degrees) , … by .rotationEffect(.radians(someradValue), …