posts - 2,comments - 1,trackbacks - 0
#include<iostream>
#include<math.h>
using namespace
std;
double
pi = acos( -1.);

// 平面内旋转 , 只要是面旋转都可以用,顺时针
int r( double &x, double &y, double t){
    double
x1 = x * cos( t ) + y * sin( t );
    double
y1 = - x * sin( t ) + y * cos( t );
    x = x1 ; y = y1;
}


int
main()
{

    int
i, j, k;
    double
x, y, z;
    double
xn, yn, zn;
    double
t;
    while
( scanf("%lf%lf%lf",&x,&y,&z) != EOF )
    {

        scanf("%lf%lf%lf",&xn,&yn,&zn);
        scanf("%lf",&t);
        double
t1 = atan2( xn, yn );
        r( yn, xn,  t1 );
        r( y, x,  t1 );
        double
t2 = pi *.5 - atan2( zn, yn );
        r( yn, zn, - t2 );
        r( y, z, - t2 );
       
        r( y, x, t );
        r( y, z, t2 );
        r( y, x, - t1 );
        printf("%.3lf %.3lf %.3lf\n",x,y,z);
    }
}

posted on 2009-09-23 13:11 Huicpc217 阅读(107) 评论(0)  编辑 收藏 引用 所属分类: 模板计算几何

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理