#lazy-evaluation #algorithm #randomness #diamond-square #generate #builder #seed

lazy_diamond_square

无随机性的Diamond-Square算法的懒实现

5个版本 (2个稳定版)

1.1.0 2023年12月28日
1.0.0 2023年8月19日
0.2.0 2023年8月2日
0.1.1 2023年8月1日
0.1.0 2023年7月26日

#500 in 算法

每月46次下载
用于 lds_simple_view

MIT/Apache

35KB
749

Lazy Diamond-Square

lazy_diamond_square 允许您使用Diamond-Square算法生成自己的景观或任何可能用到的其他东西。

示例

use lazy_diamond_square as lds;
use lds::{Builder, InitBy as By};

fn main() {
    let mut map = Builder::new(513, 0.15)
        .seed("qwerty")
        .init_lvl(2)
        .init_by(By::Seed)
        .build();
    let max_coord = map.max_coord();

    map.gen_area((0, 0), (max_coord, max_coord));
    map.get_img((0, 0), (max_coord, max_coord), Some("view.png"));
}

工作示例

粗糙度 = 0.15, 种子("view1.png") 示例1:粗糙度 = 0.15,种子("view1.png")

粗糙度 = 0.2, 种子("view2.png") 示例2:粗糙度 = 0.2,种子("view2.png")

粗糙度 = 0.2, 种子("view3.png"), 初始化级别(4) 示例3:粗糙度 = 0.2,种子("view3.png"),初始化级别(4)

来源

结论

我只是想让您知道我13岁,这是我第一个严肃的项目,所以我将非常欢迎批评和建议,以便改进我的项目。此文件中的所有文本都是通过翻译器翻译的,因为我英语水平还不够好。

依赖项

~0.1–3MB
~13K SLoC