如何在计算机图形学中实现3D变形? [英] How is a 3D morph implemented in computer graphics?

查看:75
本文介绍了如何在计算机图形学中实现3D变形?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从多个像杯子一样的网格中生成一个中间网格,但是我没有找到任何可用的纸张,开放源代码或其他资源来做到这一点.那么,如何生成这样的网格?

I want to generate an intermediate mesh from several meshes like cups, but I didn't find any available paper, open source code, or another resource to do so. So, how can I generate such a mesh?

推荐答案

我不知道有任何开放源代码库.但是研究文献非常广泛和深入.

I am not aware of any open source library for this. But research literature is very broad and deep.

主要成分是:

  1. 网格参数化
  2. 重新网格化

基本上,您需要将所有曲面参数化(嵌入)到规范域,例如平面,球体或某些合适的(属兼容)域.您可以单独地对它们进行参数化,也可以使用兼容的参数化"来给您带来一些优势.然后,您需要重新排列所有网格,以使所有网格具有相同的组合(相同数量的顶点和相同的连通性).该过程称为兼容重新网格化".在重新网格化过程中,规范域用于将点从一个表面映射到另一个表面,并且在兼容网格化结束时,所有网格共享一个公共参数.网格A中的点与网格B中的点具有不同的3d坐标,但是由于它们在规范域中具有相同的UV坐标,因此它们是彼此的图像,并且存在一些可以从网格A发送点的映射函数F网格B.

Basically you need to parameterize (embed) all the surfaces to a canonical domain such as a plane, sphere or some suitable (genus compatible) domain. You can parameterize them individually or using a "compatible parameterization" which can give you some advantages. Then you need to remesh all your meshes so that all of them have the same combinatorics (same number of vertices and same connectivity). That process is known as "compatible remeshing". In the remeshing process the cannonical domain is used for mapping points from one surface to the other and at the end of the compatible remeshing a common parameterization is shared by all the meshes. A point in mesh A have different 3d coordinates than a point in mesh B but as they have the same UV-coordinates in the cannonical domain then they are the image of each other and there exist some mapping function F that can send points from mesh A to mesh B.

现在,这是基本方法.实际上,您还需要更多.通常,您需要在所有输入网格上定义特征点,以便映射函数F可以将例如猫网格的鼻子上的点发送到狗网格的鼻子上的点.如果不强制执行特征点对应,则可能不希望使用所需的曲面平均".

Now, that is the basic approach. Actually you need more. Usually you need to define feature points on all input meshes so the mapping function F can send, for instance, a point on the nose of cat mesh to a point on the nose of a dog mesh. If you don't enforce feature point correspondence then the "average" of surfaces that you want is likely to be undesirable.

您可以在Internet上搜索关键字兼容参数化",交叉参数化",表面间贴图"和"3d变形".

You can search the internet for the keywords "compatible parameterization", "cross parameterization", "inter-surface mapping" and "3d morphing".

以下博士学位论文正在审查与您的任务相关的一些文献:

The following PhD thesis is reviewing some of the literature relevant for your task:

https://tel.archives-ouvertes.fr/tel -00836048/file/ThA_se_MocanuBogdan.pdf

这篇关于如何在计算机图形学中实现3D变形?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆