NURBS参数空间与坐标空间的转化

问题描述:已知NURBS曲面,现在想根据xy坐标的情况下,求z的值。由于 NURBS 曲面是参数曲面,在仅知道(xy)坐标的情况下无法直接求出该点的矢高值,而是需要先将物理空间坐标值(xy)转换成对应参数空间坐标(uv),然后再根据(uv)值求解出该点的物理空间坐标(xyz)。由于(xy)(uv)无法求出解析表达式,只能通过迭代求解。

参考文献:

NURBS自由曲面在光机设计和分析中的应用

The NURBS Book 2nd

迭代算法1

距离矢量算法:

首先,建立已知的空间坐标(xy)和待求的参数空间坐标S(uv)之间的距离矢量公式如下:

NURBS参数空间与坐标空间的转化的图1

当距离矢量 r 取得最小值时,r NURBS 曲面在参数坐标所决定的空间点处的切向量的点积应为零

NURBS参数空间与坐标空间的转化的图2

采用牛顿迭代算法求解方程组,对上式两端进行偏微分

NURBS参数空间与坐标空间的转化的图3

所以

NURBS参数空间与坐标空间的转化的图4

式中,δi是参数ui和viNewton迭代改进步长;

NURBS参数空间与坐标空间的转化的图5

Ji为向量的雅可比矩阵,如下

NURBS参数空间与坐标空间的转化的图6

由于雅可比矩阵比较复杂,该算法进行一次迭代需要计算NURBS曲面两次一阶偏导数和四次二阶偏导数

迭代算法2

光线追迹法

由于距离矢量法需要计算曲面的二阶偏导,速度较慢,因此研究了基于光线曲面求交方法的坐标转换方法。

为了求取NURBS曲面上横纵坐标为(x,y)的点的z值,假设有一条光线从点(x,y,0)以方向(0,0,1)出射并与曲面相交,则光线与曲面的交点即为所求的点。

光线矢量定义为两个空间平面的交线,如下图

NURBS参数空间与坐标空间的转化的图7

两个平面分别表示为

NURBS参数空间与坐标空间的转化的图8

Ni为平面的法线向量,是与光线方向垂直的单位向量;

di为原点距平面的距离。

当曲面上点为光线与曲面的交点时应该满足以下判断条件R

NURBS参数空间与坐标空间的转化的图9

根据三维空间的牛顿迭法,上述方程可改写为:

NURBS参数空间与坐标空间的转化的图10

上式中:JR的雅可比矩阵。

NURBS参数空间与坐标空间的转化的图11

Su (u,v)Sv (u,v)为曲面方程分别关于uv的一阶偏导,表示曲面沿着uv向的切线向量。


算法

NURBS参数空间与坐标空间的转化的评论0条

    暂无评论

    NURBS参数空间与坐标空间的转化的相关案例教程

    一直以来CAESES软件提供经典的NURBS曲线(非均匀有理B样条曲线)建模技术。该建模方法在指定起始点和终点的位置后,通过调整控制点的位置便可实现曲线形状的变化。因此NURBS曲线被广泛用于复杂三维模型的建模与变型。 然而这种建模方法仅适用于在CAESES中从无到有,进行点、线、面的逐步建模,即全参数化建模,对于已有的曲线,通过igs或其他几何格式导入CAESES中,是无法自动识别NURBS曲线
    将同几何分析(IGA)引入到有限元分析(FEA)的框架中,目的是使数值分析模型与计算机辅助设计(CAD)的几何模型相同。与标准的、低阶的有限元单元相比,许多研究论文已经证明了使用更高阶和更高连续性的基函数是有益和优越的分析特性。B-样条曲线(B-splines)和非均匀有理B样条曲线 (NURBS)是CAD中使用最广泛的几何描述,近几年基于NURBS的有限元技术快速发展并被应用到LS-DYNA中。
    Hello,大家好,我是Seven。本人后续将在本公众号内分期为各位看官带来汽车造型设计研发流程中各个工作流程的详细内容,主要内容包含但不限于从概念手绘 到CAS到A面,再到渲染可视化的相关内容,请周知! 在上周发送的《3D建模技能干货:Polygon建模原理&万能建模流程》一文中,Seven以Alias Subdivision细分曲面建模为例,为大家简单介绍了在Alias中适用于绝大部分数模人员
    参考 abaqus2020安装python三方库_留痕过雁的博客-CSDN博客_abaqus python装第三方库 本文使用abaqus2020,需要安装的第三方库为geomdl,如果您需要安装其他库,操作方法类似。 1.首先确认是否安装过所需库文件 在abaqus-cae界面信息栏下方,python命令行输入 import numpy import math import geomdl 由于A
    %%计算工具坐标系下的雅可比矩阵 clear,clc,close all; format compact syms d1 d2 d3 d4 d5 d6 a2 a3 alp1 alp4 alp5 syms q1 q2 q3 q4 q5 q6 %% 建立机器人DH参数,初始状态为竖直状态 % 连杆偏移d,连杆长度a,连杆扭转角alpha L(1)=RevoluteMDH('d',d1,'a',0,'a
    博士/cae工程师
    影响力
    粉丝
    内容
    获赞
    收藏
      项目客服
      培训客服
      0 0