自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mu399的专栏

所谓自由,不是随心所欲,而是自我主宰

  • 博客(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 学习

魔方&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt; &amp;lt;title&amp;gt;Example 04.05 - Mesh face material&amp;lt;/title&amp;gt; &amp;lt;script type=&quot;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;amp;lt;html&amp;amp;gt; &amp;amp;lt;body&amp;amp;gt; &amp;amp;lt;p&amp;amp;gt;test await&amp;amp;lt;/p&amp;amp;gt; &amp;amp;lt;/body&amp;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

8数码问题(扩展,flash版本)

8数码问题的扩展,下载的一定要回复啊,不要惜字如金啊

2010-12-15

Android纯代码实现余额宝九宫格解锁

纯代码实现余额宝九宫格解锁,工程是用Android Developer Tools (eclipse) 创建的,不是Android studio工程

2014-12-31

求字符串的全排列

可以打印出字符串的全排列,代码是C语音风格的,刚学习编程时写的代码

2014-12-27

数独游戏的Flex代码

算是敝帚自珍吧,包含数独的生成与自动求解,如果想要精益求精,追求更高的效率,请参考我的博文http://blog.csdn.net/mu399/article/details/7627862

2014-12-27

六边形的水管工人

水管工人,疯狂火箭之类的游戏都是一类消除游戏,都消除的是方块,我把玩法改为消除正六边形了,代码复杂度有所提高,趣味也有所增强

2014-12-27

像素猎人游戏

像素猎人是一款比较复古,比较怀旧的游戏,代码的作者是wonderfl上一名flash程序,由于我很喜欢这款游戏,所以对游戏的代码做了很深的研究,可以说是已经吃透作者的代码了,我的分析:http://bbs.9ria.com/thread-146282-1-1.html

2014-12-27

五彩连珠游戏

五彩连珠是我开发的益智游戏,玩家把五个相同颜色的珠子连成一行或一竖或一斜线,五个珠子就会消失,并获得积分,涉及寻路算法。

2014-12-27

连连看(Flex版)

连连看,包括自动求解功能,可以生成连连看布局,当玩家在玩连连看的时候出现死局时,会自动变换布局,保证始终有解

2012-08-05

疯狂火箭(有源码)

疯狂火箭 flash cs5 版,只实现了基本的功能

2012-08-05

疯狂火箭素材

这是疯狂火箭的素材,可以用这个开放疯狂火箭

2012-08-05

俄罗斯方块(flex版)

俄罗斯方块(flex版),有源码,大概800行,易扩展

2012-02-25

智能拼图(web版本 xml配置文件)

经典的8数码问题, 可以扩展为NxM的情况,用到了广度优先搜索和动态规划的算法,web版本可以通过修改xml文件,往该小游戏加入新的素材

2011-01-04

简单的聊天程序

存在一个非常明显的BUG

2008-06-25

华容道程序

我遍的这个程序完全是模仿吕震宇老师的"华容道与数据结构"的架构,但速度比他的慢几十倍,运行时间要花几十秒钟,虽然我也可以把这个程序优化,如可以通过更改布局的表述方式,传给movable的是两个空位的位置,而不是一个布局,把movable,Int64To,ToInt64函数中的循环省掉,但似乎不会有质的提高,所以就懒的尝试了.

2008-03-11

N皇后(优化版)

又编写一次解n皇后问题的程序,比原来的n皇后程序好些了

2008-02-24

我编写过的程序(1)

有7个小程序(n皇后、q方席位分配、毕业设计、博彩游戏、分解质因数、进制转换、万年历)

2008-01-16

从杰的留言板

发表于 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的粉丝

提示
确定要删除当前文章?
取消 删除