下面的简单代码片段在VB.NET面板上绘制一个椭圆。我现在需要在椭圆上找到10个点,这样我就可以沿着边缘绘制小圆圈(最终效果将是一个椭圆形的“桌子”,周围有10个“座位”。
帮助填写下面我的循环中心赞赏。
Private Sub Panel1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint
Const OFFSET As Integer = -36
Dim g As Graphics = e.Graphics
Dim r As Rectangle = Panel1.ClientRectangle
Dim iAng As Integer
r.Inflate(OFFSET, OFFSET)
g.DrawEllipse(Pens.Black, r)
For i As Integer = 0 To 9
iAng = i * 36
Next
End Sub
答案 0 :(得分:2)
如果A是椭圆的水平半径,B是垂直半径,那么对于弧度的任何给定角度R:
X(R)= A * cos(R)
Y(R)= B * sin(R)
因此,如果你取R = 0,1 * 2pi / 10,2 * 2pi / 10 .... 9 * 2pi / 10,那么你可以找到分布在椭圆周围的十个座位。