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

淄博网站制作网页营销建立公司网站步骤

淄博网站制作网页营销,建立公司网站步骤,快速做网站优化,加盟平台网站怎么做1. Three.js中的拾取 1.1. 从模型转到屏幕上的过程说开 由于图形显示的基本单位是三角形#xff0c;那就先从一个三角形从世界坐标转到屏幕坐标说起#xff0c;例如三角形abc 乘以模型视图矩阵就进入了视点坐标系#xff0c;其实就是相机所在的坐标系#xff0c;如下图那就先从一个三角形从世界坐标转到屏幕坐标说起例如三角形abc                   乘以模型视图矩阵就进入了视点坐标系其实就是相机所在的坐标系如下图       进入视点坐标系后再乘以投影矩阵就会变换到一个立方体内如下图:       这个时候整个三角形就位于中心位于坐标系原点边长为2的立方体内在这个立方体内三角形要计算光照要裁剪然后乘以视口矩阵最后转到屏幕上。           转到屏幕上后三角形的所有点的Z坐标就是深度坐标一定在(0, 1)这个区间内那么哪些点的Z坐标是0呢在投影坐标系中一定是投影视景体的前剪切平面上的点而投影视景体的后剪切平面上的点的Z坐标就是1。   1.2. 思路来了      根据以上三角形转换到屏幕坐标上的过程可以分析出鼠标在屏幕上点击的时候可以得到二维坐标p(x, y),再加上深度坐标的范围(0, 1), 就可以形成两个三位坐标A(x, y, 0), B(x, y, 1),  由于它们的Z轴坐标是0和1则转变到投影坐标系的话一定分别是前剪切平面上的点和后剪切平面上的点也就是说在投影坐标系中A点一定在能看见的所有模型的最前面B点一定在能看见的所有的模型的最后边假设视口矩阵的逆矩帧投影矩阵的逆矩阵模型视图矩阵的逆矩阵为M, N, P则 P * N * M * A A1,  P * N * M * B B1, 在世界坐标系中点A1B1就可以形成一个射线,此射线和模型再求交就能选中模型。如下图是在视点坐标系中的情形。注意求交可以在视点坐标系或者世界坐标系计算都可以但一般会在世界坐标坐标系中计算。       1.3. 拾取的优化射线和AABB包围盒求交       如果射线和所有的模型求交显然不是一个好办法一般情况下会进行一些优化比如先和模型的包围盒求交如果和模型的包围盒不相交的话就放过去否则就接着往下进行和模型的所有三角面片求交。         那么什么是包围盒呢在计算机图形学与计算几何领域一组物体的包围体就是将物体组合完全包容起来的一个封闭空间。将复杂物体封装在简单的包围体中就可以提高几何运算的效率。通常简单的物体比较容易检查相互之间的重叠。其中有一种包围盒叫做AABB, AABB的全称是axis aligned bounding box就是我们常常提到轴向包围盒这个盒子的边是平行于x/y/z轴的。 所有的2d和3d物体都是由点组成的所以只要找出这些物体的最大值点和最小值点那么就可以使用这两个点表示该物体的AABB包围盒了。       检测碰撞的时候我们只需要检测这些物体的AABB即他们的最大值点和最小值点是否相交就可以判断是否碰撞了。               1.4. 射线和三角形相交        判断射线和包围盒是否求交后就轮到判断是否和三角形求交了最先想到的是 首先判断射线是否与三角形所在的平面相交如果相交再判断交点是否在三角形内。判断射线是否与平面相交, 判断点是否在三角形内.   1.5. THREE.JS中求交的代码实现     three.js中的一个案例名字叫webgl_interactive_lines.html,可以选中一根线并显示一个小球。根据以上的思路代码注释如下   //鼠标点击的屏幕坐标转换到视点坐标系   var vector new THREE.Vector3( mouse.x, mouse.y, 1 ).unproject( camera );    //在视点坐标系中形成射线    raycaster.set( camera.position,vector.sub( camera.position ).normalize() );    //射线和模型求交选中一系列直线   var intersects raycaster.intersectObjects( parentTransform.children, true);   if ( intersects.length 0 ) {   if ( currentIntersected ! undefined )    {    currentIntersected.material.linewidth 1;    }      //第一个直线   currentIntersected intersects[ 0 ].object;   currentIntersected.material.linewidth 5;       //把球设为可见并且位置移到鼠标点击的屏幕位置   sphereInter.visible true;       sphereInter.position.copy( intersects[ 0 ].point );   }   欢迎加微信 nuonuodi_1, 交流更多的技术问题  转载于:https://www.cnblogs.com/lizhengjin/p/5914216.html
http://www.zqtcl.cn/news/758398/

相关文章:

  • vip影视网站怎么做的辽宁建设厅网站什么时候换的
  • 搭建个网站网站维护合同模板
  • 优盖网logo在线设计南通做网站优化的公司
  • 做百度糯米网站的团队新媒体营销推广公司
  • 个人做网站的时代已经过去大连男科医院排名表
  • 天津餐饮网站建设贵港做网站化司
  • 昆山哪家做网站好猪八戒网站建设
  • 网站的静态资源服务器怎么做河北网站备案
  • php儿童摄影网站源码东莞做网站的公司哪家最好
  • 金融投资网站建设wordpress九宫格主题
  • 玉田县网站建设手机网站建设西安
  • 高质量外链网站请大学生做网站
  • 2021能看的网站不要app贴吧网站以前在百度能搜索不到了
  • 个人做网站时不要做什么样的网站百度网站排名全掉
  • 鹤岗做网站制作企业网站需要注意的事项
  • 网站建设服务器是什么意思短网址转换器
  • 红叶网站开发工作室整站优化费用
  • 温州网站建站模板建设小企业网站步骤
  • 免费企业网站我为什么电商要学网站建设
  • 建设网站员工招聘策划方案win2012 iis配置网站
  • 织梦cms 5.6网站地图图标怎么在wordpress
  • instagram wordpress北京seo学校
  • 网站优化的基本思想企业网站建设和运营
  • 网站开发电销常遇到问题怎么建立一个群
  • worldpress 建站少儿编程加盟费一般多少钱
  • 哪个公司做网站建设好九一人才网赣州招聘官网
  • 城阳区规划建设局网站哈尔滨网站建设好
  • 中小型网站建设价位无锡有哪些互联网公司
  • 网站内容收费jquery 网站框架
  • 自己建网站买玩具外贸网站如何做推广