计算机图形学:向量运算(OpenGL)
OpenGL的向量表示法:
//三维向量
glm::vec3 myVector1;
glm::vec3 myVector2 = { 1.0f, 1.0f, 1.0f};//四维向量
glm::vec4 myVector4;
glm::vec4 myVector5 = { 1.0f, 1.0f, 1.0f, 1.0f};// 三维向量数组
glm::vec4 Vertor3[] = {-0.1f, 0.0f, 0.1f,0.1f, 0.0f, 0.0f,0.0f, 0.1f, 0.0f };
向量的加减法:
vec3+vec3
vec3-vec3
向量的归一化(将向量长度置为1):
normalize(vec3)
向量的点积:
dot(vec3,vec3)
点积求夹角:
glm::vec3 a= glm::vec3(0, 1, 0);glm::vec3 b= glm::vec3(1, 0, 0);//返回2个向量的夹角 弧度 [0,π]float angle = glm::angle(a, b);//返回2个向量的夹角 弧度 [0,π]//返回2个向量相对于 axis 的夹角 弧度 [-π,π]glm::vec3 axis = glm::normalize(glm::cross(a, b));
向量的叉积(可以求两个向量所在平面的法线或可以求出图形面积):
cross(vec3,vec3)
计算机图形学:向量运算(OpenGL)相关推荐
- 计算机图形学基础(OpenGL版)实验四 直线裁剪
计算机图形学基础 实验四 直线裁剪 1.实验目的: 了解二维图形裁剪的原理(点的裁剪.直线的裁剪.多边形的裁剪),利用VC+OpenGL实现直线的裁剪算法. 2.实验内容: (1) 理解直线裁剪的原理 ...
- 计算机图形学基础徐文鹏知识点,计算机图形学基础(OpenGL版)
第1章 绪论 1.1 计算机图形学的目标与任务 1.1.1 视觉交流是计算机图形学的核心目标 1.1.2 计算机图形学的三个基本任务 1.2 计算机图形学的内容体系 1.3 计算机图形学相关学科 1. ...
- 【计算机图形学】【OpenGL】基于窗口的Liang-Barsky的折线段裁剪的实现
计算机图形学课程实验,出于记录和分享学习过程的目的写下此博客.由于是第一次写博客,不足之处还望指出. 目录 实验要求: 实现效果: 头文件: Liang-Barsky算法部分: 实现部分: 全局变量定 ...
- 【计算机图形学】基于OpenGL的中点Bresenham算法画直线
学习过三种画直线的方法(DDA.中点Bresenham算法.改进的中点Bresenham算法)后,想着实际操作一下如何能够实现,OpenGL无疑是很好的选择,在老师的推荐下,我尝试着用OpenGL来实 ...
- 计算机图形学实验四 OpenGL的鼠标交互绘制
一.实验目的 1.掌握OpenGL的鼠标按钮响应函数. 2.掌握OpenGL的鼠标移动响应函数. 3.进一步巩固OpenGL的基本图元绘制基础. 二.实验内容 1.鼠标画草图--实现鼠标点到哪,线就画 ...
- 深圳大学计算机图形学实验一——OpenGL绘制布布头像
尝试利用OpenGL绘制一些可爱的表情包. 一二布布是较为流行的一套萌系表情包.我选择绘制一二布布系列的一张表情包.这张表情包描绘了趴在窗户上的一只小棕熊布布. 表情包印在手机壳的样例如下: 头的绘制 ...
- 计算机图形学 学习笔记 OpenGL图形用户界面和交互输入
目录 OpenGL支持交互式输入设备的函数 GLU鼠标函数 GLUT键盘函数 OpenGL的菜单功能 创建GLUT菜单 创建和管理多个GLUT菜单 创建GLUT子菜单 修改GLUT菜单 OpenGL支 ...
- 计算机图形学实验(OpenGL实现):Spinning Pinwheel
实验要求: 构建且渲染一个3D风车模型(如下图所例示).其中,三个叶片(包括中间的黄色三角形)在一个2D平面上,手柄在另外一个离相机更近的2D平面上.三个叶片.中心的三角形.手柄分别用不同的颜色显示. ...
- 【计算机图形学】c++ OpenGL Sutherlang-Hodgman 多边形裁剪
源代码 // 多边形裁剪.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h" #include<GL/glut.h> #include ...
最新文章
- SD-WAN — 核心能力
- UVa563 - Crimewave
- Testng 测试框架源码阅读(二)
- 面向B端算法实时业务支撑的工程实践
- 0 改造,让单体/微服务应用成为 Serverless Application
- 蚁群算法matlab vrp问题车辆限重,蚁群算法MATLAB解VRP问题
- Fotolog对memcached的应用
- 2.抽象工厂(Abstract Factory)
- python统计合格数_python—基本统计值计算
- fiddler抓包工具1
- 图神经网络——node2vec
- 使用hue时hive的历史查询记录结果无法下载
- 八.声明圆锥体类,实现Area和vloume接口计算表面积和体积,按体积大小进行比较...
- idea工具首次提交代码到git上
- java 用0部补位_java 用0部补位
- mysql创建表格例子_Mysql创建表例子 | restcy 技术博客
- 远程电脑不能复制粘贴
- git使用报错:fatal: Couldn‘t find remote ref master的解决方法
- 8种适用于不同机器学习问题的常用数据集
- MongoDB 可视化工具 RoboMongo---Win7 64 安装