【数学】旋转矩阵

参考链接
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.hqwc.cn/news/227617.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HIT_OS_LAB4 系统调用

实验内容 编写iam.c和whoami.c iam.c #define __LIBRARY__ #include <unistd.h>// 定义系统调用 iam&#xff0c;参数为字符串 name _syscall1(int, iam, const char*, name);int main(int argc, char **argv) {int wlen 0;// 检查命令行参数数量if (argc < 2) {pri…

Appium PO模式UI自动化测试框架——设计与实践

1. 目的 相信做过测试的同学都听说过自动化测试&#xff0c;而UI自动化无论何时对测试来说都是比较吸引人的存在。相较于接口自动化来说&#xff0c;它可以最大程度的模拟真实用户的日常操作与特定业务场景的模拟&#xff0c;那么存在即合理&#xff0c;自动化UI测试自然也是广…

【随笔】OpenFlow概述

SDN之前的网络结构 硬件 操作系统 网络功能(交换机、路由器、防火墙、VPN、NAT、OSPF、BGP、Traffic Engineering) 北向是SDN应用 SDN控制器 底层是SDN数据面(通用硬件) openflow OPEN NETWORKING FOUNDATION 支持开放的SDN平台&#xff0c;一直使用的是openflow协议。 op…

【C数据(一)】数据类型和变量你真的理解了吗?来看看这篇

&#x1f308;write in front :&#x1f50d;个人主页 &#xff1a; 啊森要自信的主页 ✏️真正相信奇迹的家伙&#xff0c;本身和奇迹一样了不起啊&#xff01; 欢迎大家关注&#x1f50d;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;>希望看完我的文章对你有小小的帮助&am…

反射、枚举以及lambda表达式

1. 反射 1.1 定义 java的.class文件在运行时会被编译为一个Class对象&#xff0c;既然是对象&#xff0c;那么我们就可以通过一定的方式取到这个对象&#xff0c;然后对于这个对象进行一系列操作&#xff08;改变原本类的属性、方法&#xff09;。 这个操作就是反射&#xf…

5面试题--redis

慢查询⽇志&#xff1a;⽤于记录执⾏时间超过给定时⻓的命令请求&#xff0c;⽤户可以通过这个功能产⽣的⽇志来监视和 优化查询速度。 布隆过滤器&#xff1a;⼆进制数组进⾏存储&#xff0c;若判断元素存在则可能实际存在&#xff0c;若判断不存在则⼀定不存在。 redis中inc…

HelpLook可以作为wordpress的替代品,帮助企业快速搭建博客

博客作为一个非常有价值的平台&#xff0c;在当今的数字时代具有重要的意义。对于个人和企业来说&#xff0c;选择一款适合自己需求的专业博客搭建软件至关重要。本篇文章将会通过对比两个专业的博客搭建软件——HelpLook和WordPress&#xff0c;看看为什么我说HelpLook可以作为…

别再让假的fiddler教程毒害你了,来看这套最全最新的fiddler全工具讲解

fiddler界面工具栏介绍 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; &#xff08;1&#xff09;WinConfig&#xff1a;windows 使用了一种叫做“AppContainer”的隔离技术&#xff0c;使得一些流量无法正常捕获&#xff0c;在 fiddler中点击 WinConfig…

某东大厂面试js手写题【手写代码附带注释,放心食用,博主亲测】

文章目录 前言js实现push方法js实现订阅发布手写防抖节流手写reduce方法深拷贝es5去重数组多维数组去重排序简单递归实现树形结构输出遍历后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;前端面试 &#x1f431;‍&#x1f453;博主在前…

【用unity实现100个游戏之17】从零开始制作一个类幸存者肉鸽(Roguelike)游戏3(附项目源码)

文章目录 本节最终效果前言近战武器控制近战武器生成升级增加武器伤害和数量查找离主角最近的敌人子弹预制体生成子弹发射子弹参考源码完结 本节最终效果 前言 本节紧跟着上一篇&#xff0c;主要实现武器功能。 近战武器 新增Bullet&#xff0c;子弹脚本 public class Bull…

windows系统mobaxterm远程执行linux上ssh命令

命令如下 start "" "%~dp0\MobaXterm_Personal_23.4.exe" -newtab "sshpass -p root ssh root192.168.11.92 mkdir 33" -p 是密码 左边是用户名&#xff0c;右边是服务器ip 后面跟的是服务器上执行的命令 第一次执行的时候要设置mobaxt…

使用Python实现SVM来解决二分类问题

下面是一个使用Python实现SVM来解决二分类问题的例子&#xff1a; # 导入所需的库 from sklearn.datasets import make_blobs from sklearn.model_selection import train_test_split from sklearn.svm import SVC import matplotlib.pyplot as plt# 生成一个二分类数据集 X, …