tag 标签: 12月

相关资源
  • 所需E币: 0
    时间: 2023-12-11 14:51
    大小: 3.47KB
    Three.js是一个3DJavaScript库,它可以帮助你为网络创造3D体验,而且非常容易使用。如果你想让你的网站更加炫酷,那么Three.js一定是你的好帮手。Three.js是一个在MIT许可下的JavaScript库,它在WebGL之上运行。这个库的目标就是简化处理3D内容的过程。只需要几行代码,你就可以获得一个动画3D场景,而且你无需了解复杂的着色器和矩阵。要在屏幕上展示3D图形,思路大体上都是这样的:1、构建一个三维空间Three中称之为场景(Scene)2、选择一个观察点,并确定观察方向/角度等Three中称之为相机(Camera)3、在场景中添加供观察的物体Three中的物体有很多种,包括Mesh,Line,Points等,它们都继承自Object3D类4、将观察到的场景渲染到屏幕上的指定区域Three中使用Renderer完成这一工作不同服务之间的通信可以采用restTemplate来进行通信调用,当然使用httpClient来构建也是可以的。com.imooc.api.config.CloudConfig.java@AutowiredprivateRestTemplaterestTemplate;//判断faceId不为空,为空直接返回登录失败//2.请求文件服务,获取人脸的base64信息StringfileServerUrlExecute="http://files.imoocnews.com:8004/fs/readFace64InGridFS?faceId="+adminFaceId;ResponseEntity<GraceJSONResult>resultEntity=restTemplate.getForEntity(fileServerUrlExecute,GraceJSONResult.class);GraceJSONResultgraceJSONResult=resultEntity.getBody();Stringbase64DB=(String)graceJSONResult.getData();//    System.out.println("restTemplate远程调用获得的内容为:"+base64);returnGraceJSONResult.ok();com.imooc.admin.controller.FriendLinkMngController.java@RestControllerpublicclassFriendLinkMngControllerextendsBaseControllerimplementsFriendLinkMngControllerApi{  finalstaticLoggerlogger=LoggerFactory.getLogger(FriendLinkMngController.class);  @Override  publicGraceJSONResultsaveOrUpdateFriendLink(SaveFriendLinkBOsaveFriendLinkBO,                         BindingResultresult){//    System.out.println(saveFriendLinkBO.toString());    //判断BindingResult是否保存错误的验证信息,如果有,则直接return    if(result.hasErrors()){      Map<String,String>errorMap=getErrors(result);      returnGraceJSONResult.errorMap(errorMap);    }    //保存到MongoDB    FriendLinkMOfriendLinkMO=newFriendLinkMO();    BeanUtils.copyProperties(saveFriendLinkBO,friendLinkMO);    friendLinkMO.setCreateTime(newDate());    friendLinkMO.setUpdateTime(newDate());           returnGraceJSONResult.ok();  }}下面我们用一个简单的例子来梳理一下这个过程。首先写一个有Canvas元素的页面吧。@Document(collection="friend_link")publicclassFriendLinkMO{  /**   *@Id自定义Id主键,mongodb的文档id不会自动生成,会使用我们设置的id值   */  @Id  privateStringid;  @Field("link_name")  privateStringlinkName;  @Field("link_url")  privateStringlinkUrl;  @Field("is_delete")  privateIntegerisDelete;  @Field("create_time")  privateDatecreateTime;  @Field("update_time")  privateDateupdateTime;  //gettersetter...}@ServicepublicclassAppUserMngServiceImplimplementsAppUserMngService{  @Autowired  publicAppUserMapperappUserMapper;  @Override  publicPagedGridResultqueryAllUserList(Stringnickname,Integerstatus,                      DatestartDate,DateendDate,                      Integerpage,IntegerpageSize){    ExampleuserExample=newExample(AppUser.class);    userExample.orderBy("createdTime").desc();    Example.Criteriacriteria=userExample.createCriteria();    if(StringUtils.isNotBlank(nickname)){      criteria.andLike("nickname","%"+nickname+"%");    }    if(UserStatus.isUserStatusValid(status)){      criteria.andEqualTo("activeStatus",status);    }    if(startDate!=null){      criteria.andGreaterThanOrEqualTo("createdTime",startDate);    }    if(endDate!=null){      criteria.andLessThanOrEqualTo("createdTime",endDate);    }    PageHelper.startPage(page,pageSize);    List<AppUser>list=appUserMapper.selectByExample(userExample);    returnsetterPagedGrid(list,page);  }}要唯一确定一个相机的位置与方向,position、up、lookAt三个属性是缺一不可的。这里我们创建了一个正交投影相机,这里我将视景体大小与屏幕分辨率保持一致只是为了方便,这样坐标系中的一个单位长度就对应屏幕的一个像素了。我们将相机放在Z轴上,面向坐标原点,相机的上方向为Y轴方向,注意up的方向和lookAt的方向必然是垂直的(类比自己的头就知道了)。下面添加一个立方体到场景中:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="com.imooc.article.mapper.ArticleMapperCustom">  <updateid="updateAppointToPublish">    UPDATE     article    SET     is_appoint=0    WHERE      publish_time&lt;=NOW()     and      is_appoint=1  </update></mapper>three.js中的三大要素:场景(scene)、相机(camera)、衬着器(renderer),有了这三样东西,我们才能够运用相机将场景衬着到网页上去。@OverridepublicGraceJSONResultqueryMyList(StringuserId,Stringkeyword,                  Integerstatus,                  DatestartDate,DateendDate,                  Integerpage,IntegerpageSize){  if(StringUtils.isBlank(userId)){    returnGraceJSONResult.errorCustom(ResponseStatusEnum.ARTICLE_QUERY_PARAMS_ERROR);  }  if(page==null){    page=COMMON_START_PAGE;  }  if(pageSize==null){    pageSize=COMMON_PAGE_SIZE;  }  PagedGridResultgridResult=articleService.queryMyArticleList(userId,                                  keyword,                                  status,                                  startDate,                                  endDate,                                  page,                                  pageSize);  returnGraceJSONResult.ok(gridResult);}首先可以在数据库通过写sql脚本实现查询SELECTc.idascommentId,c.father_idasfatherId,c.article_idasarticleId,c.comment_user_idascommentUserId,c.comment_user_nicknameascommentUserNickname,c.contentascontent,c.create_timeascreateTime,f.comment_user_nicknameasquoteUserNickname,f.contentasquoteContentFROMcommentscLEFTJOINcommentsfonc.father_id=f.idWHEREc.article_id='2006117B57WRZGHH'orderbyc.create_timedesc
  • 所需E币: 1
    时间: 2021-12-10 16:32
    大小: 14.67MB
    上传者: 麻辣炒饭
    哈佛大学的最新研究报告显示,在仔细记录了中国过去20年在经济、军事力量、技术、外交和意识形态方面的轨迹后发现,尽管美国政府不甘于在一些领域落后于中国,但不可否认的是,这些领域上,中国已是全球第一。此外,未来10年,即使不会超过美国,中国的一些领域逼近美国……