乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 86|回复: 1

[编程交流] 指数映射算法

[复制链接]

1

主题

1

帖子

0

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 22:01:28 | 显示全部楼层 |阅读模式
我正在尝试使用指数贴图在网格上贴花草图。在生成指数映射时,我通过网格上的初始点计算平面,并通过该点计算网格上的法线。然后算法计算从该点到最近顶点的距离,并通过边遍历到这些顶点。
然后,边缘以其原始长度投影到平面上。它在大多数情况下都有效,但在球体的情况下存在问题。地图变得扭曲了。
我需要为球体做些不同的事情吗?关于如何解决这个问题有什么想法吗?或者有人使用不同的指数映射算法做过类似的事情吗?
我创建了以下代码
而(i m\u iExpPos=i;if(pVertex->m\u iNeighbour>-1){CVector vecPoint=pVertex->toVector()-pVertex->neighboint()->toVector();double len=vecPoint.norm();CVector tmp=(pVertex->Neighbour()->normal()*-1)*vecPoint;vec=tmp*sketch.m\u meshNorm;vec.unitize();vec=vec*len;double u=vec.dot(sketch.m\u meshX);         pVertex->m\u u=u+pVertex->neighbor()->m\u;双v=矢量。dot(yDir);pVertex->m\u v=v+pVertex->neighbor()->m\u v;}else{vec=pVertex->toVector()-pnt;pVertex->m\u=vec.dot(sketch.m\u meshX);pVertex->m\u v=vec.dot(yDir);pVertex->m\u Propogation=vec;}AddAdjacentUnvisitedVertex(pVertex,lstVerts);}pnt是指数映射开始的一个点。最初,LSTvert将包含靠近pnt的顶点。它将逐渐添加相邻顶点。
我认为问题是,算法使用的边缘长度,因为它是在指数映射。我认为它需要调整。我不知道怎么做?
要了解我使用的指数映射和算法,请参阅以下链接
http://www.diva-portal.org/smash/get/diva2:331960/FULLTEXT01.pdf
http://www1.cse.wustl.edu/~cmg/content/papers/sig2006tm/sig2006tm。pdf
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 23:55:38 | 显示全部楼层
这个问题是由奇点引起的吗?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 08:45 , Processed in 0.382480 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表