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

广东建设项目备案公示网站清河做网站哪儿便宜

广东建设项目备案公示网站,清河做网站哪儿便宜,网站必须做可信认证吗,wordpress创建自定义分类法Cesium中通过射线计算日照 前段时间接触到一个需求#xff0c;需要实时的计算建筑的日照#xff0c;通常优先通过shadow map来实现。通过shadow map可以直接获取某一时刻的光照信息#xff0c;累积不同太阳光位置的shadow map即可得到物体表面的光照时长。 不过本人技术有限…Cesium中通过射线计算日照 前段时间接触到一个需求需要实时的计算建筑的日照通常优先通过shadow map来实现。通过shadow map可以直接获取某一时刻的光照信息累积不同太阳光位置的shadow map即可得到物体表面的光照时长。 不过本人技术有限还没能力手撕shadow map之前看了光线追踪的内容考虑到也可以通过射线求交的方法来计算物体表面是否直达光源来累积光照时长。 累积光照时长需要解决一下几个问题 对于复杂几何结构的物体不可能直接求交算法过于复杂需要知道不同时刻的太阳位置不同的日照时长通过不同的颜色来表达 OBB 这里仅实现对立方体的遮挡计算即通过计算物体的有向外包矩形来概化射线求交。 太阳位置 Cesium中内置了计算太阳位置的方法通过Simon1994PlanetaryPositions可以计算得到某时刻的太阳在地球坐标系内的位置。对应代码中的SunHelper.js文件中的方法。 let transforMatrixTransforms.computeTemeToPseudoFixedMatrix(date); let sunposSimon1994PlanetaryPositions.computeSunPositionInEarthInertialFrame(date); Matrix3.multiplyByVector(transforMatrix,sunpos,sunpos);由于晚上没必要计算日照所以多加一步在物体的位置生成一个平面当作地平线在平面以下的当作晚上在平面以上的当作白天。仅在平面以上的太阳位置需要参与计算 颜色表达 能累积到光照的次数后即可以直接换算到不同的颜色可以用LUT也直接除一个整数限制到1以内即可 实现流程 起止日期计算太阳位置 这里计算得到的太阳位置需要换成光线方向并不是需要真的太阳位置。太阳位置减去物体位置得到大致的光线方向。如下sunposs存储筛选后的太阳光线方向。 const startDate JulianDate.fromDate(new Date(2023/07/02 18:00:00)); viewer.clockViewModel.currentTime startDate; const hours 24; const sunposs []; for (let i 0; i hours; i) {const date new JulianDate();JulianDate.addHours(startDate, i, date);console.log(date);let sunpos ComputeSunPos(date);const dir new Cartesian3();Cartesian3.subtract(sunpos, suninitpos, dir);Cartesian3.normalize(dir, dir);const dist Plane.getPointDistance(tgplane, sunpos);if (dist 0) {sunposs.push(dir);} }生成立方体 我手上没有实际的楼的数据就手动创建了几个立方体来计算遮挡。 可以参看createBox方法。 立方体即当作OBB传入FragmentShader中参与相交计算。OBB通过一个立方体中心和立方体的三个半轴来构造。数据也仅传入立方体中心和三个半轴。 最开始担心精度抖动问题立方体中心点采用了EncodedCartesian3进行了高低位拆分。中心和半轴依次存入boxcenters和boxaxies中。 提交数据到GPU 数据还是通过uniform类型来提交暂未考虑数据过大的问题。 不支持uniform数组 调试的时候发现通过{type: , value: }提交数据后无法正确传入到shader中。翻看createUniformArray.js中的代码发现UniformArrayFloatVec3.set方法对于提交的数组并没有正确解析也可能是没找到正确的用法这里我直接改了对应的代码在设置value的时候判断一下是不是数组。 const value this.value instanceof Array?this.value:this.value.value;数据提交还是正常的fabric里面的rtc_lxs也是测试精度抖动问题感觉实际并没有多少效果。 fabric: {uniforms: {lxs: { type: vec3[${sunposs.length}], value: sunposs },boxcenters: { type: vec3[${boxcenters.length}], value: boxcenters },boxaxies: { type: vec3[${boxaxies.length}], value: boxaxies },rtc_lxs:new Cartesian3(-2764233.530084816, 4787599.944020384, 3170398.735383637)}}立方体求交 OBB求交就不多说了还是用的PlaneSet即一对平面立方体为三组平面通过计算射线的进去离开的时间来判断是否相交。 在FS中实现相交算法后即可遍历太阳位置和立方体判断每个太阳下立方体直接的相互遮挡记录相交次数。 在立方体相交时剔除法线和光线朝向反向的顶点保证背面不累计次数。 具体代码看仓库里面吧。懒得说了。 现有问题 目前计算过于耗时在距离立方体近的视角下帧数只有个位数后面有时间再优化一下。 边缘计算抖动 在能射到光源和不能射到光源的交界处计算总是抖动边界及其不稳定这个不知道啥问题有大佬懂得可以指教一下。 代码没整理后期优化。 仓库地址 YHLpuyu/cesium_shine: cesium实现日照分析纯几何方法 (github.com)
http://www.zqtcl.cn/news/96996/

相关文章:

  • 网站关键词优化推广旅游类网站开发开题报告范文
  • 官方网站营销拟在建项目信息网官网
  • 沈阳做微信和网站的公司湛江网站建设公司哪家好
  • 网站 开发逻辑电话销售电销系统
  • 有哪些做兼职的设计网站有哪些工作可以用asp做哪些网站
  • 装修网站推广方案东莞网站建设0086
  • 知名营销网站开发高端网站建设如何收费
  • 佛山网站建设邓先生沈阳做网站找黑酷科技
  • 网站建设 排名下拉请教个人主页网站怎么做啊
  • 揭阳网站制作教程安阳seo公司
  • 网站运营管理教材wordpress 评论框插件
  • 免费做手机网站有哪些网页怎么制作链接
  • 浙江省建设工程质量协会网站wordpress只在首页设置关键词
  • 网站开发选题申请理由东莞网站建议
  • 阿里巴巴国际站运营培训商务网站的建设步骤
  • 有哪几个平台做网站专业的网站建设流程
  • 网站的回到顶部怎么做字体艺术设计在线生成
  • 物流营销型网站案例分析渭南专业做网站
  • 织梦音乐网站接推广任务的平台
  • 网站建设设计团队平面设计主要做什么ui
  • 站长工具seo综合查询广告和京东一样的网站
  • 柳州做网站的企业做黑彩网站
  • 商城网站开发那家好网站建设知识平台
  • 莱州网站定制flash网站cms
  • 经营范围里的网站建设直播系统程序
  • 58同城类似的网站开发wordpress 地方生活
  • wordpress 七牛ossseo系统
  • 郑州做网站 熊掌号太原今天最新通知
  • 文章网站如何与压力做足球比赛直播间在线观看
  • 越秀网站建设优化呼和浩特住房和城乡建设部网站