混沌数学之Arnold模型
2016-07-29 00:00
211 查看
相关软件混沌数学之离散点集图形DEMO
相关代码:
相关截图:
Arnold映射是混沌置乱系统中用的较多的一种方法,最早由Arnold和Avez提出。对于一幅二维图像,改变其像素的位置或数值,就会变成另外一幅与原图不同的图像。Arnold映射正是通过改变元素的位置来实现对图像的置乱处理的。一幅N×N 的图像的Arnold变换定义见公式:
其中,
是像素在原图像中的坐标,
是变换后的位置,mod为模运算,N是图像的大小(图像必须是正方形,否则不具备Arnold变换的条件,可进行拓延处理)。
更进一步,可以推广系数矩阵到一般的情况,见公式:
其中,a,b,c,d为正整数,为了确保映射为一一映射,需要满足公式:
ad-bc=0
相关代码:
class ArnoldEquation : public DiscreteEquation { public: ArnoldEquation() { m_StartX = 0.25f; m_StartY = 0.25f; } void IterateValue(float x, float y, float& outX, float& outY) const { outX = fmodf(x + y, 1.0f); outY = fmodf(x + y*2.0f, 1.0f); } };
相关截图:
Arnold映射是混沌置乱系统中用的较多的一种方法,最早由Arnold和Avez提出。对于一幅二维图像,改变其像素的位置或数值,就会变成另外一幅与原图不同的图像。Arnold映射正是通过改变元素的位置来实现对图像的置乱处理的。一幅N×N 的图像的Arnold变换定义见公式:
其中,
是像素在原图像中的坐标,
是变换后的位置,mod为模运算,N是图像的大小(图像必须是正方形,否则不具备Arnold变换的条件,可进行拓延处理)。
更进一步,可以推广系数矩阵到一般的情况,见公式:
其中,a,b,c,d为正整数,为了确保映射为一一映射,需要满足公式:
ad-bc=0
相关文章推荐
- 分形之可编辑折线
- 奇怪吸引子---Rucklidge
- 分形之希尔伯特-皮亚诺(Hilbert-Peano)曲线
- 奇怪吸引子---LorenaMod1
- 数学图形之罗马曲面(RomanSurface)
- [12] 扇形体(Fan)图形的生成算法
- 混沌数学之吕陈吸引子
- 混沌分形之谢尔宾斯基(Sierpinski)
- 数学图形(1.17)蝴蝶形线
- 数学图形(1.39)TN constant curve
- 数学图形(1.40)T_parameter
- WHY数学图形显示工具
- WHY数学表达式的3D可视化
- 小工具:内存占用工具
- 数学图形之双叶双曲面
- 混沌数学之logistic模型
- WhyEngine游戏引擎作品合集
- 屏保:画圈圈诅咒你
- 游戏:连泡泡
- 样条之Akima光滑插值函数