.NET - 椭圆周围需要 10 个点

标签 .net graphics

下面的简单代码片段在 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/

相关文章:

c# - Mongo C# 驱动程序 : Deserialize BsonValue

java - 连接四个坠落动画

c++ - 边界检测

c++ - 在 DirectX 中遇到拓扑问题

.net - 预览 .NET 颜色

.net - 当前禁用了此服务的WCF元数据发布+内容类型错误

c# - 运行时错误 : Could not load file or assembly - Modules with different CPU types were found

c# - 来自 xaml 的 WPF 控件引用在代码端不可见

java - Android DrawText 不适用于 SurfaceView

java围绕中心旋转矩形