当前位置: 首页 > 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()

在这里插入图片描述

相关文章:

【数学】旋转矩阵

参考链接 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 轴g…...

Python与设计模式--中介者模式

23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...

后台管理系统开源项目

最近项目没有什么事做,就自己整理,修改了一些vue2,react的后台管理系统项目,方便以后有需要可以直接提取,当然也方便了大家 vue2技术栈 lyl-vueProjectAdmin: vue2后台管理系统 react技术栈 lyl-reactAdminProject:…...

电子印章管理系统:是什么、3个平台推荐

说到印章,相信看过近现代电视剧的人都见过,一般在订立合约时最常用到,双方在合约上加盖印鉴,即代表着合约的成立。 我小时候还见过我父亲的印章,只是随着时代的发展,印章因为不易携带,容易被盗…...

现货黄金区间交易的两个要点

在现货黄金市场中,我们常碰到横盘区间行情。有区间,就终究会出现突破,因为金价不可能缺乏方向而一直在区间内运行。那既然要突破,我们又应当如何应对和交易呢?下面我们就来讨论一下。 切忌在突破发生时马上跟随突破方向…...

安卓底部导航栏BottomNavigationView

目录 1. BottomNavigationView (1) 准备BottomNavigationView使用的菜单资源文件 (2) 准备颜色选择器 (3) BottomNavigationView控件设置 (4) 在Java代码中设置OnItemSelectedListener监听器 (5) 与Fragment配合 2. BottomTabBar 实现安卓底部导航栏,google为…...

rust每日一库 rand 生成随机数

文章目录 生成随机值生成随机数生成范围内随机数生成自定义类型随机值从一组字母数字字符创建随机密码从一组用户定义字符创建随机密码 总结 生成随机值 rust中官方并没有像以他语言一样,rust并没有官方并没有提供生成随机数的工具,所以我们要借助rand包…...

Unity SRP 管线【第三讲:URP 光照】

3.2.3 以前属于Shader部分,Shader部分不进行讲解。 这里只涉及Unity内部管线的设置问题。 文章目录 3.2.3 向GPU发送灯光数据设置光源数据设置主光源设置额外点光源 Shader中的数据 3.2.3 向GPU发送灯光数据 在UniversalRenderPipeline.cs > RenderSingleCamera…...

怎么更新BI报表数据?问我就对了

BI大数据分析工具上有大量的BI报表模板,这些模板都是一个个完整的BI报表,只需将数据源更换,立即就能用来分析我们自己的数据。那,BI报表的数据怎么更新?接下来就来说说这事。 目的:更新BI报表数据 工具&a…...

SpringBoot 入门学习

开发环境配置 JDK 1.8、Maven 3.8.8、 IDEA CE 2023.2 框架介绍 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置…...

高等数学零基础篇复习笔记

预备章 零基础高等数学入门知识 第一节 集合、运算与关系 第二节 三角函数与反三角函数 三角函数的公式 反三角函数 第三节 常见不等式及数列 划重点 第一章 函数、极限与连续 第一节 函数及函数的初等特性 特殊函数 反函数 函数的初等特性 ①有界性 ②奇偶性 偶函数图像…...

CentOS 系列:CentOS 7文件系统的组成

CentOS 7文件系统的组成 文件系统的组成Linux的一些重要目录文件和目录名主机名文件权限绝对路径和相对路径绝对路径相对路径 文件系统的组成 一切从根开始 文件路径中只有第一个/是根目录,后面的/是分隔符 文件名区分大小写 除斜线(/)以外,其他的字符…...

String转Date,Date转String

源码: Date currentTime new Date();System.out.println("currentTime:"currentTime);SimpleDateFormat formatter new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateString formatter.format(currentTime);System.out.println(&quo…...

大坝安全监测的内容及作用

大坝安全监测是指对大坝水雨情沉降、倾斜、渗压以及大坝形状特征有效地进行监测,及时发现潜在的安全隐患和异常情况,以便大坝管理人员能够做出科学决策,以确保大坝安全稳定运行。 大坝安全监测的主要内容 1.表面位移监测:监测大坝…...

Maven——Maven发展历程

本帖主要介绍以下内容: 什么是Maven为什么需要MavenMaven与极限编程 1、什么是Maven Maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”。Maven是跨平台的项目管理工具。作为Apache组织中的一个颇为成功的开源项目,Mav…...

Python与设计模式--迭代器模式

23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...

【NGINX--8】HTTP/2

1、基本配置 想要利用 HTTP/2。 在 NGINX 服务器上启用 HTTP/2: server {listen 443 ssl http2 default_server;ssl_certificate server.crt; ssl_certificate_key server.key;# ... }详解 要启用 HTTP/2,您只需要将 http2 参数添加到 listen 指令即可…...

webpack项目工程初始化

一、初始化项目 默认系统已经安装node //初始化 pnpm init//安装webpack pnpm i -D webpack webpack-cli 新建一个index.html的入口文件 新建一个src文件存放js代码,src里面新建一个index.js package.josn配置打包命令 {"name": "webpack-cs&q…...

08-学成在线项目中统一异常处理的规范

项目中的异常处理 规范异常类型 在Service类的业务方法中有很多的参数合法性校验,当请求参数不合法的时候会抛出异常,但此时异常信息只会在控制台输出,前端界面并不会提示用户 实际开发中前端和后端需要做一些约定: 一般将错误提示信息统一以json格式返回给前端,以HTTP状态码…...

解析生效探测方法

linux dig命令 1.最常用的查询命令 dig baidu.com2 . 根据记录类型进行查询,比如MX,CNAME,NS,PTR等,只需将类型加在命令后面即可。 dig a.shifen.com ns3 . 指定域名DNS服务器测试解析是否生效的命令,以…...

代码即提示词,测试即推理验证:AI原生研发流水线落地手册(附GitHub千星开源工具链清单)

第一章:从传统开发到AI原生:软件研发范式革命 2026奇点智能技术大会(https://ml-summit.org) 软件研发正经历一场静默却深刻的范式迁移——从以人类编码为中心、面向确定性逻辑的工程实践,转向以提示驱动、模型协同、反馈闭环为特征的AI原生…...

GLM-4.1V-9B-Base作品分享:中文视觉理解SOTA级效果的可复现截图

GLM-4.1V-9B-Base作品分享:中文视觉理解SOTA级效果的可复现截图 1. 模型介绍 GLM-4.1V-9B-Base是智谱最新开源的视觉多模态理解模型,在中文视觉理解任务上达到了SOTA(State-of-the-art)水平。这个模型特别擅长处理与中文相关的视觉任务,能够…...

千问3.5-9B代码审查自动化:定位Bug与安全漏洞检测

千问3.5-9B代码审查自动化:定位Bug与安全漏洞检测 1. 为什么需要自动化代码审查 在软件开发过程中,代码审查是保证质量的重要环节。但传统的人工审查方式面临几个痛点:首先,资深工程师的时间成本太高,每个pull reque…...

Nunchaku-flux-1-dev与Git版本控制:AI生成作品管理方案

Nunchaku-flux-1-dev与Git版本控制:AI生成作品管理方案 1. 引言 想象一下这样的场景:你的团队正在使用Nunchaku-flux-1-dev进行创意设计,生成了数百个版本的AI作品。突然客户说:"我还是更喜欢三天前那个蓝色调的方案&#…...

Qwen3-VL-4B Pro惊艳案例:模糊/低光照图片的高置信度语义还原

Qwen3-VL-4B Pro惊艳案例:模糊/低光照图片的高置信度语义还原 1. 项目简介 Qwen3-VL-4B Pro是基于阿里通义千问Qwen/Qwen3-VL-4B-Instruct模型构建的高性能视觉语言交互服务。相比轻量版的2B模型,这个4B版本在视觉语义理解和逻辑推理能力方面有了显著提…...

AI模型代码双轨并行时代:如何用语义化版本(SemVer 3.0)管理Prompt、Weights与Pipeline?

第一章:AI原生软件研发版本控制最佳实践 2026奇点智能技术大会(https://ml-summit.org) AI原生软件研发显著区别于传统应用开发——模型权重、训练数据集、提示模板、评估指标与代码逻辑深度耦合,单一 Git 仓库难以承载多模态资产的协同演进。版本控制策…...

为什么Gartner刚下调3家明星厂商评级?AI原生数据库选型必须重看这7项硬指标,否则Q3上线即重构

第一章:Gartner评级下调背后的AI原生数据库范式转移 2026奇点智能技术大会(https://ml-summit.org) Gartner近期将多家传统关系型数据库厂商在“云数据库管理系统魔力象限”中的位置下调,其公开报告明确指出:“评估标准已从‘事务吞吐与SQL…...

从零理解RISC-V链接脚本:用一张图搞懂VMA、LMA与启动代码的搬运逻辑

RISC-V链接脚本深度解析:VMA与LMA的内存搬运艺术 当第一次在RISC-V启动代码中看到那段神秘的"数据搬运"汇编时,我盯着屏幕发呆了十分钟——为什么程序要把已经烧写到Flash的数据再复制到RAM?这个看似简单的操作背后,隐藏…...

Pandas 批量读写数据库:高效导入导出优化方案

在数据驱动的开发工作中,Pandas 凭借其强大的数据处理能力,已经成为 Python 数据生态中不可或缺的工具。然而,很多开发者在使用 Pandas 与数据库交互时,常常遇到一个令人头疼的问题:当数据量达到百万级甚至千万级时&am…...

鸿蒙应用开发实战:5分钟搞定versionCode、versionName等关键信息获取

鸿蒙应用开发实战:5分钟掌握应用关键信息获取技巧 在鸿蒙应用开发过程中,获取应用的版本信息、包名等关键数据是开发者的高频需求。无论是用于版本更新检测、应用内展示,还是配合后端接口校验,这些信息都扮演着重要角色。本文将带…...