当前位置: 首页 > news >正文

【数学】旋转矩阵

参考链接
OpenGL

from OpenGL.GL import *
from OpenGL.GLUT import *
from math import *
import numpy as np
def draw_axes():glClear(GL_COLOR_BUFFER_BIT)# 绘制坐标轴glColor3f(1.0, 1.0, 1.0)  # 设置坐标轴颜色为白色glBegin(GL_LINES)glVertex2f(-1.0, 0.0)  # x 轴glVertex2f(1.0, 0.0)glVertex2f(0.0, -1.0)  # y 轴glVertex2f(0.0, 1.0)# 绘制刻度线glColor3f(0.5, 0.5, 0.5)  # 设置刻度线颜色为灰色for i in range(-10, 11):  # x 轴刻度线glVertex2f(i * 0.1, -0.02)glVertex2f(i * 0.1, 0.02)for i in range(-10, 11):  # y 轴刻度线glVertex2f(-0.02, i * 0.1)glVertex2f(0.02, i * 0.1)a1 = np.array([1, 1])glColor3f(1.0, 1.0, 0.0)glVertex2f(0.0, 0.0)glVertex2f(a1[0], a1[1])glColor3f(1.0, 0.0, 0.0)theta = 30*pi/180rotation = np.array([[cos(theta),-sin(theta)],[sin(theta), cos(theta)]])a1 = rotation.dot(a1.T)glVertex2f(0.0, 0.0)glVertex2f(a1[0], a1[1])glEnd()# 添加 X 轴标签x_label = "X"  # X 轴标签内容glColor3f(1.0, 0.0, 0.0)draw_text(0.9, -0.1, x_label, GLUT_BITMAP_9_BY_15)# 添加 Y 轴标签y_label = "Y"  # Y 轴标签内容glColor3f(0.0, 0.0, 1.0)draw_text(-0.1, 0.9, y_label, GLUT_BITMAP_9_BY_15)glColor3f(1.0, 1.0, 1.0)draw_text(a1[0]-0.2, a1[1]-0.5, "2", GLUT_BITMAP_9_BY_15)glColor3f(1.0, 1.0, 1.0)draw_text(a1[0], a1[1]-1, "1", GLUT_BITMAP_9_BY_15)glFlush()def draw_text(x, y, text, font):glRasterPos2f(x, y)for char in text:glutBitmapCharacter(font, ord(char))
def main():glutInit()glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)glutInitWindowSize(400, 400)glutCreateWindow(b"OpenGL Axes with Tick Marks")glClearColor(0.0, 0.0, 0.0, 0.0)glMatrixMode(GL_PROJECTION)glLoadIdentity()glOrtho(-1.0, 1.0, -1.0, 1.0,-1,1)glutDisplayFunc(draw_axes)glutMainLoop()if __name__ == "__main__":main()

在这里插入图片描述

http://www.lryc.cn/news/247248.html

相关文章:

  • Python与设计模式--中介者模式
  • 后台管理系统开源项目
  • 电子印章管理系统:是什么、3个平台推荐
  • 现货黄金区间交易的两个要点
  • 安卓底部导航栏BottomNavigationView
  • rust每日一库 rand 生成随机数
  • Unity SRP 管线【第三讲:URP 光照】
  • 怎么更新BI报表数据?问我就对了
  • SpringBoot 入门学习
  • 高等数学零基础篇复习笔记
  • CentOS 系列:CentOS 7文件系统的组成
  • String转Date,Date转String
  • 大坝安全监测的内容及作用
  • Maven——Maven发展历程
  • Python与设计模式--迭代器模式
  • 【NGINX--8】HTTP/2
  • webpack项目工程初始化
  • 08-学成在线项目中统一异常处理的规范
  • 解析生效探测方法
  • 【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷11
  • 视频集中存储/磁盘阵列EasyCVR平台黑名单异常解决步骤是什么?
  • Spring Boot + MyBatis-Plus实现数据库读写分离
  • 数据同步异常处理,数据同步重试机制(Java)
  • STM32F407-14.3.5-01捕获_比较通道
  • 【Python 训练营】N_12 打印菱形图案
  • risc-v异常处理
  • SQL注入-数据库基础/SQL语法
  • Blazor Select 实现点击一次选项触发一次后台事件
  • 只会在终端使用Python运行代码?这些高级用法了解了解
  • 图论 2023.11.27