Seen.js 渲染3D场景为 SVG 或者 HTML5 画布.Seen.js 包含对于 SVG 和 HTML5 Canvas 元素的图形功能的最简单的抽象.所有这个库的其它组件都是不用关心将要渲染的上下文的类型. 您可能感兴趣的相关文章 你见过吗?9款超炫的复选框(Checkbox)效果 创意无限!一组网页边栏过渡动画[附源码下载] 真是好东西!13种非常动感的页面加载动画效果 Magic CSS3 – 帮助你实现神奇的交互动画效果 超赞!基于 Bootstrap 的响应式的后台管理模板 立即…
第一章 用three.js创建你的第一个3D场景 到官网下载three.js的源码和示例. 创建HTML框架界面 第一个示例的代码如下: 01-basic-skeleton.html 位于 Learning Three.js- The JavaScript 3D Library for WebGL\chapter-01 <!DOCTYPE html> <html> <head> <title>Example 01.01 - Basic skeleton<…
1.什么是SVG? 描述: 一种使用XML描述的2D图形的语言 SVG基于XML意味着,SVG DOM中的每个元素都是可用的,可以为某个元素附加Javascript事件处理器. 在 SVG 中,每个被绘制的图形均被视为对象.如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形. 2.什么是canvas? 描述: 通过Javascript来绘制2D图形. 是逐像素进行渲染的. 其位置发生改变,会重新进行绘制. 3.为什么要使用SVG 最重要的一点是SVG不依赖于终端设备的像素,可以随意放大…
原文链接:https://tympanus.net/codrops/2016/04/26/the-aviator-animating-basic-3d-scene-threejs/ 源代码下载链接:https://files.cnblogs.com/files/jaycethanks/TheAviator.zip…
前言 今天找到了 HT 的官网里的 Demo 网站( http://www.hightopo.com/demos/index.html ),看的我眼花缭乱,目不暇接. 而且 HT 的用户手册,将例子和文档无缝融合一体,小小 10 来兆开发包居然包含了四十五份手册,数百个活生生的 HTML5 例子,还没体验过的朋友赶紧来看一看,这回可玩嗨了! 对于 HT 初学者,面对这一堆数百个涵括通用组件.网络拓扑图组件.3D 组件.矢量图形.各种编辑器等等五法八门的 HTML5 例子盛宴,往往无从下手.为此,…
00.前端图形 前端代码实现图形的几种方式:CSS.SVG.Canvas(主要是JavaScript编码) CSS也是可以画图的,需要借助于高宽.边框border.clip-path裁剪.渐变色背景等属性来模拟实现各种图形,当然只能实现一些简单的图形. border:用四条边框样式属性的各种组合变换,实现一些简单的图形.网上也有画一些稍微复杂的图形,如哆啦A梦,但代码量稍多,可读性不好,并不推荐. <div class="gcss"> <p class="b…
Three.js粒子特效,shader渲染初探 转载来源:https://juejin.im/post/5b0ace63f265da0db479270a 这大概是个序 关于Three.js,网上有不多不少的零碎教程,有些过于初级,有些云里雾里,而Three.js官网上的示例逼格之高又令人望而却步,这些对于没学过计算机图形学的童鞋来说,就像入门迈槛不知先迈左脚还是右脚,兴趣使然,于是我就先双脚蹦了进去试试水...... 本文将以尽量戏剧化的语言描述网页3D世界的构建流程及表面原理(因为深层原理我目…
1.在[three.js第五课]的基础上引入AnaglyphEffect.js文件. 文件路径: three源码包中进入[examples]文件夹: 进入[js]文件夹: 进入[effects]文件夹中即可看到AnaglyphEffect.js文件 我的引入如下: <script src="../examples/js/effects/AnaglyphEffect.js"></script> 2.将自定义的材料更改为如下(此步骤只是为了让材料收到光线的影响,不做…
SVG 与 Canvas 对比 技术选型 SVG vs Canvas 应用场景 性能 GPU 加速 XML 数据存储 Canvas 2D Canvas 3D WebGL / OpenGL ES three.js refs https://www.slideshare.net/peterlubbers/html5-4378635/53-Canvas_vs_SVG_Not_a https://www.slideshare.net/eeeep/svg-vs-canvas-showdown-of-the…
在第一天学习了HTML5的一些非常重要的基本知识,今天将进行更深层学习 首先来回顾第一天学习的内容,第一天学习了新标签,新控件,验证功能,应用缓存等内容. 第2天将学习如何使用Canvas 和使用SVG 实现功能 Lab1—— 使用Canvas Canvas 是指定了长度和宽度的矩形画布,我们将使用新的HTML5 JavaScript,可使用HTML5 JS API 来画出各种图形. 初始化 1. 创建HTML页面 <html> <head></head> <bo…
我们知道canvas画布可以很方便的js原生支持转为图片格式并下载,但是svg矢量图形则并没有这方面原生的支持.研究过HighChart的svg图形的图片下载机制,其实现原理大体是浏览器端收集SVG代码信息,并发送到到服务器端,由后端程序转换成图片格式后,以流的形式反射给浏览器端下载. 最近在项目中有需求将一个非HighChart的SVG地图转存为图片并下载的功能.本希望模拟HighChart的原理实现,可是研究发现,该地图的SVG代码信息多达两万字节,然而HighChart后端制图程序却有着字…
想到昨天看资料的时候,发现html5 中的SVG 和canvas 都可以表示图形,那它们到底有哪些区别呢?该如何正确的使用它们呢? 1.SVG:可缩放矢量图形,(Scalable Vector Graphics),SVG使用XML格式定义图像. canvas:<canvas> 标签定义图形,比如图表和其他图像;<canvas> 标签只是图形容器,您必须使用脚本来绘制图形. 2.<canvas> 标记和 SVG 的另外一个重要的不同点是:(VML我还没有了解过,后续会进行…
之前注意到的一个例子,但是一直没有沉下心来看这个例子到底有什么优点,总觉得就是一个 list 列表,也不知道右边的 3d 场景放两个节点是要干嘛,今天突然想起来就仔细地看了一下这个例子的代码,实际操作中应该还是有用处的,就跟大家分享一下. 本例地址: http://hightopo.com/guide/guide/core/listview/examples/example_custom.html 实现图如下,看起来略有点简陋,但是可以自己天马心空增加或者更改成你需要的东西: 首先,创建场景,H…
少量图片对于我们赋值是没有什么难度,但是如果图片的量大的话,我们肯定希望能很直接地显示在界面上供我们使用,再就是排放的位置等等,这些都需要比较直观的操作,在实际应用中会让我们省很多力以及时间.下面这个例子给出了解决的方法,当然大家有需要的话,可自行下载更改代码,变成自己的项目. 本例地址: http://hightopo.com/guide/guide/core/listview/examples/example_custom.html 实现图如下: 首先,创建场景,HT 中有一个 Border…
缘由: 在某一个游戏公司的笔试中,最后一道大题是,“用CSS3实现根据动态显示时间和环形进度[效果如下图所示],且每个圆环的颜色不一样,不需要考虑IE6~8的兼容性”.当时第一想法是用SVG,因为SVG在画弧线方面是行家呀,另外Canvas也是极好的选择.但是规定了不能用SVG和Canvas,我想还可以使用CSS3的clip和rotate属性,但当时脑抽的我竟记不起clip的语法袅(囧~).笔试结束后,便去查clip属性的使用,总结了实现环形进度条的方法,于是便有了下文. 图1:动态时钟样式  …
摘要:使用canvas实现可交互的3D魔方 一.简单分析 魔方物理性质: 1.中心块(6个):中心块与中心轴连接在一起,但可以顺着轴的方向自由的转动. 2.棱块(12个):棱块的表面是两个正方形,结构类似一个长方体从立方体的一个边凸出来. 3.角块(8个):角块的表面是三个正方形,结构类似一个小立方体从立方体的一个边凸出来,这样的结构可以让角块嵌在三个棱块之间. 4.可见方块(26个):魔方对于我们可见的方块有26块. 5.魔方六个面,每个面九个方块,转动时每个面绕着自己面的中心块旋转. 6.在…
简介 贝塞尔曲线是可以做出很多复杂的效果来的,比如弹跳球的复杂动画效果,首先加速下降,停止,然后弹起时逐渐减速的效果. 使用贝塞尔曲线常用的两个网址如下: 缓动函数:http://www.xuanfengge.com/easeing/easeing/ cubic-bezier:http://cubic-bezier.com/ 如何用贝塞尔曲线画曲线 一个标准的3次贝塞尔曲线需要4个点:起始点.终止点(也称锚点)以及两个相互分离的中间点. 无论SVG, Canvas还是CSS3动画,都牵扯到这4个…
Cax 小程序.小游戏以及 Web 通用 Canvas 渲染引擎 Github → https://github.com/dntzhang/cax 点我看看 DEMO 小程序 DEMO 正在审核中敬请期待 小游戏 DEMO 正在审核中敬请期待 特性 Learn Once, Write Anywhere(小程序.小游戏.PC Web.Mobile Web) 支持小程序.小游戏以及 Web 浏览器渲染 小程序.小游戏和 Web 拥有相同简洁轻巧的 API 高性能的渲染架构 超轻量级的代码体积 松耦合…
我们知道canvas画布可以很方便的js原生支持转为图片格式并下载,但是svg矢量图形则并没有这方面原生的支持.研究过HighChart的svg图形的图片下载机制,其实现原理大体是浏览器端收集SVG代码信息,并发送到到服务器端,由后端程序转换成图片格式后,以流的形式反射给浏览器端下载. 最近在项目中有需求将一个非HighChart的SVG地图转存为图片并下载的功能.本希望模拟HighChart的原理实现,可是研究发现,该地图的SVG代码信息多达两万字节,然而HighChart后端制图程序却有着字…
最近在做一个上传头像然后保存显示的功能,因为涉及到裁剪大小和尺寸比例,所以直接上传图片再展示的话,就会出现问题,所以就想用canvas来渲染裁剪后的图片,然后转化成base64格式的图片再存储,这样取用的时候也比较方便. 我写了一个demo来展示一下怎么把一张图片渲染成canvas图片,并转化为base64格式导出. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-…
前言 数据蕴藏价值,但数据的价值需要用 IT 技术去发现.探索,可视化可以帮助人更好的去分析数据,信息的质量很大程度上依赖于其呈现方式.在数据分析上,热力图无疑是一种很好的方式.在很多行业中都有着广泛的应用. 最近刚好项目中需要用到 3D 热力图的效果展示.网上搜了相关资料,发现大多数是 2D 效果或者伪 3D 的,而 3D 粒子效果对于性能上的体验不是很好,于是取巧写了个 3D 热力图的效果 . Demo : http://www.hightopo.com/demo/heatMap3D/ 部分…
HTML5 内联 SVG 什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用于定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺寸的情况下其图形质量不会有损失 SVG 是万维网联盟的标准 SVG优势 与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于: SVG 是可伸缩的 SVG 可被非常多的工具读取和修改(比如记事本) SVG 与 JPEG 和 GIF 图像比起来,尺寸更小…
OSG是Open Scene Graphic的缩写,是基于C++平台的使用OpenGL技术的开源3D场景开发. vs环境安装或者是在Ubuntu中环境的安装网上教程很多,都是大同小异的,认真操作容易成功,其中vs中的安装编译过程时间花销很大,估计3个小时.如果是在VS下面进行编辑的话要进行一些设置,要设置OSG的lib和include目录,而ubuntu中只需要编译时链接上几个库就ok,所有需要的库包括-losg,-losgViewer,-losgDB,-losgGA. 开始学习时,在vs的编程…
到目前为止,SVG与Canvas的主要特性均已经总结完毕了.它们都是HTML5中支持的2D图形展示技术,而且均支持向量图形.现在,我们就来比对一下这两种技术,分析一下它们的长处和适用场景.首先分析一下两种技术的显著特点,看下面的表格: Canvas SVG 基于像素(动态 .png) 基于形状 单个 HTML 元素 多个图形元素,这些元素成为 DOM 的一部分 仅通过脚本修改 通过脚本和 CSS 修改 事件模型/用户交互颗粒化 (x,y) 事件模型/用户交互抽象化 (rect, path) 图面…
找了好几款基于jquery的模板渲染插件,无一感觉很难用(教程较少.绑定不统一),也可能我智商问题,比如jquery template.js .jtemplate.js. 然后在github上找到这一款,和我在公司之前用的差不多(apicloud云端开发app,致敬[百小僧]大神封装的HUI,简化了在公司很多工作), 这款模板渲染和HUI的很相似,也比较简单  基于jquery的模板渲染插件. 附上github https://github.com/yanhaijing/template.js…
在实际应用中,我觉得能够通过操作 JSON 文件来操作 3D 上的场景变化是非常方便的一件事,尤其是在做编辑器进行拖拽图元并且在图元上产生的一系列变化的时候,都能将数据很直观地反应给我们,这边我们简单地做了个基础的例子,给大家参考看看. 本例地址: http://www.hightopo.com/guide/guide/core/serialization/examples/example_exportimport.html 实践场景再现: 首先我们搭建一下这个例子的场景,熟悉的朋友可能已经看出…
vue.js选择if(条件渲染)详解 一.总结 一句话总结: v-if <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>v-if</title> <link rel="stylesheet" type="text/css" href="css/sty…
vue.js循环for(列表渲染)详解 一.总结 一句话总结: v-for <ul id="example-1"> <li v-for="item in items"> {{ item.message }} </li> </ul> var example1 = new Vue({ el: '#example-1', data: { items: [ { message: 'Foo' }, { message: 'Bar…
基于html5的动画库,非svg和canvas https://greensock.com/docs/#/HTML5/GSAP/TweenLite/…
SVG 与 Canvas:如何选择 61(共 69)对本文的评价是有帮助 - 评价此主题   本主题一开始将对 SVG 与 Canvas 进行简要比较,接下来会讨论大量的比较代码示例,如光线跟踪和绿屏. 注意  为了查看本主题中包含的很多示例,你必须使用支持 SVG 和 Canvas 元素的浏览器(如 Windows Internet Explorer 9). 简介 矢量图形 矢量图形方案的简要概述 专业设计器和使用工具 HTML5 图形技术 技术简介 何时使用 <canvas>.何时使用 S…