切换到宽版
  • 广告投放
  • 稿件投递
  • 繁體中文
    • 2233阅读
    • 1回复

    [求助]Bezier蒙皮 [复制链接]

    上一主题 下一主题
    离线qazxew
     
    发帖
    125
    光币
    2
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2012-12-11
    在LightTools里面,可以建立Bézier的反射器或透镜之类的。同时可以对Height ,Front size,Rear size:,Size,Position,Wight:等参数进行优化,以达到最理想的效果,但如何将这条设计好的曲线化成公式 D>r&}6<  
    二次贝塞尔方程的表达式为 <\ y@*fg+  
    B(t)=(1-t) 2P0+2(1-t)tP1+t2P2  T<0,1> *tFHM &a  
    在LightTools里面,三个点P0,P1,P2的坐标都可以通过Height ,Front size,Rear size:,Size,Position的参数而确定 但weight这个参数应该怎样理解呢? rT说明书上有这样说 G&SB-  
    Weight - Allows you to adjust how closely the curve conforms to the control polygon. Increasing the weight pulls the curve toward the control polygon; decreasing the weight pushes the curve away from that polygon. The valid range for this value is > 0 and # 1. T  wB}l  
    但怎样把weight这个参量在公式上表现出来呢 Eh`7X=Z7E  
    等待大侠们意见
     
    分享到
    离线piggyhud
    发帖
    380
    光币
    1571
    光券
    0
    只看该作者 1楼 发表于: 2012-12-12
    Lighttools 虽然在软件界面上写的是Bezier Curve,实际上用的是NURBS。所以公式如下:假设w2=weight(即你在软件界面中的Weight项所填),则w1=w3=(1- w2 )/2。则对于0<t<1有,设 M(t)=((1-t)^2 )* P0 * w1 + 2 * t  * (1-t) * P1 * w2+ (t ^ 2) * P2 * w3  , 且设 N(t) =((1-t)^2 )* w1 + 2 * t  * (1-t) * w2+ (t ^ 2) *  w3  , 则最后曲线的参数方程表示为B(t)= M(t) / N(t) 。另外对于 t=0 , B(t) = P0 ;对于 t=1 ,B(t) = P2 。