I mention this because I seem to often make errors when dealing with ArcShape.

There is a concept in trigonometry of “standard position” when discussing angles/arc.

When you speak of a 45° angle conventionally you are speaking of an arc that starts at 0° (pointing to the right on the positive x axis) and extends 45° *counterclockwise* from this start position. This arc “points”, as it were, up and to the right.

In Xojo, the ArcShape is defined in what I consider a “peculiar” way. You specify a *StartAngle* and an *ArcAngle*. The StartAngle is by default 0° [in Xojo these are expressed in radians so that is 0 radians]. That is in line with the “standard position” of trigonometry.

But if the ArcAngle is 45° (in radians Pi / 4) you will be specifying an arc that is *clockwise* from that zero position. This arc “points”, as it were, downward and to the right.

I don’t understand why Xojo adapted this convention of “clockwise” rotation when most of the trigonometry world adheres to a different one. But it is something to look out for.

The Documentation only explains things in **Notes** at the end where it is easily missed. It does not emphasize that its decision is “unconventional” in the context of trigonometry. It is in accord with how positive angles are considered with other Object2D entities.

The example for StartAngle offers:

```
Var a As New ArcShape
a.Height = 150
a.Width = 150
\\ a.Rotation = 0.90
a.ArcAngle = 1.57
a.StartAngle = -1.57
a.BorderOpacity = 100
a.BorderColor = Color.Black
a.BorderWidth = 2.75
a.FillOpacity = 50
a.FillColor = Color.Red
g.DrawObject(a)
```

The 1.57 is radians for 90°. Throw out the Rotation line that just works to confuse the example. This relates in a 90° arc oriented up and to the right. With the 90° *negative* start angle, this is not what I would have anticipated from the standard conventions of trigonometry.

I contribute this because I wasted a lot of time stumbling around with “unexpected” results. Perhaps I can save someone else this frustration. At the very least, the Documentation on this issue should be expanded.