iCAx开思工具箱
标题:
因为变数看不懂!所以??? 语言的写法对于刚进门的我(超级菜鸟)太难了!
[打印本页]
作者:
vvg87
时间:
2005-12-4 17:16
标题:
因为变数看不懂!所以??? 语言的写法对于刚进门的我(超级菜鸟)太难了!
因为变数看不懂!所以??? 语言的写法对于刚进门的我(超级菜鸟)太难了!
------------------------------------------------------------------------------------------------------------------------
tatic int init_proc(
UF_UI_selection_p_t select,
void* user_data
)
{
int num_triples = 1;
UF_UI_mask_t mask_triples[] = { UF_point_type, 0, 0 };
/* enable only points */
if((UF_UI_set_sel_mask(select,
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
num_triples, mask_triples) ) ==0)
{
return (UF_UI_SEL_SUCCESS);
}
else
{
return (UF_UI_SEL_FAILURE);
}
}
static void move(void)
{
int i = 0, j = 0;
double cor[3] = {0,0,0}, cen1[3] = {0,0,0}, cen2[3] = {0,0,0}, vec[3] = {0,0,0};
//这个是3个点的归零动作(初时值)吗?
/* Evaluate center of the first points set */
for(i = 0; i < num_point1; i++) // num_point1 这是第一组的代数吗?
{
UF_CURVE_ask_point_data(pt_set1, cor);
for(j = 0; j < 3; j++)
{
cen1[j] += cor[j];
//这是什么动作呢?
}
}
for(j = 0; j < 3; j++)
cen1[j] /= num_point1;
/* Evaluate center of the second points set */
//.....
/* Evaluate the translate distance */
UF_VEC3_sub(cen1, cen2, vec);
//这是什么动作呢?
/* Translate */
{
int status = 0, copyTag = 1; /* move */
int layer = 0, trace = 2;
double matrix[16]={0.0};
tag_t out1 = NULL_TAG, out2 = NULL_TAG;
char msg[133] = "";
FTN(uf5943)(vec, matrix);
FTN(uf5947)(matrix, pt_set2, &num_point2, ©Tag, &layer, &trace,
&out1, &out2, &status);
if( status )
UF_get_fail_message( status, msg );
}
return;
-----------------------------------------------------------
执行移动后.没有对到中心位置..跟哪里 有关呢!
--------------------------------------------------------------------------------
每次指导老师都说的简单!
但是实际上真是天地之差! 他说 3点加起来的面积除与??=中心位置..那种与世无争的态度真是!!!
对于程序语言只懂一点!时间都不够用! 光收集资料就占掉3分之2了!
且 UG二次开发的资料 台湾都没有!..只有贵站可以参考!
且又很复杂!....真后悔选这个专题!
但是只有往前走完才能毕业!...虽然别的同学都是做实体的东西!
但是我们做的程序是虚拟的!..每次都被盯的满头包!
实际上二次开发是经验及技术的积累才做的出来!
但是我们没经验! 已经花很多时间收集资料.从不知道二次开发是什么! 到有东西出来(ZZZ前辈帮了大忙)..
但是利用不到5个月的时间哪够! 就像刚出生的鸟要它飞上天..都很难吧!...而且课业报告实习一大堆!
除了这个.还有 知识融合 .共2个!
又听到我们会被专题的评审 盯的很惨!
学生真是难做阿!
..................................以上是不成才的心得~~~..希望各个专题评审不要只看 实体东西 而藐视我们用手也摸不到的程序!
作者:
awakechen
时间:
2005-12-4 22:58
做这个有点难度哦,不过要敖过去能学到不少东西,耐心做下去吧!
作者:
zzz
时间:
2005-12-5 15:28
上面不是有注释吗?
我只写了求第一个点集的中心,第二个点集的中心,你要自己抄一下我的代码。
这个没有做,当然不对了。
求点集的中心原理很简单:一个点集的中心坐标等于各个点坐标的和除以点的个数。
作者:
zzz
时间:
2005-12-5 15:30
/* Evaluate the translate distance */
UF_VEC3_sub(cen1, cen2, vec); //这是什么动作呢?
两个矢量相减可以得到两个点的相对距离
作者:
pzytony
时间:
2005-12-5 20:19
耐不下心来,就不要做软件!
作者:
vvg87
时间:
2005-12-5 21:38
标题:
原来前辈指的是 "/* */"里的说明!
原来前辈指的是 "/* */"里的说明!
还以为是 UG内建的注解! ...不好意思!
我以为会是 "//---" 后的方式呈现!...
因为英文不好!所以用翻译软件辅助!.....感恩指点! 赶快做完! ..希望星期4赶的上 专题初审!
作者:
vvg87
时间:
2005-12-6 09:46
标题:
摸不着 头绪! ...前辈可以讲明朗一点吗?
摸不着 头绪! ...前辈可以讲明朗一点吗?
我有看到求第一个点集的中心,第二个点集的中心 的地方!
但是 "[你要自己抄一下我的代码。这个没有做,当然不对了]" 我不知道前辈指的是拿里!
.....可能很简单..但是刚接触的我还是不知道在何处! 感恩大大们!
--------------------------------------------------------------------------------------------
/* The following definition defines the number of callback entries */
/* in the callback structure: */
/* UF_STYLER_callback_info_t CHANGE_cbs */
#define CHANGE_CB_COUNT ( 5 + 1 ) /* Add 1 for the terminator */
static int num_point1 = 0;
static int num_point2 = 0;
static tag_t *pt_set1 = NULL;
static tag_t *pt_set2 = NULL;
static int init_proc(
UF_UI_selection_p_t select,
void* user_data
)
{
int num_triples = 1;
UF_UI_mask_t mask_triples[] = { UF_point_type, 0, 0 };
/*使能够只有一点* /
if(UF_UI_set_sel_mask(select,
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
num_triples, mask_triples)) == 0)
{
return (UF_UI_SEL_SUCCESS);
}
else
{
return (UF_UI_SEL_FAILURE);
}
}
static void move(void)
{
int i = 0, j = 0;
double cor[3] = {0,0,0}, cen1[3] = {0,0,0}, cen2[3] = {0,0,0}, vec[3] = {0,0,0};
/*求中心第一个点集* /
for(i = 0; i < num_point1; i++)
{
UF_CURVE_ask_point_data(pt_set1[i], cor);
for(j = 0; j < 3; j++)
{
cen1[j] += cor[j];
}
}
for(j = 0; j < 3; j++)
cen1[j] /= num_point1;
/*求中心 2 点集的值* /
//.....
/*求转换距离的值* /
UF_VEC3_sub(cen1, cen2, vec); /*两个矢量相减可以得到两个点的相对距离*/
/*转换* /
{
int status = 0, copyTag = 1; /*移动* /
int layer = 0, trace = 2;
double matrix[16]={0.0};
tag_t out1 = NULL_TAG, out2 = NULL_TAG;
char msg[133] = "";
FTN(uf5943)(vec, matrix); /*得转换矩阵* /
FTN(uf5947)(matrix, pt_set2, &num_point2, ©Tag, &layer, &trace,
&out1, &out2, &status);
if( status )
UF_get_fail_message( status, msg );
}
return;
}
作者:
zzz
时间:
2005-12-6 15:52
/*求中心 2 点集的值* /
//.....
这里,我用...省略了,和第一个点集一样处理,这个你可以做吧。
作者:
vvg87
时间:
2005-12-7 23:19
标题:
是这样吗?.......但是还是不准喔!
是这样吗?.......但是还是不准喔!
-------------------------------------------------------------
tatic void move(void)
{
int i = 0, j = 0;
double cor[3] = {0,0,0}, cen1[3] = {0,0,0}, cen2[3] = {0,0,0}, vec[3] = {0,0,0};
/* Evaluate center of the first points set */
for(i = 0; i < num_point1; i++)
{
UF_CURVE_ask_point_data(pt_set1[i], cor);
for(j = 0; j < 3; j++)
{
cen1[j] += cor[j];
}
}
for(j = 0; j < 3; j++)
cen1[j] /= num_point1;
/* Evaluate center of the second points set */
{
UF_CURVE_ask_point_data(pt_set1[i], cor);
for(j = 0; j < 3; j++)
{
cen1[j] += cor[j];
}
}
/* Evaluate the translate distance */
UF_VEC3_sub(cen1, cen2, vec);
/* Translate */
{
int status = 0, copyTag = 1; /* move */
int layer = 0, trace = 2;
double matrix[16]={0.0};
tag_t out1 = NULL_TAG, out2 = NULL_TAG;
char msg[133] = "";
FTN(uf5943)(vec, matrix); /* get translate matrix */
FTN(uf5947)(matrix, pt_set2, &num_point2, ©Tag, &layer, &trace,
&out1, &out2, &status);
if( status )
UF_get_fail_message( status, msg );
}
return;
}
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3