vex_04变形
变换暂时告一段落,开始变形,变形是变换的延续,实在物体坐标底下对自身的点做的变换,做完变形不知道下一步该看什么了,搞到这对点云呀,体积呀尽然还是一点概念没有,但是很感兴趣,特别的希望有老师,算了,还是野路子继续。
先做了个bend的变形
公式是:
posX=$tx*cos($BBY*参数)-$ty*sin($BBY*参数)
posY=$tx*sin($BBY*参数)+$ty*cos($BBY*参数)
简化的
X=xcos@-ysin@
Y=xsin@+ycos@
Z=z
然后是个自己的测试
#pragma opname test_bend
#pragma oplabel "Test Bend"
#pragma label par "par"
#pragma hint par float
#pragma range par 0 10
#pragma range xx -10 10
sop
sop_bend(
float par=0;
float xx=0)
{
vector min,max,pos,center,pivot;
getbbox(min,max);
center=(min+max)/2;
pivot=set(center.x+xx,center.y,center.z);
float a=P.y-center.y;
pos.x=(P.x-pivot.x)*cos(a*par)-(P.y-pivot.y)*sin(a*par)+pivot.x;
pos.y=(P.x-pivot.x)*sin(a*par)+(P.y-pivot.y)*cos(a*par)+pivot.y;
pos.z=P.z;
P = pos;
}
问题出来了,同时对所有点进行旋转,并不是自己想要结果
书上这么解释的
沿着一个轴进行全局线性弯曲是结合两个区域的一种合成变换,这两个区域包括一个弯曲区域和一个弯曲区域之外的区域,其中变形为旋转变换和平移变换,
买噶的,继续复习曲率
表示曲线弯曲程度的量.
平面曲线的曲率就是针对曲线上某个点的切线方向角对弧长的转动率,通过微分来定义,表明曲线偏离直线的程度。曲率越大,表示曲线的弯曲程度越大。
K=lim|Δα/Δs|,Δs趋向于0的时候,定义K就是曲率。
曲率的倒数就是曲率半径。
圆弧的曲率半径,就是以这段圆弧为一个圆的一部分时,所成的圆的半径。 曲率半径越大,圆弧越平缓,曲率半径越小,圆弧越陡。曲率半径的倒数就是曲率。曲率 k = (转过的角度/对应的弧长)。当 角度和弧长同时趋近于0时,就是关于任意形状的光滑曲线的曲率的标准定义。而对于圆,曲率不随位置变化。
偶被搞住了。
先做了个bend的变形
公式是:
posX=$tx*cos($BBY*参数)-$ty*sin($BBY*参数)
posY=$tx*sin($BBY*参数)+$ty*cos($BBY*参数)
简化的
X=xcos@-ysin@
Y=xsin@+ycos@
Z=z
然后是个自己的测试
#pragma opname test_bend
#pragma oplabel "Test Bend"
#pragma label par "par"
#pragma hint par float
#pragma range par 0 10
#pragma range xx -10 10
sop
sop_bend(
float par=0;
float xx=0)
{
vector min,max,pos,center,pivot;
getbbox(min,max);
center=(min+max)/2;
pivot=set(center.x+xx,center.y,center.z);
float a=P.y-center.y;
pos.x=(P.x-pivot.x)*cos(a*par)-(P.y-pivot.y)*sin(a*par)+pivot.x;
pos.y=(P.x-pivot.x)*sin(a*par)+(P.y-pivot.y)*cos(a*par)+pivot.y;
pos.z=P.z;
P = pos;
}
问题出来了,同时对所有点进行旋转,并不是自己想要结果
![]() |
红的为x轴的底边,bend是正确的 绿的为物体的Ymax边,bend是不对的 |
书上这么解释的
沿着一个轴进行全局线性弯曲是结合两个区域的一种合成变换,这两个区域包括一个弯曲区域和一个弯曲区域之外的区域,其中变形为旋转变换和平移变换,
买噶的,继续复习曲率
表示曲线弯曲程度的量.
平面曲线的曲率就是针对曲线上某个点的切线方向角对弧长的转动率,通过微分来定义,表明曲线偏离直线的程度。曲率越大,表示曲线的弯曲程度越大。
K=lim|Δα/Δs|,Δs趋向于0的时候,定义K就是曲率。
曲率的倒数就是曲率半径。
圆弧的曲率半径,就是以这段圆弧为一个圆的一部分时,所成的圆的半径。 曲率半径越大,圆弧越平缓,曲率半径越小,圆弧越陡。曲率半径的倒数就是曲率。曲率 k = (转过的角度/对应的弧长)。当 角度和弧长同时趋近于0时,就是关于任意形状的光滑曲线的曲率的标准定义。而对于圆,曲率不随位置变化。
![]() |
高数都还给老师哩。 |
偶被搞住了。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |