python-给定任意起始点-角度后同等切分圆-circle-segementation

简介

文中主要帮助一位小哥实现对圆的任意切分,切分需要从给定点,和给定角度进行切分。现把算法记录如下,需要使用的可以参考,当然比较简单。算法和效果如下。

代码

import  math
import matplotlib.pyplot as plt
import numpy as np
# def return_xy_list(alfa,):
#     pass
r = 11.599
xa = -11.599
ya = 0.645941173792
x0 = 0
y0 = 0
alfa = 2
list_x=[]
list_y=[]
N=int(360/alfa)
for i in range(N):
    theta=math.atan2(ya,xa)
    theta2=math.atan2(ya,xa)+math.pi
    print theta,theta2
    x=x0+r*math.cos(theta-alfa*math.pi/180)
    y = y0 + r * math.sin(theta - alfa*math.pi/180)
    list_x.append(x)
    list_y.append(y)
    xa=x
    ya=y
theta1 = np.arange(0, 2*np.pi, 0.01)
xx = x0 + r * np.cos(theta1)
yy = y0 + r * np.sin(theta1)
fig = plt.figure()
axes = fig.add_subplot(111)
axes.plot(xx, yy)
axes.axis('equal')
plt.title('test')
print list_x
print list_y
# print list_x[3]
# print list_y[3]
plt.plot(list_x,list_y)
axes.scatter(list_x, list_y, s=60, c='k', marker='x')
plt.show()

效果

切分30度

在这里插入图片描述

切分2度

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值