获取圆周上等分点的坐标(C#实现)

博客讲述了绘图需求,要在圆的等分点处画图,关键是求圆周等分点坐标。博主起初遗忘相关数学知识,经网上搜索后想起用Sin和Cos计算,还给出了代码,并提供了参考链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有个绘图的需求,在一个圆上的等分点处画出图形,核心是求出圆周上的等分点的坐标,数学忘得差不多了,折腾了半天没研究出来。

网上搜索之后,一下子回忆起来了,原来是用Sin和Cos来计算,其实挺简单,代码如下:

panelV.Paint += new PaintEventHandler(panel1_Paint);

//...

private void panel1_Paint(object sender, PaintEventArgs e)
{
    int count = 8; //8个等分点
    var radians = (Math.PI / 180) * Math.Round(360.0 / count); //弧度

    double ox = 300.0;
    double oy = 200.0;

    int r = 150;

    for (int i = 0; i < count; i++)
    {
        double x = ox + r * Math.Sin(radians * i);
        double y = oy + r * Math.Cos(radians * i);

        Pen blackPen = new Pen(Color.Black, 3);
        Rectangle rect = new Rectangle(Convert.ToInt32(x), Convert.ToInt32(y), 20, 20);
        e.Graphics.DrawRectangle(blackPen, rect);
     }
 
}

效果:

参考:https://www.cnblogs.com/xuhanwen/p/3780294.html

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹰信息技术服务部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值