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)相关推荐

  1. 计算机图形学基础(OpenGL版)实验四 直线裁剪

    计算机图形学基础 实验四 直线裁剪 1.实验目的: 了解二维图形裁剪的原理(点的裁剪.直线的裁剪.多边形的裁剪),利用VC+OpenGL实现直线的裁剪算法. 2.实验内容: (1) 理解直线裁剪的原理 ...

  2. 计算机图形学基础徐文鹏知识点,计算机图形学基础(OpenGL版)

    第1章 绪论 1.1 计算机图形学的目标与任务 1.1.1 视觉交流是计算机图形学的核心目标 1.1.2 计算机图形学的三个基本任务 1.2 计算机图形学的内容体系 1.3 计算机图形学相关学科 1. ...

  3. 【计算机图形学】【OpenGL】基于窗口的Liang-Barsky的折线段裁剪的实现

    计算机图形学课程实验,出于记录和分享学习过程的目的写下此博客.由于是第一次写博客,不足之处还望指出. 目录 实验要求: 实现效果: 头文件: Liang-Barsky算法部分: 实现部分: 全局变量定 ...

  4. 【计算机图形学】基于OpenGL的中点Bresenham算法画直线

    学习过三种画直线的方法(DDA.中点Bresenham算法.改进的中点Bresenham算法)后,想着实际操作一下如何能够实现,OpenGL无疑是很好的选择,在老师的推荐下,我尝试着用OpenGL来实 ...

  5. 计算机图形学实验四 OpenGL的鼠标交互绘制

    一.实验目的 1.掌握OpenGL的鼠标按钮响应函数. 2.掌握OpenGL的鼠标移动响应函数. 3.进一步巩固OpenGL的基本图元绘制基础. 二.实验内容 1.鼠标画草图--实现鼠标点到哪,线就画 ...

  6. 深圳大学计算机图形学实验一——OpenGL绘制布布头像

    尝试利用OpenGL绘制一些可爱的表情包. 一二布布是较为流行的一套萌系表情包.我选择绘制一二布布系列的一张表情包.这张表情包描绘了趴在窗户上的一只小棕熊布布. 表情包印在手机壳的样例如下: 头的绘制 ...

  7. 计算机图形学 学习笔记 OpenGL图形用户界面和交互输入

    目录 OpenGL支持交互式输入设备的函数 GLU鼠标函数 GLUT键盘函数 OpenGL的菜单功能 创建GLUT菜单 创建和管理多个GLUT菜单 创建GLUT子菜单 修改GLUT菜单 OpenGL支 ...

  8. 计算机图形学实验(OpenGL实现):Spinning Pinwheel

    实验要求: 构建且渲染一个3D风车模型(如下图所例示).其中,三个叶片(包括中间的黄色三角形)在一个2D平面上,手柄在另外一个离相机更近的2D平面上.三个叶片.中心的三角形.手柄分别用不同的颜色显示. ...

  9. 【计算机图形学】c++ OpenGL Sutherlang-Hodgman 多边形裁剪

    源代码 // 多边形裁剪.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h" #include<GL/glut.h> #include ...

最新文章

  1. SD-WAN — 核心能力
  2. UVa563 - Crimewave
  3. Testng 测试框架源码阅读(二)
  4. 面向B端算法实时业务支撑的工程实践
  5. 0 改造,让单体/微服务应用成为 Serverless Application
  6. 蚁群算法matlab vrp问题车辆限重,蚁群算法MATLAB解VRP问题
  7. Fotolog对memcached的应用
  8. 2.抽象工厂(Abstract Factory)
  9. python统计合格数_python—基本统计值计算
  10. fiddler抓包工具1
  11. 图神经网络——node2vec
  12. 使用hue时hive的历史查询记录结果无法下载
  13. 八.声明圆锥体类,实现Area和vloume接口计算表面积和体积,按体积大小进行比较...
  14. idea工具首次提交代码到git上
  15. java 用0部补位_java 用0部补位
  16. mysql创建表格例子_Mysql创建表例子 | restcy 技术博客
  17. 远程电脑不能复制粘贴
  18. git使用报错:fatal: Couldn‘t find remote ref master的解决方法
  19. 8种适用于不同机器学习问题的常用数据集
  20. MongoDB 可视化工具 RoboMongo---Win7 64 安装

热门文章

  1. CSS设置元素的透明度(不透明度)
  2. Java工程师只要掌握这些知识点,就能给面试官一个满意的答案,挑战高薪
  3. 中州韵输入法 linux,linux manjaro安装五笔+拼音输入法(中州韵)
  4. Win11右键菜单改回Win10
  5. 如何使用Proteus进行电路设计仿真?
  6. 解读京东提出的第四次零售革命
  7. 利用Python理解TTF矢量字体显示原理
  8. 一颗病毒大小的新型分子或可帮助人类找到暗物质
  9. FPGA进阶(2):基于I2C协议的EEPROM驱动控制
  10. TM1650芯片驱动四位数码管