【发布时间】:2018-10-03 17:06:03
【问题描述】:
我想将一些随机的 2D 形状映射到 uv 参数空间, 例如A:(u:0.0 v:1.0)B:(u:0.0 v:0.0)C:(u:1.0 v:1.0)D:(u:1.0 v:0.0), 并希望将项目内部的随机点 P 映射到参数空间。
线AB、AC、BD、CD由路径组成,也可以表示为连通边。
所以问题是,我应该如何获得正确的 P uv 值? 我在图形和几何方面有一些知识,所以如果需要,你能推荐任何基本的文章,我能找到解决问题的任何提示吗? 非常感谢
【问题讨论】:
-
你的随机形状是如何表示的?
-
我有 4 种形状:椭圆、矩形、多边形,其余的一种是闭合路径,如图所示。所有形状都是封闭的并在 2D 空间中表示。由于我的系统是基于 QT 构建的,因此它们表示为 qgraphicsItemClass 或 svg。 e. G。椭圆有中心点和r,矩形有4个点和边的长度。
-
每个形状都可以转换为路径或边缘集。转换后可以得到某个点的dx、dy等成员函数。颜色均匀。点 ABCD 由用户选择,应位于形状的边界或内部。
-
那么,您想将 2D 映射到 2D 吗?那么也许只使用bilinear interpolation。
-
看看 Coons 补丁。我猜你可以根据你的情况调整它们。 (但不幸的是,它们解决了 (u, v) 到 (x,y) 的逆问题),您将不得不求解非线性方程。)
标签: qt graphics 2d computational-geometry uv-mapping