首页 > 编程语言 >python画三角函数图像tanx

python画三角函数图像tanx

时间:2024-09-02 19:23:40浏览次数:8  
标签:goto 三角函数 python curve mark write tanx line first

源码


# 开发者:a_blue_fat
# 日期:2024/8/14
# 时间:19:00
# 文件名称 三角函数画图


# 开发者 a_blue_fat

# 日期2024年8月9日
import math
import turtle as t
from 三角函数得数 import cos, sin, tan

t.setup(1000, 800, 0, 0)

#将画画点移动到指定位置写入需要标记数字
def write_num_x_y(x, y, num):
    t.penup()
    t.goto(x, y)
    t.write(num, align="right", font=("楷体", 12, "bold"))

# 画标记位置对应值的线条
def write_line(x,y):
    t.pendown()
    t.goto(x, y)
    t.penup()

def write_line_curve(x, y):
    if y>-300+33+203:
        print("w")
    else:
        if y>= -333:
            t.pendown()
        t.goto(x, y)
        t.penup()
#写入对应数字
# t.write("一朵小花\n", align="right", font=("楷体", 16, "bold"))






if __name__ == '__main__':
    # 初始标记纵坐标的值
    y_setnum = 1000

    # 初始标记横坐标的值
    x_setnum = 0

    #开始标记的初始位置
    first_y = -300
    first_x = -400

    # 循环输入纵坐标
    first_y += 33
    while True:
        first_y += 66
        write_num_x_y(first_x, first_y, f"{y_setnum/1000}")
        # 画标记线
        t.goto(first_x ,first_y)
        write_line(first_x+10, first_y)
        y_setnum += 25

        # 初始化标记初始位置的变量
        if y_setnum > 1175:
            first_y = -300
            break

    # 循环输入横坐标
    first_x += 20
    while True:
        first_x += 100
        x_setnum += 1
        write_num_x_y(first_x, first_y, f"{x_setnum}π")
        # 画标记线
        t.goto(first_x-10, first_y+20)
        write_line(first_x-10,first_y+30)

        # 初始化标记初始位置的变量
        if x_setnum > 7:
            first_x = -300
            break

    # 定义横纵坐标线初始位置变量
    mark_line_x = first_x-90
    mark_line_y = first_y+33

    # 输入横纵坐标线
    t.goto(mark_line_x, mark_line_y)
    write_line(mark_line_x, 300)
    t.goto(mark_line_x,mark_line_y)
    write_line(410, mark_line_y)

    #画曲线

    #设置写入颜色
    t.color("red")

    # 设置曲线画入初始位置
    curve_first_x = mark_line_x
    curve_first_y = mark_line_y


    # 设置x轴反向初始值
    in_x = 0

    while True:

        #获取cosx对应的值
        # in_y = cos(in_x)

        # #获取sinx对应的值
        # in_y = sin(in_x)

        #获取tanx对应的值
        in_y = tan(in_x)

        # 获取对应画到位置的值
        if in_x % 20 == 0 and in_x != 0:
            #开始画线
            write_line(curve_first_x+in_x*10, curve_first_y+in_y)
            t.goto(curve_first_x+in_x*10, curve_first_y + in_y)
        elif in_x == 0:
            t.goto(curve_first_x+in_x*10, curve_first_y + in_y)

        else:
            #开始画线
            write_line_curve(curve_first_x+in_x*10, curve_first_y+in_y)
            print(in_y)

        # 画到最大值停止绘画
        in_x += 1
        if in_x > 80:
            break
    print(cos(float(9 % 20/10)*math.pi)*66)

    t.done()
    pass






if __name__ == '__main__': 
    pass

实现画出边界线的代码

    # 定义横纵坐标线初始位置变量
    mark_line_x = first_x-90
    mark_line_y = first_y+33

    # 输入横纵坐标线
    t.goto(mark_line_x, mark_line_y)
    write_line(mark_line_x, 300)
    t.goto(mark_line_x,mark_line_y)
    write_line(410, mark_line_y)

实现画出标记不同坐标的符号值的代码

    # 循环输入纵坐标
    first_y += 33
    while True:
        first_y += 66
        write_num_x_y(first_x, first_y, f"{y_setnum/1000}")
        # 画标记线
        t.goto(first_x ,first_y)
        write_line(first_x+10, first_y)
        y_setnum += 25

        # 初始化标记初始位置的变量
        if y_setnum > 1175:
            first_y = -300
            break

    # 循环输入横坐标
    first_x += 20
    while True:
        first_x += 100
        x_setnum += 1
        write_num_x_y(first_x, first_y, f"{x_setnum}π")
        # 画标记线
        t.goto(first_x-10, first_y+20)
        write_line(first_x-10,first_y+30)

        # 初始化标记初始位置的变量
        if x_setnum > 7:
            first_x = -300
            break

画出曲线的代码

 #画曲线

    #设置写入颜色
    t.color("red")

    # 设置曲线画入初始位置
    curve_first_x = mark_line_x
    curve_first_y = mark_line_y


    # 设置x轴反向初始值
    in_x = 0

    while True:

        #获取cosx对应的值
        # in_y = cos(in_x)

        # #获取sinx对应的值
        # in_y = sin(in_x)

        #获取tanx对应的值
        in_y = tan(in_x)

        # 获取对应画到位置的值
        if in_x % 20 == 0 and in_x != 0:
            #开始画线
            write_line(curve_first_x+in_x*10, curve_first_y+in_y)
            t.goto(curve_first_x+in_x*10, curve_first_y + in_y)
        elif in_x == 0:
            t.goto(curve_first_x+in_x*10, curve_first_y + in_y)

        else:
            #开始画线
            write_line_curve(curve_first_x+in_x*10, curve_first_y+in_y)
            print(in_y)

        # 画到最大值停止绘画
        in_x += 1
        if in_x > 80:
            break

标签:goto,三角函数,python,curve,mark,write,tanx,line,first
From: https://blog.csdn.net/2301_80120329/article/details/141827876

相关文章

  • 【Python】企业排名、地域分布与词云分析可视化
    目录数据处理Pyecharts各国数量分布地图数量占比城市分布营业收入利润转化数据处理2021世界五百强企业数据,包含公司名称、公司链接、营业收入(百万美元)、利润(百万美元)、国家等信息。数据集下载:Python企业排名、地域分布与词云分析数据集资源-CSDN文库importnu......
  • 【Python机器学习】卷积神经网络(CNN)——语义理解
    无论是人类还是机器,理解隐藏在文字背后的意图,对于倾听者或阅读者来说的,都是一项重要的技能。除了理解单个词的含义,词之间还有各种各样巧妙的组合方式。词的性质和奥妙与词之间的关系密切相关。这种关系至少有两种表达方式:词序词的临近度这些关系的模式以及词本身存在的模式......
  • 在Python中如何执行语句?
    Python是一种高级编程语言,具有简洁、易读的语法结构,广泛应用于数据分析、机器学习、web开发、人工智能、游戏开发等领域。而在Python中,语句是构建程序的基本单元,通过语句来实现具体的功能操作,那么Python如何执行语句?具体请看下文。Python使用以下方法来执行语句:1、解......
  • 学习Python多久才能入门?
    转行学习编程,Python语言是大多数人的首要选择。因为它不仅在web开发、游戏开发、数据分析、网络爬虫等领域有着优异的表现,更是人工智能和机器学习的首选语言,那么学会Python大概需要多久?我们一起来看看吧。学习Python所需的时间取决个人的学习速度、学习目标和学习方式。......
  • 人员拥挤检测系统 Python
    人员拥挤检测系统通过Python网络模型算法技术,人员拥挤检测算法对校园/厂区/车间/港口/街道等场景的监控画面区域实现7X24小时全天候不间断进行自动分析监测,当人员拥挤检测算法监测到现场区域范围内,有异常的人群聚集(出现拥挤情况)时,人员拥挤检测算法会立刻抓拍存档并通知相关后台人员......
  • 一篇文章让你彻底掌握 Python,建议收藏!
    写在前面:如果你对Python感兴趣的话,可以试试我整理的这一份全套的Python学习资料,【点击这里】免费领取!目录解释器注释数据类型操作符算术运算符比较运算符赋值运算符位运算符逻辑运算符成员运算符身份运算符运算符优先级控制语句条件语句循环语句whilefor......
  • Python大数据之Hadoop学习——day07_Hive分区表和分桶表
    目录一.分区表一级分区多级分区分区操作hadoop_hive文档二.分桶表基础分桶表:分桶表排序:分区表和分桶表区别一.分区表分区表特点:需要产生分区目录,查询的时候使用分区字段筛选数据,避免全表扫描,替身查询效率 效率上:如果分区表,在查询数据的时候没有分区字段去筛......
  • Allen基因图谱:python Aabgen的安装
    1.abagen使用教程的官方链接:abagen:AtoolboxfortheAllenBrainAtlasgeneticsdata—abagen0.1.3-doc+0.g2aeab5b.dirtydocumentation2.在安装abagen之前先提前安装好一下的包window系统操作步骤:(1)安装好python(假如安装在E盘,E:\python\)(2)win+R打开任务管理器,输入......
  • 基于python+flask框架的基于移动端的疫情环境下大学生心理服务平台(开题+程序+论文) 计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着全球疫情的持续蔓延,大学生群体作为社会的重要组成部分,其心理健康问题日益凸显。疫情期间,校园封闭管理、线上学习模式的转变、社交活动......
  • 基于python+flask框架的企业内部通讯系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着企业规模的日益扩大和业务的全球化发展,企业内部沟通的高效性与及时性成为了影响企业运营效率与团队协作的关键因素。传统的沟通方式如......