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

系统 2286 0

简介

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

代码

            
              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度

python-给定任意起始点-角度后同等切分圆-circle-segementation_第1张图片

切分2度

python-给定任意起始点-角度后同等切分圆-circle-segementation_第2张图片


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论