通过圆心半径值,动态计算圆上点位,拟合一个园

通过圆心半径值,动态计算圆上点,拟合一个园
通过圆心以及半径大小,我们可以确定一个园的位置以及大小,可以手动通过圆规等工具进行绘制出来,但圆上的点位如何进行一遍计算呢?
通过简单的三角函数我们就能够计算出圆上的每一个点的位置了;
定位计算方式如下图所示
请添加图片描述
圆上的每一个点(x,y)都可以通过角度以及已知的半径和圆心进行计算出来;
通过角度A,以及三角函数sin函数可以得知 △Y = sinAR;
通过角度A,以及三角函数cos函数可以得知 △X = cosA
R;

同时我们可以知道点(x,y)的位置是相对于圆心(10,10)的偏移了(△X,△Y),可以得到如下:
x = Rx + △X;
y = Ry + △Y;

下面是通过程序进行计算圆上的N个点,可以查看效果喔

double cur_x(0.0), cur_y(0.0), cur_angle(0.0), single_angle(0.0);
int N = 40;  // 计算圆上的点位个数
single_angle = 2 * PI / point_size;  // 间隔多少度进行计算一个点位(弧度)
double temp_x, temp_y;

double radius(10.0), radius_x(10.0), radius_y(10.0);   // 圆心半径
for (int i = 0; i < N; i++){
		cur_angle = single_angle * i;
		temp_x = cos(cur_angle) * radius;
		temp_y = sin(cur_angle) * radius;

		cur_x = temp_x + radius_x;
		cur_y = temp_y + radius_y;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员吴同学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值