mrmrw 发表于 2009-5-27 16:44

[转帖]ug表达式之详细讲解!

[转帖]ug表达式之详细讲解!看见论坛里有好多人对表达式都不是很了解,这次就来一个详细的讲解。
先来一个最简单的,圆,
众所周知,圆的方程是x^2+y^2=r^2,

在ug里我们必须把方程都转换为参数方程,参数方程大家在高中的时候都学过,圆的参数方程不是难事,即;x=r*sint,y=r*cost,因为ug里的t是永远只从0递增到1,而我们实际要求的t要从0到360,所以把方程变一下,即;xt=r*sin(360*t),yt=r*cos(360*t),(因为ug默认x,y变量为xt,yt所以一般把x,y写成xt,yt,当然你写成x,y也行只要在形成规律曲线时改过来就行了),好,这样就可以用规律曲线
形成圆了,如果再稍微复杂一点呢?
现在再来讲一个如下图的弹簧的方程。
我的方法是先分析曲线在x,y平面投影的曲线方程,显然该投影曲线是一个半径不断变化的圆,而半径
的变化规律为常数加上一个正弦曲线,即;r=a+b*sint.如是把圆的参数方程里的r替换一下,即
xt=(a+b*sint)*sint
yt=(a+b*sint)*cost
(这里面的t只是代表其为一个变量,真正出表达式的时候要赋予变量范围的)
x,y平面投影的曲线写好之后再来看z方向上的曲线方程,显然是一个正弦(或余弦)曲线,但是该曲线
必须与x,y平面的正弦曲线错开一个90度的相位,为什么?(留给大家去分析,不难想的!)
即;zt=b*cost
好,方程都已经分析完了,现在就要赋予变量不同的变化范围,例如,螺旋圈数啊,螺旋半径啊等等,
这也不难,这儿就不讲了。
下面是图示弹簧的方程!
a=360*t
n=20
t=0
R=40
r=10
xt=(R+r*sin(a*n))*sin(a)
yt=(R+r*sin(a*n))*cos(a)
zt=r*cos(a*n)
下面再给几个其他常用的曲线方程。
渐开线方程(用于齿轮)
R=40
a=720*t
t=0
xt=R*(cos(a)+a*sin(a))
yt=R*(sin(a)-a*cos(a))
阿基米德螺线(等进螺线)(用于凸轮)
a=360*t
t=0
xt=a*sin(a)
yt=a*cos(a)
因为很少有表达式方面的教材,所以这些都是我自己研究的,如果错误,望高手指点,谢谢!

ys789 发表于 2009-7-8 07:13

谢谢版主,
对了,版主能否把2楼这类贴子清除啊!!!!!!!!!

冷剑1 发表于 2018-12-20 21:27

学习中,作为设计人员在三维建模过程中这种表达式也经常用到,谢谢
页: [1]
查看完整版本: [转帖]ug表达式之详细讲解!