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

模板网站建设 百度抢购网站源码

模板网站建设 百度,抢购网站源码,大连网页制作培训,东莞市企慕网络科技有限公司Qt OpenGL - 网格式的直角坐标系 引言一、绘制3D网格1.1 绘制平行于y轴的线段1.2 绘制平行于三个轴的线段1.3 绘制不同的3D网格 二、网格式的直角坐标系三、参考链接 引言 在OpenGL进行3D可视化#xff0c;只绘制三条坐标轴略显单薄#xff0c;而绘制网格形式的坐标系则能更清… Qt OpenGL - 网格式的直角坐标系 引言一、绘制3D网格1.1 绘制平行于y轴的线段1.2 绘制平行于三个轴的线段1.3 绘制不同的3D网格 二、网格式的直角坐标系三、参考链接 引言 在OpenGL进行3D可视化只绘制三条坐标轴略显单薄而绘制网格形式的坐标系则能更清晰的展示所画图形位置如上图所示。 OpenGL可视化须知1:https://blog.csdn.net/sinat_36772813/article/details/129338953 OpenGL中的坐标系 OpenGL三维坐标系例子-只有三个轴2:https://blog.csdn.net/qq_37996632/article/details/103178120 OpenGL画坐标系2 OpenGL三维坐标系例子-网格形式3:https://blog.csdn.net/qq_40004575/article/details/109547793 QtOpenGL绘制三维坐标系(动态曲线显示) 一、绘制3D网格 paintGL()函数 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//清除屏幕和深度缓存glLoadIdentity();//旋转显示窗口glTranslatef(0, 0, -30);//glRotatef(45, 0, 1, 0);//画3D网格std::vectorfloat p1 {-4.0f, -4.0f, -4.0f}, p2 {4.0f, 4.0f, 4.0f};GL3DGrid(p1, p2, 3);1.1 绘制平行于y轴的线段 先绘制平行于y轴的线段效果如上图算法核心思想 给定两个3D坐标要通过其绘制平行于y轴的若干线段保证每个线段首尾点的x和z坐标是一致的首尾点的y坐标即两个3D坐标的y坐标。 void QtDraw3DCtrl::GL3DGrid(std::vectorfloat p1, std::vectorfloat p2, int num) {if(p1.size() !3 || p2.size() !3){return; // 稳健}num num -1;const float _xLen (p2[0] - p1[0]) / num;const float _yLen (p2[1] - p1[1]) / num;const float _zLen (p2[2] - p1[2]) / num;// 绘制参数glLineWidth(0.1f);glBegin(GL_LINES);glEnable(GL_LINE_SMOOTH);// 绘制平行于某轴的线段 比如y轴 y坐标固定从p1到p2 x,z坐标变换(无脑遍历即可)for (int xi 0; xi num; xi) {float x _xLen * xi p1[0];for (int zi 0; zi num; zi) {float z _zLen * zi p1[2];glVertex3f(x, p1[1], z);glVertex3f(x, p2[1], z);}}glEnd(); }1.2 绘制平行于三个轴的线段 绘制平行于三个轴的线段如上图所示。增加绘制平行于x轴和z轴的线段代码与绘制平行于y轴的线段类似只是改几个参数。 void QopenGLDemo::GL3DGrid(std::vectorfloat p1, std::vectorfloat p2, int num) {if(p1.size() !3 || p2.size() !3){return; // 稳健}num num -1;const float _xLen (p2[0] - p1[0]) / num;const float _yLen (p2[1] - p1[1]) / num;const float _zLen (p2[2] - p1[2]) / num;// 绘制参数glLineWidth(0.1f);glBegin(GL_LINES);glEnable(GL_LINE_SMOOTH);// 绘制平行y轴的线段 y坐标固定从p1到p2 x,z坐标变换(无脑遍历即可)for (int xi 0; xi num; xi) {float x _xLen * xi p1[0];for (int zi 0; zi num; zi) {float z _zLen * zi p1[2];glVertex3f(x, p1[1], z);glVertex3f(x, p2[1], z);}}// 绘制平行x轴的线段 x坐标固定从p1到p2 y,z坐标变换(无脑遍历即可)for (int yi 0; yi num; yi) {float y _yLen * yi p1[1];for (int zi 0; zi num; zi) {float z _zLen * zi p1[2];glVertex3f(p1[0], y, z);glVertex3f(p2[1], y, z);}}// 绘制平行z轴的线段 z坐标固定从p1到p2 x,y坐标变换(无脑遍历即可)for (int xi 0; xi num; xi) {float x _xLen * xi p1[0];for (int yi 0; yi num; yi) {float y _yLen * yi p1[1];glVertex3f(x, y, p1[2]);glVertex3f(x, y, p2[2]);}}// 结束绘制glEnd(); }1.3 绘制不同的3D网格 修改GL3DGrid(p1, p2, 3)最后一个参数为4610; 二、网格式的直角坐标系 由以上代码已可绘制3D网格但如果在其中绘制目标模型会被遮挡。故可绘制3个2D网格方便显示效果如上图所示。(写到这发现一个bug之前代码在绘制平行x轴的线段的时候p2[1]应改为p2[0]) 核心源码如下所示 void QopenGLDemo::paintGL(){// 初始化glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//清除屏幕和深度缓存glLoadIdentity();//旋转显示窗口glTranslatef(0, 0, -30);//glRotatef(45, 0, 1, 0);//画3D直角坐标系std::vectorfloat x1 {-4.0f, -4.0f, -4.0f}, x2 {-4.0f, 4.0f, 4.0f};GL3DGrid(x1, x2, 10);std::vectorfloat y1 {-4.0f, -4.0f, -4.0f}, y2 {4.0f, -4.0f, 4.0f};GL3DGrid(y1, y2, 10);std::vectorfloat z1 {-4.0f, -4.0f, -4.0f}, z2 {4.0f, 4.0f, -4.0f};GL3DGrid(z1, z2, 10); }void QopenGLDemo::GL3DGrid(std::vectorfloat p1, std::vectorfloat p2, int num) {if(p1.size() !3 || p2.size() !3){return; // 稳健}num num -1;const float _xLen (p2[0] - p1[0]) / num;const float _yLen (p2[1] - p1[1]) / num;const float _zLen (p2[2] - p1[2]) / num;// 绘制参数glLineWidth(0.1f);glBegin(GL_LINES);glEnable(GL_LINE_SMOOTH);// 绘制平行y轴的线段 y坐标固定从p1到p2 x,z坐标变换(无脑遍历即可)for (int xi 0; xi num; xi) {float x _xLen * xi p1[0];for (int zi 0; zi num; zi) {float z _zLen * zi p1[2];glVertex3f(x, p1[1], z);glVertex3f(x, p2[1], z);}}// 绘制平行x轴的线段 x坐标固定从p1到p2 y,z坐标变换(无脑遍历即可)for (int yi 0; yi num; yi) {float y _yLen * yi p1[1];for (int zi 0; zi num; zi) {float z _zLen * zi p1[2];glVertex3f(p1[0], y, z);glVertex3f(p2[0], y, z);}}// 绘制平行z轴的线段 z坐标固定从p1到p2 x,y坐标变换(无脑遍历即可)for (int xi 0; xi num; xi) {float x _xLen * xi p1[0];for (int yi 0; yi num; yi) {float y _yLen * yi p1[1];glVertex3f(x, y, p1[2]);glVertex3f(x, y, p2[2]);}}// 结束绘制glEnd(); } 三、参考链接 https://blog.csdn.net/sinat_36772813/article/details/129338953 OpenGL中的坐标系 ↩︎ https://blog.csdn.net/qq_37996632/article/details/103178120 OpenGL画坐标系2 ↩︎ https://blog.csdn.net/qq_40004575/article/details/109547793 QtOpenGL绘制三维坐标系(动态曲线显示) ↩︎
http://www.zqtcl.cn/news/147974/

相关文章:

  • 响应式网站有什么区别官方app
  • 手机网站建设哪里好网站架构设计师待遇怎么样
  • 静态网站设计wordpress网页视频播放器
  • 打电话做网站的话术网站安全维护方案
  • 变更备案网站可以访问吗google浏览器下载安装
  • 网站空间更换网站开发的服务器是什么
  • 网站 网页玉溪建设网站
  • 江西宜春市城市建设档案馆网站朋友圈广告30元1000次
  • 响应式网站 分辨率惊艳的网站
  • 苏州网站公司排名前十最好看的视频免费下载
  • 快速设计一个网站wordpress4.9.6
  • 网站建立教学深圳宝安网站建设公司推荐
  • 深圳企业网站建设制作公司叶县红色家园网站建设
  • 网站制作报价被哪些因素影响建设银行官方网站首页个人登录
  • 免费网站怎么建谁能给个网站谢谢
  • 吴忠网站建设家里面的服务器可以做网站吗
  • 这是我自己做的网站做网站前台要学什么课程
  • 程序网站开发建设隔离变压器移动网站
  • 网站设置不发送消息怎么设置回来用typecho做的网站
  • 网站机房建设嵌入式培训机构哪家好
  • 购物网站页面设计图片网站 签约
  • 上海网站改版方案网站邮件设置
  • 如何在自己网站添加链接高端品牌logo图片
  • 网站建设找c宋南南app软件设计
  • 龙岗网站推广seo 0xu
  • 成都做网站微网站后台录入
  • 开发区网站建设山东房地产新闻
  • 手机如何搭建网站网站菜单导航
  • 网站建设丿金手指专业社交投票论坛网站开发
  • 做一套网站开发多少钱设计高端的国外网站