khidigis 发表于 2010-7-30 11:12:00

反算scale命令被修改的标高

使用scale命令后,标高值被修改,想要将标高值恢复成修改前的值,请问该如何通过scale命令输入的比例因子和基点,反算各标高值的原值?

dunkel 发表于 2010-7-30 11:32:00

<p>标高?什么情形下的以哪个坐标来进行更新的?比较简单的做法是先将坐标原点平移到缩放基点,这时缩放后的新坐标就是缩放前新坐标的各值乘以缩放因子,新坐标返回原坐标系即为缩放后的坐标,据此可计算出缩放前后的坐标关系,进而计算出原坐标项目。</p>
<p>比如,在 x-y 平面,以 y 作为标高的话,<font style="BACKGROUND-COLOR: #ffcc00">y1=(y2-yb)/Sf + yb</font>,y1 为原来的 y 坐标,yb 为缩放基点的 y 坐标,Sf 为缩放因子,y2 为缩放后的坐标</p>

khidigis 发表于 2010-7-30 14:59:00

<p>标高是二维多段线里的属性,相当于多段线的Z值,在scale命令执行时这个属性也跟着变,想知道在一般情况下的变换公式</p>
<p>简单就是想知道autocad中scale(缩放)功能的原理。</p>

dunkel 发表于 2010-7-30 15:02:00

<p>和上面一样的吧,只要将其中的 y 坐标都换成 z 坐标</p>

khidigis 发表于 2010-7-30 16:23:00

<p><font face="Verdana">基点a (x,y,z)<br/>缩放点b(x1,y1,z1)<br/>缩放比例n<br/>缩放后点c的坐标 x+n(x1-x),y+n(y1-y),z+n(z1-z)<br/></font><font face="Verdana"></font></p>
<p><font face="Verdana">谢谢了,问题解决</p></font>
页: [1]
查看完整版本: 反算scale命令被修改的标高