24小时热门版块排行榜    

查看: 504  |  回复: 1

amberpei2010

银虫 (小有名气)

[求助] 关于UDF编程某个语句含义的小问题,求大神指点

这是一个定义了0-20us以恒定速度变化至1.5um位置并在50us内保持静止位置不变,在接下来的30us内匀速下降【整个过程是一个梯形波。。。】我的重点是。。。
if(((ttime+deltat)-(int)((ttime+deltat)/0.001)*0.001)<=0.000020&&((ttime+deltat)-(int)((ttime+deltat)/0.001)*0.001)>0 ) 这一句根据前后理解应该是描述横轴t的,但是为什么要这么除以0.001乘0.001,而且ttime+deltat减去自己取整到底是什么意思啊?求高手指点!
#include <stdio.h>
#include "udf.h"
DEFINE_CG_MOTION(move1, dt, cg_vel, cg_omega, time, dtime)
{
  real loc=0.0;
  real velo=0.0;
  real ttime=0.0;
  real deltat=0.0;
  / * reset velocities * /
  NV_S (cg_vel, =, 0.0 ) ;
  NV_S (cg_omega, =, 0.0 ) ;
if (!Data_Valid_P ())
    return;
  ttime=time;
  deltat=dtime;
    if(((ttime+deltat)-(int)((ttime+deltat)/0.001)*0.001)<=0.000020&&((ttime+deltat)-(int)((ttime+deltat)/0.001)*0.001)>0 )
    {
                velo = 0.0000015/0.000020;
                loc += velo * dtime;
                }
    if(((ttime+deltat)-(int)((ttime+deltat)/0.001)*0.001)<=0.000070&&((ttime+deltat)-(int)((ttime+deltat)/0.001)*0.001)>0.000020 )
        {
                velo = 0.0;

        }
          if(((ttime+deltat)-(int)((ttime+deltat)/0.001)*0.001)<=0.0001 &&((ttime+deltat)-(int)((ttime+deltat)/0.001)*0.001)>0.000070 )
    {
                velo = (-1)*0.0000015/0.000030;
                loc += velo * dtime;

        }
        if(((ttime+deltat)-(int)((ttime+deltat)/0.001)*0.001)<=0.001&&((ttime+deltat)-(int)((ttime+deltat)/0.001)*0.001)>0.0001 )
        {
                velo = 0.0;
        }
cg_vel[0] = velo;
}
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

amberpei2010

银虫 (小有名气)

2楼2014-01-08 10:47:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 amberpei2010 的主题更新
信息提示
请填处理意见