- 博客(89)
- 资源 (16)
- 论坛 (8)
- 收藏
- 关注
原创 Three.js 几何体二元操作插件ThreeBSP源码分析
三维几何体二元操作,可以求两个几何体的交集,并集,差集等等,是比较酷炫的功能,例如一个立方体减去一个球体得到这是简单的案例,没有这个插件,也可以想象出一个立方体减去一个球体能到什么样子的三维形状,但是稍微复杂一点,就无法直接想象出来了,比如两个相同的圆柱体,互相垂直相交,求相交形成的几何体;两个相同的圆锥体相互垂直后,求他们之间的交集。我对研究了一下开源插件ThreeBSP.js 的源码,为源码加了一些注释(function() { var BACK, COPLANAR, EPSILON, FR
2021-01-02 11:38:39
34
原创 THREE.js 使用二元操作组合网格
使用二元操作组合网格, THREE.REVERSION = 69<!DOCTYPE html><html><head> <title>Example 06.08 - Binary operations</title> <script type="text/javascript" src="../libs/three.js"></script> <script type="text/
2020-12-29 21:40:24
20
原创 webgl 三维距离场 1
三维距离场<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>demo5_3 三维距离场 2</title> <script src="../external/three.js"></script> <script src="../controls/OrbitControls.js"></s
2020-12-28 17:29:28
24
原创 webgl shader学习 有向距离场2
感谢 https://blog.csdn.net/qq_41368247/article/details/106214710,这篇博客是实践,<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>demo5_1 距离场2</title> <script src="../external/three.js"></scrip
2020-12-28 16:21:44
11
原创 webgl shader学习 有向距离场1
感谢 https://blog.csdn.net/qq_41368247/article/details/106194092 的详尽分析,这里使用的three.js 版本为106,<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>demo5_1 距离场 圆</title> <script src="../external/th
2020-12-28 16:11:29
18
原创 three.js shader例子
使用 shader 绘制 五角星线段,mix 合并图层<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>五角星线段</title> <script src="../external/three.js"></script> <script src="../controls/OrbitControls.j
2020-11-03 17:23:46
60
原创 cesium 1.73 bug ?
似乎发现了一个 cesium 1.73 的bug,官方样例中的《Plane.html》 对比其他例子,如《Polygon》,《Polyline Volume》等,有个特殊之处,就是当选中一个平面后,右上角回弹出信息展示框,点击摄像头图标,相机视角会锁定到选中平面,这时按住鼠标左键,拖动鼠标,视角会以选中平面为中心进行旋转,这种相机交互比较舒服;其他例子中就不是这样的,选中物体后,按住鼠标左键进行拖到,视角仍然以地球中心来旋转。《Polyline Volume》中的var redTube = viewe
2020-09-11 14:31:55
91
原创 Cesium.js 让人困惑的代码 1
查看 Cesium的官方例子,《Particle System Tails.html》,其中有个地方让我困惑:var forceFunction = function (options, iteration) { return function (particle, dt) { dt = Cesium.Math.clamp(dt, 0.0, 0.05); scratchCartesian3 = Cesium.Cartesian3.nor
2020-09-08 20:42:56
74
原创 Three.js ShaderMaterial
自定义材质的使用,ShaderMaterial 和 RawShaderMaterial的区别是,前者可以使用一些通用的uniform, attribute 等等,比如positon,uv, modelViewMatrix, modelMatrix 不需要去定义,可以直接在ShaderMaterial中使用,three.js 会自动定义好这些通用的 变量,并且时候去更新这些 内建变量,也不用去操心,由 three.js 来接管。后者 RawShaderMaterial 没有这些内建变量,shader代码里
2020-07-01 17:23:05
160
原创 Three.js ExtrudeGeometry.js 源码研究
ExtrudeGeometry.js 是Three.js 一个几何体类,可以把自己创建的或者从svg导入的平面2D图形拉伸为几何体。最能体现这个几何体类强大的例子是 http://www.wjceo.com/blog/threejs/2018-02-12/46.html把其中的斜角厚度bevelThickness = 3,斜角尺寸bevelSize = 1.4,斜角分段数bevelSegm...
2020-01-22 10:48:03
221
原创 3D空间的直线能否只用四个变量来表达?
三个坐标 x, y, z 可以确定3D空间的任意一点。形如 x + y + z = 1, 的方程可以表示3d 空间的一个平面, 该平面与x, y, z轴的交点分别为(1, 0, 0), (0, 1, 0), (0, 0, 1) 三个点,那么推广到一般情形, ax + by + cz = d, (a, b, c, d 为四个变量),当a, b, c, d都给定时,可以唯一的确定3 D空间的任意一个...
2019-11-12 10:39:48
266
原创 three.js中让物体相对于摄像机静止的几种方法
有这么一个需求,屏幕上有两个魔方 A 和 B,然后用THREE.TrackballControls 来控制场景视角和方位,魔方 A 处于屏幕中央,较大,魔方B处于屏幕右上角,较小,当用户旋转视角时,魔方 A 会相对于摄像机旋转,而魔方 B 不会做相对于摄像机的旋转,也就是说,我们可以通过改变视角,看到A的所有六个面,但是始终看不到 B 背对着相机的三个面B 始终相对于摄像机静止,当我们拉近镜头时...
2019-07-05 12:29:28
1833
原创 Three.js 的Geometry 之detail参数详解
Three.js 中的源码, https://github.com/mrdoob/three.js/blob/master/src/geometries/TetrahedronGeometry.jsfunction TetrahedronGeometry( radius, detail ) { Geometry.call( this ); this.type = 'Tetrahedron...
2019-05-23 12:24:44
541
原创 kotlin puzzle
import kotlinx.coroutines.*import kotlinx.coroutines.channels.*import kotlinx.coroutines.*fun main() = runBlocking { var cur = numbersFrom(2) for (i in 1..10) { val prime = cur.re...
2019-02-10 14:32:41
202
原创 3d 中的旋转
http://blog.sina.com.cn/s/blog_c426fe3b0102veqi.html3. 旋转矩阵需要9个数两个四元数之间更容易插值4. 四元数、矩阵在多次运算后会积攒误差,需要分别对其做规范化(normalize)和正交化(orthogonalize),对四元数规范化更容易5. 与旋转矩阵类似,两个四元组相乘可表示两次旋转...
2019-01-17 10:17:38
225
原创 Three.js 学习
魔方&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt; &lt;title&gt;Example 04.05 - Mesh face material&lt;/title&gt; &lt;script type="text/javascr
2019-01-04 18:55:36
247
原创 Javascript的this与闭包
当函数的参数是简单数据类型时(number,bool,string),在函数体中改变函数参数的值,没有意义,改动不会生效。函数的参数是复杂数据类型时(array,object)时,虽然对函数参数进行改动,可以生效,但也应该尽量避免。闭包和匿名函数容易搞混,闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数。this对象是在运行时基于函数的执行环...
2018-10-27 13:42:30
188
原创 泰勒级数展开与圆的轨迹方程曲线
手动展开 曲线 x * x + y * y = r * r 的泰勒级数,在x0 = 0 时, 到3阶以上,很费神费事,直接借助在线工具https://zh.numberempire.com/taylorseriesexpansion.php 泰勒级数展开计算器https://zh.numberempire.com/taylorseriesexpansion.php 函数求导工具https:/...
2018-09-28 14:13:10
846
原创 研究贝塞尔曲线, 定距等分 ...
贝塞尔曲线公式推导原理https://www.cnblogs.com/equal/p/6414263.html贝塞尔曲线原理(简单阐述)https://www.cnblogs.com/hnfxs/p/3148483.htmln 阶贝塞尔曲线计算公式实现https://blog.csdn.net/aimeimeits/article/details/72809382[转]匀速贝塞尔曲线运...
2018-09-27 18:28:28
1354
原创 Mysql 时间与时区
再Mysql, 或者 Mariadb 命令行里运行select now();+---------------------+| now() |+---------------------+| 2018-08-30 17:45:42 |+---------------------+js日期格式化函数,也可以得到类似的字符串function tim...
2018-08-30 18:20:10
4091
原创 已知坐标求角度
已知javascript canvas 的一个点二维坐标(x, y),由点(0,0)到点(x, y) 记为向量 a, 求向量 a 与 x 轴的夹角。直接用反正切函数,或者反余弦函数来做比较方便, 注意这两个反三角函数的值域与定义域,一般来说用反余弦函数来做更简单,因为不用考虑除零异常。 反 正切函数是奇函数,关于原点中心对称,既 tan(a) = tan(a + π)functio...
2018-08-22 21:54:11
10438
原创 ES6 Promise and await
ES6 新增了Promise, async / await, 用于解决回调过深,使得代码过于复杂难懂的问题。&amp;lt;html&amp;gt; &amp;lt;body&amp;gt; &amp;lt;p&amp;gt;test await&amp;lt;/p&amp;gt; &amp;lt;/body&amp;gt;
2018-07-19 17:46:07
232
原创 android文件管理器模块开发,细节整理
由于项目需要,要求开发一个类似于“ES 文件浏览器“的模块,这个模块当然不需要像 ES一样那么功能强大,只需要具备ES文件浏览器的最核心功能,可以操作管理本地sdcard和外置sdcard的文件和文件夹,包括查询,删除,重命名,从网络下载文件。这个模块的功能不复杂,一两句话,就描述清楚需求了,但是要把这个模块做好,并不简单,遇到了不少坑,很是心累。第一个坑,如何判断手机有没有外置sdcard...
2018-07-13 18:37:36
3561
原创 mariaDB linux使用
macbook下,浏览器缓存文件的大致路径 /private/var/folders/dc/62rbq7yj5qxfhckt65xszl3r0000gn/T/33.jpg默认情况下,新安装的 mariadb 的密码为空,在shell终端直接输入 mysql 就能登陆数据库。这时使用的是匿名身份。第一次登录可以使用mysql_secure_installation 命令初始化。修改数据...
2018-06-10 23:08:31
651
原创 随机数的魅力 一
在程序设计中,随机数是最令我着迷的。我厌恶宿命论。 《javascript高效图形编程》中,有个例子很好的展现了随机的魅力,每次运行都会得到一颗不一样的树。如下, javascript 代码html> head> title> Recursive Canvas Tree title> script t
2018-01-07 20:38:47
462
原创 华容道再研究
这次我又给自己挖了一个更大的坑,已经确定华容道一共可分为六个领域,或者叫森林。分别为0到5 横式,比如0横式,表示布局为一个曹操,0个横将,5个竖将,4个兵; 2横式,表示布局为一个曹操,2个横将,3个竖将,4个兵;六个森林,一定是没有任何关系的,独立的,因为对于滑块类游戏的规则,横将不可能变化为竖将,只有位置可以变化。现在我想找出每个森林共有多少个布局?每个森林又有多少颗相互独立的树?相互独立的树
2017-12-31 23:13:40
968
1
原创 重构华容道自动求解
之前的关于华容道自动求解的代码,变量名的命名很不规范,结构也不太容易理解,过一段时间后,重新来看,又会不知道以前的代码的意思了,明明之前已经看懂,结果现在又不懂了,很浪费时间。所以,应该自己再来针对代码的可读写进行重构。package game.hrd.game.hrd.refactor;import java.util.ArrayList;/** * Created by huangcongji
2017-12-31 21:18:36
1565
1
原创 华容道与哈希散列
package game.hrd.game.hrd.refactor;import game.hrd.LocalConst;/** * Created by huangcongjie on 2017/12/24. */public class LayoutEnumerator { private int hNum = 0; //横将个数 只能在构造函数初始化 privat
2017-12-27 08:57:02
651
转载 华容道搜索算法研究
转载地址已经废弃,这里做个备份。作者: 许剑伟 2006五一节于福建莆田十中转载:http://www.fjptsz.com/xxjs/xjw/rj/110.htm 一、算法的由来: 也不知写了多少行程序,累了,写点轻松的吧,可千万不要和操作系统打交了!还有那该死的Socket,真讨厌,什么“缓冲区不足”,我不是有2G内存,怎么就不足了? 志雄正潜心研究24点算法,向我要全排列的算法,我给他一
2017-11-10 14:30:30
4927
原创 linux 命令
linux命令大全,html版本 http://billie66.github.io/TLCL/book/index.htmlssh 登陆ssh sam@55.67.217.193本地与远端互通文件 1) scpscp abc.txt jim@55.67.217.193:downloads/abc11-04.txt2) sftpsftp jim@55.67.
2017-11-09 23:08:17
524
转载 gradle build太慢,使用ali镜像
allprojects{ repositories { def REPOSITORY_URL = ‘http://maven.aliyun.com/nexus/content/groups/public’ all { ArtifactRepository repo -> if(repo instanceof MavenArtif
2017-05-04 10:21:53
2459
1
原创 embox2d-helpers.js
//Having to type 'Box2D.' in front of everything makes porting//existing C++ code a pain in the butt. This function can be used//to make everything in the Box2D namespace available without//needing
2017-04-05 13:22:48
819
原创 Android studio包冲突错误 IncompatibleClassChangeError
当我们把google drive集成到我们产品时,改了一些gradle的配置文件 classpath “com.google.gms:google-services:$google_service_version” google_service_version从2.1.2升级到3.0.0compile “com.google.android.gms:play-services-auth:$fir
2017-03-31 17:21:40
5556
原创 MathUtil.js 2
var MAX_ANGLE = Math.PI * .88;function getRandom(min, max) { var d = max - min; return min + Math.random() * d;}function getDistance(v1, v2) { return Math.sqrt(getDistanceSquare(v1, v2));
2017-03-30 18:43:02
834
原创 Box2d interact test
interact Box2D demo <script type="text/javascript"> var e_shapeBit = 0x0001; var e_jointBit = 0x0002; var e_aabbBit = 0x0004; var e_pairBit
2017-03-30 18:40:02
932
原创 MathUtil 数学js工具
MathUtil.jsvar MAX_ANGLE = Math.PI * .88;function getRandom(min, max) { var d = max - min; return min + Math.random() * d;}function getDistance(v1, v2) { return Math.sqrt(getDistanceSquare
2017-03-14 18:35:52
2015
原创 Delaunay三角网的局部更新
<html><head><title>Delaunay demo</title></head><body><div> <canvas id="canvas" width="1300" height="550" style="border: solid black 1px; cursor: default;"></canvas></div><div> <input type="bu
2017-03-10 18:29:14
2832
2
原创 凹凸多边形的拆分
凹凸多边形的拆分<html><head><title>Polygon</title></head><body><div> <canvas id="canvas" width="800" height="550" style="border: solid black 1px; cursor: default;"></canvas></div><div> <input type="b
2017-03-04 18:36:21
2233
原创 NAV 网格导航寻路
js, sublime<html><head><title>Delaunay demo</title></head><body><div> <canvas id="canvas" width="1300" height="550" style="border: solid black 1px; cursor: default;"></canvas></div><div> <inp
2017-02-24 18:14:59
1242
原创 绘制三角形的外接圆和内接圆
已知,三角形的三个顶点坐标,求三角形的外接圆和内接圆。 三角形有重心,垂心,内心,外心,旁心。 外心即外接圆的圆心,是三角形三边垂直平分线的交点 绘制外接圆相对简单一点,已知,两条直线方程的一般式:a1 * x + b1 * y + c1 = 0a2 * x + b2 * y + c2 = 0则,交点坐标为x = (b2 * c1 - b1 * c2) / (a2 * b1 - a1 * b
2017-02-17 17:22:03
3544
Android纯代码实现余额宝九宫格解锁
2014-12-31
数独游戏的Flex代码
2014-12-27
像素猎人游戏
2014-12-27
华容道程序
2008-03-11
从杰的留言板
发表于 2020-01-02 最后回复 2020-01-02
王二被免费、知识产权和千度软件库
发表于 2012-10-09 最后回复 2012-10-09
急,C语言内存使用疑难,何时new不是问题,何时delete才是难点。
发表于 2008-09-03 最后回复 2012-08-14
8数码问题(及其扩展研究,NxN数码问题,界面+算法)
发表于 2010-12-16 最后回复 2012-03-21
8数码问题的算法及其扩展
发表于 2010-12-16 最后回复 2010-12-16
如何让程序来创建Hello World程序
发表于 2008-09-06 最后回复 2008-09-07
如何让程序来创建hello world程序
发表于 2008-09-06 最后回复 2008-09-06
请教大家:在带有复选框的树形控件中,如何做到勾选树形视图控件某个条目的复选框时,才能得到该条目的路径信息?
发表于 2008-07-31 最后回复 2008-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝