iCAx开思网

标题: 【讨论】【请教】用BMX求graph的方法 [打印本页]

作者: djYang    时间: 2004-1-4 16:29
标题: 【讨论】【请教】用BMX求graph的方法
如题,为了试验该方法,我作了一个最简单的,但结果有点意外。
  
STEP 1: 画两条曲线。
作者: djYang    时间: 2004-1-4 16:31
STEP 2: 作一 field point,并作分析特征,测两曲线的距离。
作者: djYang    时间: 2004-1-4 16:34
STEP 3: 将前面2个特征group,再作1 UDA分析特征。
作者: djYang    时间: 2004-1-4 16:36
SETP 4: 在第3步中,可以计算两曲线的距离,得出graph。但结果如下,X轴明显与我画的两曲线相差很远。
  
不知为何会这样?请大家讨论、指教!
作者: djYang    时间: 2004-1-4 16:59
新年流行【指令知多少】,自己顶一下!
作者: MSQ    时间: 2004-1-4 17:13
我帮你顶
作者: djYang    时间: 2004-1-4 17:18
MSQ wrote:
我帮你顶

  
引用qdzch版主的一句话:“论坛需要热心人的支持!”
作者: inwander    时间: 2004-1-4 19:14
什么相差很远不明白。
X轴为0---1没错啊。
作者: icdrs    时间: 2004-1-4 19:40
我帮你顶一下,我刚才试了一下,确实也是如此,想不通,希望有高手出现解释一下,我也摸索^_^
作者: icdrs    时间: 2004-1-4 19:43
0-1是没错啊,但在0.3左右的时候就跳动了,这就不正常啊!按道理在0。6才跳动的,你们说呢?
作者: djYang    时间: 2004-1-4 21:02
icdrs wrote:
0-1是没错啊,但在0.3左右的时候就跳动了,这就不正常啊!按道理在0。6才跳动的,你们说呢?

  
就是这个意思!
作者: djYang    时间: 2004-1-4 21:30
又试了一下,如果将红色的三条直线,转换成spline,结果又有变化。::?
作者: djYang    时间: 2004-1-4 21:31
结果。
作者: qdzch    时间: 2004-1-4 22:44
djYang wrote:
如题,为了试验该方法,我作了一个最简单的,但结果有点意外。  
  
  STEP 1: 画两条曲线。

  
您所说的这个graph不是我们在关系式中引用的graph,您所指的这个graph,实际上仅仅是计算结果的图形化表示!
这个图形是以x轴表示“distance”(点到直线的距离),y轴表示计算的uda结果。
至于为何不与曲线对应,我也不知道了
作者: krish    时间: 2004-1-5 08:07
顶顶顶!是啊,哪为高手能解答?
作者: djYang    时间: 2004-1-5 08:12
qdzch wrote:
   
  
  您所说的这个graph不是我们在关系式中引用的graph,您所指的这个graph,实际上仅仅是计算结果的图形化表示!  
  这个图形是以x轴表示“distance”(点到直线的距离),y轴表示计算的uda结果。  
  至于为何不与曲线对应,我也不知道了

  
这个确实是一个图形化的表示。我认为,graph本来就是一个函数的图形。
在后面,我们可以将该图形存为graph。这个graph是可以在关系式中引用的。
  
在ice大的好多例子中,曾多次引用了该方法。不知冰大是如何保证这个结果正确的?
作者: ____    时间: 2004-1-5 08:21
你要注意field point的起始点,有的情况是会和你设想的反过来的(也就是用你期望中的终点作为起点的8D),你要用evalgraph(“dd”,1-trajpar)来算。对于这个图肯定是你的精度设的太低所致,还有,你的field point应该在直线上而非折线上(自己想想为啥?)8D
作者: qdzch    时间: 2004-1-5 08:27
djYang wrote:
   
  
  这个确实是一个图形化的表示。我认为,graph本来就是一个函数的图形。  
  在后面,我们可以将该图形存为graph。这个graph是可以在关系式中引用的。  
  
  在ice大的好多例子中,曾多次引用了该方法。不知冰大是如何保证这个结果正确的?

我是说,保存为graph并被我们在关系式中引用的graph并非你看到的“计算结果的图形显示”。
作者: ____    时间: 2004-1-5 08:29
另外,域点分析并不太适合用在有突变点的分析,因为突变点通常都不是很准的
作者: djYang    时间: 2004-1-5 08:50
IceFai wrote:
你要注意field point的起始点,有的情况是会和你设想的反过来的(也就是用你期望中的终点作为起点的8D),你要用evalgraph(“dd”,1-trajpar)来算。对于这个图肯定是你的精度设的太低所致,还有,你的field point应该在直线上而非折线上(自己想想为啥?)8D

  
我刚好认为field point应该在折线上。因为,如果在直线上,当它计算点到直线距离时,应该如下图红线。这个与我想求的graph是不相同的。
作者: djYang    时间: 2004-1-5 08:53
而如果field point在折线上,则所求的点到直线的距离正好是我们想求的graph。如下图 的 虚线。
作者: djYang    时间: 2004-1-5 08:54
精度问题。不知ice大说的是哪里的精度。我将计算精度调到最高,结果还是一样的。只是 取样点 多一些而已。
作者: ____    时间: 2004-1-5 09:02
djYang wrote:
   
   
  我刚好认为field point应该在折线上。因为,如果在直线上,当它计算点到直线距离时,应该如下图红线。这个与我想求的graph是不相同的。

  
呵呵,换到直线上当然测量方法也要变一下才行啊,要作一个平行平面和线的交点再测量点与点的距离而不是直接点到线。因为field point是以长度作比例来绘制graph的,当与折线作field point的线当然就和比的标注不一样了(除非你全部标长度,总长标周长!)
作者: icdrs    时间: 2004-1-5 09:10
冰大说的倒是有点道理!我直接放到直线上,结果变成这样了。
作者: icdrs    时间: 2004-1-5 09:20
IceFai wrote:
   
  
  呵呵,换到直线上当然测量方法也要变一下才行啊,要作一个平行平面和线的交点再测量点与点的距离而不是直接点到线。因为field point是以长度作比例来绘制graph的,当与折线作field point的线当然就和比的标注不一样了(除非你全部标长度,总长标周长!)

  
照你的方法,还是不行,得到的结果跟我上面的差不多。不知你是怎么得出来的?
作者: djYang    时间: 2004-1-5 09:24
IceFai wrote:
   
因为field point是以长度作比例来绘制graph的,当与折线作field point的线当然就和比的标注不一样了(除非你全部标长度,总长标周长!)

  
问题可能就在这里了!
  
而结果,与我上面所调的精度有很大的关系的。楼上的兄弟,显然是精度太低造成的。(因为俺试过了!)。
  
但调高精度后,结果仍然不如人意。
作者: ____    时间: 2004-1-5 09:28
djYang wrote:
   
  
  问题可能就在这里了!  
  
  而结果,与我上面所调的精度有很大的关系的。楼上的兄弟,显然是精度太低造成的。(因为俺试过了!)。  
  
  但调高精度后,结果仍然不如人意。

  
呵呵精度也不要全调,这是分形误差,所以你可以拉动到刚好分形点在你的两个拐点处就行了呵呵(所以说不太适合有折点的!)
作者: djYang    时间: 2004-1-5 09:32
qdzch wrote:
   
  我是说,保存为graph并被我们在关系式中引用的graph并非你看到的“计算结果的图形显示”。

  
版主,俺再来理解一下您的意思。我也是用一个简单的试验。
  
如下图,用前面画的两曲线,作一简单的变截面扫描。
作者: djYang    时间: 2004-1-5 09:36
调一下精度,如得出如下的图形。
作者: djYang    时间: 2004-1-5 09:37
则结果如下:
作者: djYang    时间: 2004-1-5 09:40
如调精度使图形如下。
作者: djYang    时间: 2004-1-5 09:44
则结果又对应不同。
所以,得到的图形结果与后面 调用的graph是有很大的关系的。(不知能不能等同?)
  
不知俺是否又理会错 qdzch版大的意思了,请PP!:I
作者: ____    时间: 2004-1-5 09:47
djYang wrote:
如调精度使图形如下。

  
考虑到你这个题的标注的特殊性,你应该用点数(10×n+1)或步长(10)来作计算就会得到理想的结果;)
作者: djYang    时间: 2004-1-5 09:48
IceFai wrote:
   
  
  呵呵精度也不要全调,这是分形误差,所以你可以拉动到刚好分形点在你的两个拐点处就行了呵呵(所以说不太适合有折点的!)

  
不明白啊!::?
作者: djYang    时间: 2004-1-5 09:56
虽然调到的图形如下:
作者: qdzch    时间: 2004-1-5 09:57
:I昨天晚上单独做的,没看出来。放在一起就明显了,一个是草绘的GRAPH控制,一个是UDA得到的GRAPH控制,理解错误,该罚::6B)
作者: icdrs    时间: 2004-1-5 09:58
哪里的精度啊?系统精度吗?我调了没用啊^_^
作者: ____    时间: 2004-1-5 09:58
很简单啊,proe是平均分配计算点的,如果计算点刚好落在你的转折点上结果就当然理想了,不幸落在转折点的两侧结果当然就不理想了呵呵
作者: djYang    时间: 2004-1-5 10:07
但结果仍然不满意。
作者: djYang    时间: 2004-1-5 10:12
IceFai wrote:
很简单啊,proe是平均分配计算点的,如果计算点刚好落在你的转折点上结果就当然理想了,不幸落在转折点的两侧结果当然就不理想了呵呵

  
这样说起来,利用UDA分析得到的graph不可信!:~)
那你前面做的例子的结果都正确吗?是否能验证的到!
作者: ____    时间: 2004-1-5 10:15
djYang wrote:
但结果仍然不满意。

  
这是没办法的了,proe会自动拟合结果。做不到转折的效果的了。所以对有转折突变点还是不能用这个方法的了。
但对平滑过度的当然没问题啊,相当于用spline来逼近结果而已。相同你用spline当然也无法画的和折线一样,但对G1连接的线就没问题题(当然是指逼近)
作者: djYang    时间: 2004-1-5 10:18
icdrs wrote:
哪里的精度啊?系统精度吗?我调了没用啊^_^

  
见22楼!
作者: qdzch    时间: 2004-1-5 10:25
学到东西了,感谢斑竹和楼主::y::y
作者: ____    时间: 2004-1-5 10:32
djYang wrote:
   
  
  这样说起来,利用UDA分析得到的graph不可信!:~)  
  那你前面做的例子的结果都正确吗?是否能验证的到!

前面的都是平滑过度的啊,所以正确性有保障。这个可以验证的8D没有放之四海而皆准的方法的
作者: djYang    时间: 2004-1-5 10:36
我将取样的点数调到101,得到的结果会好很多!但拐点的地方不理想。
  
小结一下:用UDA得到的graph,实际上是系统在全范围内找点取样,然后将结果自动拟合。而拟合的结果,与实际的是有误差的。误差的大小,视取样点的多少来决定。前面通过一个简单的例子可以看出,用这种方法得到的结果,往往不能令人满意!这一点,就好像以前在图板上手工画图,画一个较复杂得截交线or相贯线时,往往取几个特殊的点,然后手工连线,得到一个大致得图形。
  
不知俺理解得对否,希望没误导大家!
  
或者大家有好的解决办法!欢迎共享讨论!
作者: ____    时间: 2004-1-5 10:43
djYang wrote:
我将精度的点数调到101,得到的结果会好很多!但拐点的地方不理想。  
   
  小结一下:用UDA得到的graph,实际上是系统在全范围内找点取样,然后将结果自动拟合。而拟合的结果,与实际的是有误差的。误差的大小,视取样点的多少来决定。前面通过一个简单的例子可以看出,用这种方法得到的结果,往往不能令人满意!  
   
  不知俺理解得对否,希望没误导大家!  
   
  或者大家有好的解决办法!欢迎共享讨论!

  
应该说是对有突变的转折点的得到的结果不理想。,不信你把折线换成spline或圆弧过度再来做一下看误差8D
作者: djYang    时间: 2004-1-5 10:51
IceFai wrote:
   
  
  应该说是对有突变的转折点的得到的结果不理想。,不信你把折线换成spline或圆弧过度再来做一下看误差8D

我选这个例子,就是能一眼看出UDA得出的graph与实际的差别!
  
如果用spline来转折,怎么判断两者之间是否有区别呢?因为,spline上的每一点,一般不容易得到详细尺寸的。
作者: ____    时间: 2004-1-5 10:57
djYang wrote:
   
  我选这个例子,就是能一眼看出UDA得出的graph与实际的差别!  
  
  如果用spline来转折,怎么判断两者之间是否有区别呢?因为,spline上的每一点,一般不容易得到详细尺寸的。

  
要想用bmx作到和目的一样是不可能,这里就是精度的问题,这是优化特征本身的特点。偶说了对于这中G0连接的折线优化的结果是不理想的。就好比是用splineline来拟合折线一样,不管你的控制点有多少,在转折点出都是有比较明显的误差的。但如过是G1连接的线,用spline就可以很精确的拟合。(当然也和控制点有关),我想实际中没人去追究这千分之一或万分之一的差别吧。
作者: djYang    时间: 2004-1-5 10:58
另外,见29楼和30楼!
  
30楼的结果是用29楼的图形graph得出的。29楼的graph可以看出,在0-0.3段,距离呈水平。但30楼的结果却不是。::?
  
可见,好像还不仅仅是拐点的问题!
作者: ____    时间: 2004-1-5 11:00
djYang wrote:
另外,见29楼和30楼!  
  
  30楼的结果是用29楼的图形graph得出的。29楼的graph可以看出,在0-0.3段,距离呈水平。但30楼的结果却不是。  
  
  可见,好像还不仅仅是拐点的问题!

这当然是拐点的问题啊,你试试用29楼的四个点用spline来连起来就会得到30楼的线了
作者: djYang    时间: 2004-1-5 11:11
我将折线换成spline,如下图。
作者: djYang    时间: 2004-1-5 11:13
得到的结果如下:
与我画的spline还是有区别的。
作者: ____    时间: 2004-1-5 11:17
djYang wrote:
得到的结果如下:  
  与我画的spline还是有区别的。

  
那是你的精度不够!而且你的spline搞不好还过倒扣
作者: djYang    时间: 2004-1-5 11:35
IceFai wrote:
   
  
  那是你的精度不够!而且你的spline搞不好还过倒扣

  
唉!俺调来调去都一样!版大你贴你的part看一下!我的spline,看一下曲率梳好像没问题呀!:~)
作者: ____    时间: 2004-1-5 11:37
djYang wrote:
   
  
  唉!俺调来调去都一样!版大你贴你的part看一下!我的spline,看一下曲率梳好像没问题呀!:~)

  
看附件
作者: djYang    时间: 2004-1-5 11:54
重新做了一次,调精度到最高,结果如下。
但调精度不高的话,还是有很大的差距。搞了一个上午了,谢谢ice大!




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3