船舶软件建立三维管道模型后,需要自动生成管子加工信息,这样就提高了设计效率。其中弯管参数主要是下料长度,弯角和转角。
下料长度是由各管段实长,即管子中心线长度,减去弯管部分切线长再加上弯管部分。实长就是向量的模。
弯角用向量的点乘来求解,即余弦定理。
转角用向量的叉乘来求解,比用两个角的精度要高。因为向量叉乘运算时的数字运算比三角函数精度高点。
因为都是矢量代数运算,所以需要一个矢量类,类定义如下:
1: //------------------------------------------------------------------------------
2: // Copyright (c) 2011 eryar All Rights Reserved.
3: //
4: // File : Vector.h
5: // Author : eryar@163.com
6: // Date : 2011-12-2 21:34
7: // Version : 1.0v
8: //
9: // Description :
10: //
11: //==============================================================================
12:
13: #ifndef _VECTOR_H_
14: #define _VECTOR_H_
15:
16: #pragma once
17:
18: #include <cmath>