神刀安全网

生成正多边形


思路

n多边形应该是是建立在上的,
θ随着n而变化,有θ=2π/n关系,
据初始顶点坐标即可依次求出所有顶点坐标。

Pycode.

#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date    : 2017-11-12 21:11:39 # @Author  : Zero (Zeroto521@gmail.com) # @Link    : None # @Version : $Id$ 
import pylab as pl %matplotlib inline 
def polygon(n=3, startX=100, startY=0, r=100):     """     Ploygon for docstring.     Get ploygon x and y postions.     ---------------------      Paramter         n: int, polygon's sides, default 3.         startX: int, fitst x postion, default 100.          startY: int, fitst y postion, default 0.         startX: int, fitst x postion, default 100.          r: int, radius, default 100.           Returns         x, y: list, x and y contain all postions.      """     theta = 2 * pl.pi / n     x = [startX - r * pl.sin(theta * i) if i >          0 else startX for i in range(n + 1)]     y = [startY + r - r * pl.cos(theta * i)          if i > 0 else startY for i in range(n + 1)]     return x, y 
x, y = polygon(3) pl.plot(x, y) ax = pl.gca() ax.set_aspect(1)  # Make xticks' length qeual to yticks'length. 
生成正多边形

三角形的说

SourceCode

写在后面的

啊~在用程序画图是建立在坐标上的,没有坐标,那就算了喽


参考


最后,就酱

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 生成正多边形

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址