自定义博客皮肤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的专栏

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

  • 博客(100)
  • 资源 (15)
  • 收藏
  • 关注

原创 ThreeJs样例 webgl_shadow_contact 分析

ThreeJS,投影,阴影渲染

2023-11-30 11:56:48 573

原创 threeJs 样例,webgl2_volume_perlin的修改

3d perlin噪声

2023-09-13 17:23:50 503 2

原创 Cesium - custom primitve 的使用

通过运行这个修改后的例子,说明了 可以 动态修改 着色器的 attribute 属性,从而可以实现可编辑形状的 primitive;需要特别留意的是,primitive的 modelMatrix 和 boundingSphere 需要初始化。cesium的官方例子 Custom Primitive 很有用,通过这个例子可以学到 如何在 cesium 中 自定义几何体 和 着色器。以上,是我对这个例子的修改,需要特别留意这处修改。

2023-08-21 15:48:27 391

原创 three.js webgl_nodes_materials_instance_uniform 例子分析

类似于 unreal,unity3d,blender中的材质编辑器,通过一些属性框,和属性框之间的各种连线,就可以配出一个材质。如果不使用 NodeMaterial,很多时候,就不得不使用 THREE.ShaderMaterial 或 THREE.RawShaderMaterial 定制自己的顶点着色器和片元着色器,定制自己的着色器虽然更灵活,但是有时比使用 NodeMaterial 框架麻烦,并且从性能上讲,没有重用着色器,性能上就比不过 使用NodeMaterial 框架。

2023-04-06 16:27:28 689

原创 webgl_gpgpu_birds 样例分析

类鸟群动画

2023-03-16 15:18:25 734

原创 thebookofshaders 学习1

thebookofshaders 学习

2023-03-13 15:55:05 268

原创 js 下载文件遇到的问题

http response type

2023-01-19 18:38:14 1357

原创 对 three.js webgl_clipping_stencil 例子的理解

webgl, stencil buffer

2022-11-14 15:48:49 1030 2

原创 three.js webgl_tiled_forward 例子分析

three.js 官方样例分析, shader

2022-11-14 14:47:05 436

原创 three.js ArrowHelpler学习

three.js ArrowHelper

2022-08-08 11:24:30 393

原创 javascript 的bind

js 中的bind函数,常常用于改变函数中的this 指向,另一个用途是 函数柯里化,偏函数的用法;给原函数的前几个参数预设一些值, 来减少原函数中的输入参数个数。https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/bind项目中遇到了这么一个需求: 我们知道事件的响应函数,它只有一个输入参数 event;比如:document.addEventListener('keydo

2022-05-05 11:28:07 630

原创 Three.js 几何体二元操作插件ThreeBSP源码分析

三维几何体二元操作,可以求两个几何体的交集,并集,差集等等,是比较酷炫的功能,例如一个立方体减去一个球体得到这是简单的案例,没有这个插件,也可以想象出一个立方体减去一个球体能到什么样子的三维形状,但是稍微复杂一点,就无法直接想象出来了,比如两个相同的圆柱体,互相垂直相交,求相交形成的几何体;两个相同的圆锥体相互垂直后,求他们之间的交集。我对研究了一下开源插件ThreeBSP.js 的源码,为源码加了一些注释(function() { var BACK, COPLANAR, EPSILON, FR

2021-01-02 11:38:39 1336

原创 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 312

原创 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 508

原创 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 512

原创 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 405

原创 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 499

原创 cesium 1.73 bug ?

似乎发现了一个 cesium 1.73 的bug,官方样例中的《Plane.html》 对比其他例子,如《Polygon》,《Polyline Volume》等,有个特殊之处,就是当选中一个平面后,右上角回弹出信息展示框,点击摄像头图标,相机视角会锁定到选中平面,这时按住鼠标左键,拖动鼠标,视角会以选中平面为中心进行旋转,这种相机交互比较舒服;其他例子中就不是这样的,选中物体后,按住鼠标左键进行拖到,视角仍然以地球中心来旋转。《Polyline Volume》中的var redTube = viewe

2020-09-11 14:31:55 973 1

原创 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 655

原创 Three.js ShaderMaterial

自定义材质的使用,ShaderMaterial 和 RawShaderMaterial的区别是,前者可以使用一些通用的uniform, attribute 等等,比如positon,uv, modelViewMatrix, modelMatrix 不需要去定义,可以直接在ShaderMaterial中使用,three.js 会自动定义好这些通用的 变量,并且时候去更新这些 内建变量,也不用去操心,由 three.js 来接管。后者 RawShaderMaterial 没有这些内建变量,shader代码里

2020-07-01 17:23:05 1187

原创 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 779

原创 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 1256

原创 three.js中让物体相对于摄像机静止的几种方法

有这么一个需求,屏幕上有两个魔方 A 和 B,然后用THREE.TrackballControls 来控制场景视角和方位,魔方 A 处于屏幕中央,较大,魔方B处于屏幕右上角,较小,当用户旋转视角时,魔方 A 会相对于摄像机旋转,而魔方 B 不会做相对于摄像机的旋转,也就是说,我们可以通过改变视角,看到A的所有六个面,但是始终看不到 B 背对着相机的三个面B 始终相对于摄像机静止,当我们拉近镜头时...

2019-07-05 12:29:28 5631

原创 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 1187

原创 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 308

原创 3d 中的旋转

http://blog.sina.com.cn/s/blog_c426fe3b0102veqi.html3. 旋转矩阵需要9个数两个四元数之间更容易插值​4. 四元数、矩阵在多次运算后会积攒误差,需要分别对其做规范化(normalize)和正交化(orthogonalize),对四元数规范化更容易​5. 与旋转矩阵类似,两个四元组相乘可表示两次旋转​...

2019-01-17 10:17:38 424

原创 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 416

原创 Javascript的this与闭包

当函数的参数是简单数据类型时(number,bool,string),在函数体中改变函数参数的值,没有意义,改动不会生效。函数的参数是复杂数据类型时(array,object)时,虽然对函数参数进行改动,可以生效,但也应该尽量避免。闭包和匿名函数容易搞混,闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数。this对象是在运行时基于函数的执行环...

2018-10-27 13:42:30 280

原创 泰勒级数展开与圆的轨迹方程曲线

手动展开 曲线 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 2069

原创 研究贝塞尔曲线, 定距等分 ...

贝塞尔曲线公式推导原理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 2489

原创 Mysql 时间与时区

再Mysql, 或者 Mariadb 命令行里运行select now();+---------------------+| now() |+---------------------+| 2018-08-30 17:45:42 |+---------------------+js日期格式化函数,也可以得到类似的字符串function tim...

2018-08-30 18:20:10 5000

原创 已知坐标求角度

已知javascript canvas 的一个点二维坐标(x, y),由点(0,0)到点(x, y) 记为向量 a, 求向量 a 与 x 轴的夹角。直接用反正切函数,或者反余弦函数来做比较方便, 注意这两个反三角函数的值域与定义域,一般来说用反余弦函数来做更简单,因为不用考虑除零异常。 反 正切函数是奇函数,关于原点中心对称,既 tan(a) = tan(a + π)functio...

2018-08-22 21:54:11 21740 1

原创 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 356

原创 android文件管理器模块开发,细节整理

由于项目需要,要求开发一个类似于“ES 文件浏览器“的模块,这个模块当然不需要像 ES一样那么功能强大,只需要具备ES文件浏览器的最核心功能,可以操作管理本地sdcard和外置sdcard的文件和文件夹,包括查询,删除,重命名,从网络下载文件。这个模块的功能不复杂,一两句话,就描述清楚需求了,但是要把这个模块做好,并不简单,遇到了不少坑,很是心累。第一个坑,如何判断手机有没有外置sdcard...

2018-07-13 18:37:36 4391

原创 mariaDB linux使用

macbook下,浏览器缓存文件的大致路径 /private/var/folders/dc/62rbq7yj5qxfhckt65xszl3r0000gn/T/33.jpg默认情况下,新安装的 mariadb 的密码为空,在shell终端直接输入 mysql 就能登陆数据库。这时使用的是匿名身份。第一次登录可以使用mysql_secure_installation 命令初始化。修改数据...

2018-06-10 23:08:31 913

原创 随机数的魅力 一

在程序设计中,随机数是最令我着迷的。我厌恶宿命论。 《javascript高效图形编程》中,有个例子很好的展现了随机的魅力,每次运行都会得到一颗不一样的树。如下, javascript 代码html> head> title> Recursive Canvas Tree title> script t

2018-01-07 20:38:47 602

原创 华容道再研究

这次我又给自己挖了一个更大的坑,已经确定华容道一共可分为六个领域,或者叫森林。分别为0到5 横式,比如0横式,表示布局为一个曹操,0个横将,5个竖将,4个兵; 2横式,表示布局为一个曹操,2个横将,3个竖将,4个兵;六个森林,一定是没有任何关系的,独立的,因为对于滑块类游戏的规则,横将不可能变化为竖将,只有位置可以变化。现在我想找出每个森林共有多少个布局?每个森林又有多少颗相互独立的树?相互独立的树

2017-12-31 23:13:40 1919 1

原创 重构华容道自动求解

之前的关于华容道自动求解的代码,变量名的命名很不规范,结构也不太容易理解,过一段时间后,重新来看,又会不知道以前的代码的意思了,明明之前已经看懂,结果现在又不懂了,很浪费时间。所以,应该自己再来针对代码的可读写进行重构。package game.hrd.game.hrd.refactor;import java.util.ArrayList;/** * Created by huangcongji

2017-12-31 21:18:36 2626 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 898

转载 华容道搜索算法研究

转载地址已经废弃,这里做个备份。作者: 许剑伟 2006五一节于福建莆田十中转载:http://www.fjptsz.com/xxjs/xjw/rj/110.htm 一、算法的由来: 也不知写了多少行程序,累了,写点轻松的吧,可千万不要和操作系统打交了!还有那该死的Socket,真讨厌,什么“缓冲区不足”,我不是有2G内存,怎么就不足了? 志雄正潜心研究24点算法,向我要全排列的算法,我给他一

2017-11-10 14:30:30 7794 2

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

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

2014-12-31

五彩连珠游戏

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

2014-12-27

像素猎人游戏

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

2014-12-27

六边形的水管工人

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

2014-12-27

数独游戏的Flex代码

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

2014-12-27

求字符串的全排列

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

2014-12-27

疯狂火箭素材

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

2012-08-05

连连看(Flex版)

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

2012-08-05

疯狂火箭(有源码)

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

2012-08-05

俄罗斯方块(flex版)

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

2012-02-25

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

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

2011-01-04

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

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

2010-12-15

简单的聊天程序

存在一个非常明显的BUG

2008-06-25

华容道程序

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

2008-03-11

N皇后(优化版)

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

2008-02-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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