船舶软件建立三维管道模型后,需要自动生成管子加工信息,这样就提高了设计效率。其中弯管参数主要是下料长度,弯角和转角。
下料长度是由各管段实长,即管子中心线长度,减去弯管部分切线长再加上弯管部分。实长就是向量的模。
弯角用向量的点乘来求解,即余弦定理。
转角用向量的叉乘来求解,比用两个角的精度要高。因为向量叉乘运算时的数字运算比三角函数精度高点。
因为都是矢量代数运算,所以需要一个矢量类,类定义如下:
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>
19: #include <string>
20: #include <iostream>
21:

在船舶软件的三维管道建模中,通过自动计算弯管参数能极大提升设计效率。弯管参数包括下料长度、弯角和转角。下料长度涉及管子中心线长度和弯管部分的切线长。弯角利用向量点乘(余弦定理)计算,转角则使用向量叉乘以提高精度。文中介绍了矢量类的定义,并给出了求解转角的代码实现。

799

被折叠的 条评论
为什么被折叠?



