Jerkwin分享 http://blog.sciencenet.cn/u/Jerkwin

博文

曲线的变形

已有 3248 次阅读 2017-12-6 08:10 |系统分类:科研笔记

问题: 如何将一条曲线沿另一条曲线进行扭曲或变形?

是很早以前看到的一个问题了, 我也曾经遇到过相关的具体问题, 不过当时采用简单的方法解决了. 最近重新思考了一下这个问题, 得到了比较一般的解决方法.

举个例子来说吧, 对于圆柱螺旋线, 如果其轴心线变为正弦曲线, 那螺旋线如何变化? 如果我们将圆柱螺旋线视为有弹性的螺线管, 那就相当于我们要将它套到正弦形状的柱子上, 只要螺旋管的弹性和柱子的形状匹配, 那螺旋管是可以套在上面的. 再推广一下就是任意的变形了. 这种问题在三维建模或者动画设计中应用较多, 也有一些相关的理论.

一般的解决方法是以弧长对参考曲线进行参数化, 然后借助旋转和平移将原曲线上的点变换到参考曲线标架上. 旋转时最好利用四元数方法, 因为更方便. 下面就是实现的一个例子:

这种方法可以推广到更复杂的情况, 如化学中的纳米管扭曲等.

一些资料

  1. 求3D曲线的法线向量

  2. 轴变形方法

  3. 螺线管圆环 1, 2, 3

  4. 平面曲线

代码(略)

◆本文地址: https://jerkwin.github.io/2017/12/06/曲线的变形/, 转载请注明◆
◆评论问题: https://jerkwin.herokuapp.com/category/3/博客, 欢迎留言◆



https://blog.sciencenet.cn/blog-548663-1088406.html

上一篇:下载整理中国哲学电子书的脚本
下一篇:GMXTOP:集成MKTOP的原子类型判定代码
收藏 IP: 72.221.39.*| 热度|

2 张云 陈鹏

该博文允许注册用户评论 请点击登录 评论 (2 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 16:15

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部