排列三定毒胆公式: 士郎 低多边形化风格——边缘检测、德洛内剖分及其他

34
回复
3774
查看
打印 上一主题 下一主题
[ 复制链接 ]
排名
1
昨日变化

排列三2014079期正版藏机图 www.d0po.cn 7426

主题

7969

帖子

3万

积分

Rank: 16

UID
1231
好友
185
蛮牛币
9371
威望
30
注册时间
2013-7-29
在线时间
3797 小时
最后登录
2019-3-25

社区QQ达人活力之星原创精华达人突出贡献奖财富之证游戏蛮牛QQ群会员蛮牛妹VIP

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
最近看了这个如何使用JavaScript生成lowpoly风格图像?,了解到了德洛内三角形的相关知识,迅速让我想到是否可以将这些内容应用到我目前自学的项目中来。因此尝试学习了该课题,并考虑在自学的项目中将课题应用,以解决素材偏少的问题。

以下是使用到的图片:



边缘检测
边缘检测使用到了《unity shader入门精要》[1]中提到的Sobel算子
   
[AppleScript] 纯文本查看 复制代码
 private float Sobel(int x, int y)
    {
        float Gx = 0;
        Gx += Luminance(x - 1, y - 1) * -1;
        Gx += Luminance(x - 1, y) * -2;
        Gx += Luminance(x - 1, y + 1) * -1;
        Gx += Luminance(x + 1, y - 1) * 1;
        Gx += Luminance(x + 1, y) * 2;
        Gx += Luminance(x + 1, y + 1) * 1;
        float Gy = 0;
        Gy += Luminance(x - 1, y - 1) * 1;
        Gy += Luminance(x, y - 1) * 2;
        Gy += Luminance(x + 1, y - 1) * 1; 
        Gy += Luminance(x - 1, y + 1) * -1;
        Gy += Luminance(x, y + 1) * -2;
        Gy += Luminance(x + 1, y + 1) * -1;
        return Mathf.Sqrt(Gx * Gx + Gy * Gy);//出于性能考虑可以用 Mathf.Abs(Gx) + Mathf.Abs(Gy);
    }

当然,处于不同的表现、性能、采样上的需求,也可以使用规模不等的其他算子计算卷积核结果。
设定门槛为1之后,图片变成了这样:





点的选取
点的选取分为两部分:边缘和背景。之所以要分为两部分选点,是要尽量避免边缘之间出现大块的空白,致使三角网出现交错锐利的形状。
以下是边缘采样门槛0.9f、背景采样率0.999f的分布图:




德洛内三角网
关于德洛内三角形,我参考并简化了mattatz[2]所使用的逐点插入法,其实最开始我参考的是[3]中的写法,但是经过我反复推算,在某些情况下有问题,在写完传统的逐点插入法然后再次阅读此文的时候,愕然发现文末已经有人评论:


大家注意下, 楼主提供的中文伪代码有一处问题: "对edge buffer进行去重" 表意不明. 经测试, 准确的做法应为, "将 edge buffer 中重复的 edge 全部去除(注意并非只是将重复的部分去掉, 而是将发生重复的 edge 全部去除, 即不仅去除重复的部分, 原本的 edge 也要去掉).



色彩
当我们拥有了从Vector2[]生成的诸多三角形,接下来的事情就是要将三角形实例化。由于我还没有写过软渲染器,所以对于如何渲染抗锯齿的图元目前还只停留在用蒙特卡洛方法大量采样的想法上。而一个图形动辄数百个三角形,十几万像素,如果每个像素都要这么做实在是太费时间,因此时间无多的我决定先将三角形导出成Mesh。



三角面片只使用顶点色着色,一个三角面片的颜色来源于其中点的颜色。



更多思考
由于时间关系,我只是草草对边缘检测和德洛内三角剖分进行了浅尝辄止的研究,本课题也仅停留在刚刚能用的地步,有巨大的改进空间。
第一,是将低面数化后的结果以图像的形式输出,这一块必然要用到光栅化的渲染管线知识,我计划之后参考


第二,是改进选点算法,可以看到,风格化后,原本均匀的树枝变得崎岖不平。目前我想到了两个方向,一,将图像尺寸压缩到原本的几分之一进行选点,保证点与点之间密度不至于过于离谱;二,取消背景选点,将图像简化成若干色阶,再做边缘检测,保证边缘附近的点不至于被背景选点所破坏形成的轮廓。
第三,使用更好的剖分算法,目前的插入算法中,对于每个新增的点都会遍历已生成的所有三角形,致使高点数下运算时间过长。
以下是Github地址,若有时间我会继续琢(mo)磨该课题





[1]《Unity Shader入门精要》参考文献


知乎@破晓


排名
25420
昨日变化
1

0

主题

48

帖子

73

积分

Rank: 2Rank: 2

UID
302397
好友
1
蛮牛币
75
威望
0
注册时间
2018-11-4
在线时间
9 小时
最后登录
2018-12-18
沙发
2018-11-12 12:10:18 只看该作者
边缘检测和德洛内三角剖分
排名
31428
昨日变化

0

主题

20

帖子

32

积分

Rank: 1

UID
302421
好友
1
蛮牛币
93
威望
0
注册时间
2018-11-4
在线时间
2 小时
最后登录
2018-11-23
板凳
2018-11-12 15:49:09 只看该作者
边缘检测、德洛内剖
7日久生情
1961/5000
排名
1896
昨日变化

37

主题

719

帖子

1961

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
214924
好友
4
蛮牛币
16163
威望
0
注册时间
2017-3-28
在线时间
489 小时
最后登录
2019-3-25
地板
2018-11-13 09:06:13 只看该作者
学以致用最是牛
排名
28924
昨日变化

0

主题

3

帖子

18

积分

Rank: 1

UID
224736
好友
0
蛮牛币
33
威望
0
注册时间
2017-6-2
在线时间
3 小时
最后登录
2018-12-24
5#
2018-11-13 09:46:06 只看该作者
感觉很不错
5熟悉之中
574/1000
排名
5512
昨日变化

1

主题

135

帖子

574

积分

Rank: 5Rank: 5

UID
229565
好友
0
蛮牛币
585
威望
0
注册时间
2017-6-30
在线时间
180 小时
最后登录
2019-3-22
6#
2018-11-13 11:34:50 只看该作者
佩服
7日久生情
2209/5000
排名
1621
昨日变化

0

主题

754

帖子

2209

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
148286
好友
0
蛮牛币
3795
威望
0
注册时间
2016-5-11
在线时间
655 小时
最后登录
2019-3-25
7#
2018-11-13 16:06:49 只看该作者
[发帖际遇]: tzb1125 捡了钱没交公 蛮牛币 降了 3 . 幸运榜 / 衰神榜
排名
34880
昨日变化

0

主题

17

帖子

32

积分

Rank: 1

UID
278420
好友
0
蛮牛币
6
威望
0
注册时间
2018-4-23
在线时间
7 小时
最后登录
2019-1-21
8#
2018-11-13 22:03:05 只看该作者
感谢楼主的分享 学习 学习
6蛮牛粉丝
1043/1500
排名
2091
昨日变化

0

主题

68

帖子

1043

积分

Rank: 6Rank: 6Rank: 6

UID
65205
好友
0
蛮牛币
3762
威望
0
注册时间
2015-1-2
在线时间
313 小时
最后登录
2019-3-22
9#
2018-11-14 11:46:34 只看该作者
跪拜大佬
3偶尔光临
156/300
排名
15298
昨日变化

2

主题

65

帖子

156

积分

Rank: 3Rank: 3Rank: 3

UID
297575
好友
0
蛮牛币
546
威望
0
注册时间
2018-9-19
在线时间
40 小时
最后登录
2019-3-23
10#
2018-11-15 22:11:27 只看该作者
擦,看着就有点牛逼,什么矢量卷积什么的听着就高端
7日久生情
4685/5000
排名
1669
昨日变化

0

主题

3295

帖子

4685

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
185339
好友
1
蛮牛币
3383
威望
0
注册时间
2016-11-20
在线时间
612 小时
最后登录
2019-3-25
11#
2018-11-19 09:06:50 只看该作者
{:93:}
7日久生情
4685/5000
排名
1669
昨日变化

0

主题

3295

帖子

4685

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
185339
好友
1
蛮牛币
3383
威望
0
注册时间
2016-11-20
在线时间
612 小时
最后登录
2019-3-25
12#
2018-11-19 09:13:01 只看该作者
{:93:}
2初来乍到
114/150
排名
16592
昨日变化

0

主题

31

帖子

114

积分

Rank: 2Rank: 2

UID
159377
好友
0
蛮牛币
13
威望
0
注册时间
2016-7-28
在线时间
41 小时
最后登录
2019-3-22
13#
2018-11-19 09:49:32 只看该作者
图形学的东西一定要mark
7日久生情
2461/5000
排名
782
昨日变化

1

主题

686

帖子

2461

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
56496
好友
0
蛮牛币
7596
威望
0
注册时间
2014-11-19
在线时间
556 小时
最后登录
2019-3-25
14#
2018-11-23 10:17:05 只看该作者
有点厉害,谢谢分享!
排名
48126
昨日变化

0

主题

7

帖子

20

积分

Rank: 1

UID
225658
好友
0
蛮牛币
80
威望
0
注册时间
2017-6-7
在线时间
10 小时
最后登录
2019-3-21
15#
2018-11-25 22:02:22 只看该作者

谢谢分享,学习下
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

  • 经营者要想“我心换你心”,就要未雨绸缪,让不诚信的诱惑少一点,如此才能在市场中生存下来。反过来说,承担不起亏损就关门歇业,是否也是一种不诚信呢? 2019-03-21
  • 追风上市公司“跌落神坛”-热门标签-华商网数码 2019-03-21
  • 文化艺术交易场所沙龙第一期活动在京顺利举行 2019-03-16
  • 看把你高兴的屁颠屁颠的,光有赞有什么用?我给你个货真价实的 [大红包]。 2019-03-16
  • 候选企业:中国石油呼和浩特石化公司 2019-02-22
  • 我国纳米核心技术取得重大突破 2019-02-22
  • 北京:端午节民俗地图  小枣粽——竹叶红枣糯糯情  2019-01-26
  • 机器人送快递将在西安试点 识别红绿灯还能“车让人” 2019-01-26
  • 首批限竞房正式入市 戳三大盘看详情! ——凤凰网房产北京 2018-12-09
  • 世界杯频爆冷门网友大呼“天台见”!警方:不要冲动,不要跳楼 2018-08-21
  • 始终如一的是:美国优先。 2018-08-21
  • 118| 873| 648| 691| 133| 795| 842| 815| 336| 248|