上一页 1 ··· 4 5 6 7 8 9 10 11 下一页

2020年3月12日

svg 实践之屏幕坐标与svg元素坐标转换

摘要: 近期在做svg相关项目,很好用的东西要记下来: 1、基础知识就是根据 矩阵进行坐标转换,如下: : 屏幕坐标 = 矩阵* svg对象坐标 2、javascript有个方法用于获取 svg对象 的转换矩阵CTM :svgObj.getScreenCTM(); 该矩阵将svg坐标转换为屏幕坐标 3、所以 阅读全文

posted @ 2020-03-12 21:19 dawn888 阅读(1545) 评论(0) 推荐(0) 编辑

使用SVG内置API计算图形或点经过transform之后的新坐标

摘要: 一个应用场景是,点击一条路径,显示该路径的控制点。因为有transform变形( 平移、缩放、倾斜、旋转等变换),所以获取变形后的新坐标需要计算。 纯数学的方法,就是用2D变换矩阵的一些公式去运算,过程稍微有点复杂。 不过好在SVG已经提供了丰富的API将一些矩阵运算封装了,非常实用,下面是Demo 阅读全文

posted @ 2020-03-12 21:17 dawn888 阅读(802) 评论(0) 推荐(0) 编辑

D3js怎么获得SVG及其子元素在屏幕中的坐标

摘要: var clientRects = svg.select("image").node().getBoundingClientRect(); var coordinates = [ [clientRects.left, clientRects.top], [clientRects.top, clien 阅读全文

posted @ 2020-03-12 21:13 dawn888 阅读(1121) 评论(0) 推荐(0) 编辑

获取SVG中g标签的宽度高度及位置坐标

摘要: 1. 问题的出现 对于普通的HTML元素,有很多获得其宽度width、高度height、距左left、距顶top等属性的方法: 类似offsetWidth,clientWidth,width之类的,通过查看DOM元素的属性可以一探究竟: 然而当遇到SVG的g标签的时候,却碰到问题了:明明在开发者工具 阅读全文

posted @ 2020-03-12 21:09 dawn888 阅读(1460) 评论(0) 推荐(0) 编辑

Threejs从入门到入门

摘要: 前言threejs官网:https://threejs.org/ github各个版本:https://github.com/mrdoob/three.js/tags 版本更迭很快,我用的时候还是r90秒秒钟r91出来了 刚入门的时候可以看看这个教程:http://www.hewebgl.com/a 阅读全文

posted @ 2020-03-12 08:55 dawn888 阅读(3202) 评论(1) 推荐(0) 编辑

2020年3月11日

使用d3.js的时候,如何用zoom translate scale限制拖拽范围

摘要: 红色代表需要改写的代码 1.添加定义图像大小和容器的大小及坐标 d3.behavior.zoom = function () { var moveCanvas={ width: 0, height: 0, cx:0,cy:0,cwidth:0,cheight:0 }; var view = { x: 阅读全文

posted @ 2020-03-11 12:08 dawn888 阅读(1349) 评论(0) 推荐(0) 编辑

2020年3月10日

【three.js第七课】鼠标点击事件和键盘按键事件的使用

摘要: 当我们使用鼠标操作three.js渲染出的对象时,不仅仅只是仅限用鼠标对场景的放大、缩小、旋转而已,还有鼠标左键、右键的点击以及键盘各种按键等等的事件。我们需要捕获这些事件,并在这些事件的方法里进行相关的操作。 接下来是干货 在【three.js第六课】的基础上,对代码进行整理后。得到本次试验的源码 阅读全文

posted @ 2020-03-10 16:47 dawn888 阅读(2129) 评论(1) 推荐(0) 编辑

【three.js第六课】物体3D化

摘要: 1.在【three.js第五课】的基础上引入AnaglyphEffect.js文件。 文件路径: three源码包中进入【examples】文件夹; 进入【js】文件夹; 进入【effects】文件夹中即可看到AnaglyphEffect.js文件 我的引入如下: <script src="../e 阅读全文

posted @ 2020-03-10 16:09 dawn888 阅读(508) 评论(0) 推荐(0) 编辑

【three.js第五课】光线的添加和感光材料

摘要: 材料分类: MeshBasicMaterial:基础网孔材料,一个以简单着色(平面或线框)方式来绘制几何形状的材料。MeshLambertMaterial:兰伯特网孔材料,一种非发光材料(兰伯特)的表面MeshPhongMaterial:网孔材料,用于表面有光泽的材料,计算每个像素。 光线分类 注意 阅读全文

posted @ 2020-03-10 16:00 dawn888 阅读(796) 评论(0) 推荐(0) 编辑

【three.js第四课】自定义材料、贴图。

摘要: 1.先去下载6张不同的图片素材放到项目中。 2.在【three.js第三课】的代码基础上添加自定义的材料 //自定义材料 cubeMaterial 数组 //map:用于加载图片,THREE.TextureLoader().load('图片的地址')方法引入要放的图片,也可以用16进制的颜色替换:c 阅读全文

posted @ 2020-03-10 15:50 dawn888 阅读(1044) 评论(2) 推荐(1) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 11 下一页

导航