下面的简单代码片段在 VB.NET 面板上绘制了一个椭圆。我现在需要在那个椭圆上定位 10 个点,这样我就可以沿着边缘画小圆圈(最终效果将是一个椭圆形的“ table ”,周围有 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
最佳答案
如果 A 是椭圆的水平半径,B 是垂直半径,那么对于任何给定的弧度角 R:
X(R) = A * 余弦(R)
Y(R) = B * sin(R)
所以如果你取 R = 0, 1 * 2pi/10, 2 * 2pi/10....9 * 2pi/10,那么你可以找到围绕椭圆分布的十个座位。
关于.NET - 椭圆周围需要 10 个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3303582/