明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: lzz0517

椭圆弧旋转后计算角度问题

  [复制链接]
发表于 2012-6-4 11:23:35 | 显示全部楼层
本帖最后由 highflybird 于 2012-6-4 11:25 编辑

哦,我看到缘故了。
楼主忘记检查这个椭圆的 210选项了,就是法线矢量。
这个椭圆弧的法线矢量是 (0 0 -1)注意正是这个-1,意味这这个椭圆弧是个3维旋转了180度的。就是可能是跟XY平面镜像,或者旋转了的。
210
0.0
220
0.0
230
-1.0
也就是说,如果要在平面上正常显示的话,看起来的起点角度,实际上是终点角度,它们是相反的。
 楼主| 发表于 2012-6-4 11:25:20 | 显示全部楼层
这个三维参数要怎么用呢?我只懂二维的旋转平移!
发表于 2012-6-4 11:35:42 | 显示全部楼层
本帖最后由 highflybird 于 2012-6-4 12:26 编辑

假设法线矢量是 '(0 0 -1)
意味着你最终要用  如下的矩阵再乘以你先前的变换矩阵
-1 0 0
0 1 0
0 0 -1


开始的变换矩阵写错了,现已经纠正。
 楼主| 发表于 2012-6-4 11:41:22 | 显示全部楼层
本帖最后由 lzz0517 于 2012-6-4 11:50 编辑

那这个计算坐标的时候,角度要先换过来吗?就是说起点X=长半径*端点角度的余弦值?进行矩陈乘法时还有顺序问题,这个顺序是怎么样的?
发表于 2012-6-4 11:54:41 | 显示全部楼层
本帖最后由 highflybird 于 2012-6-4 12:27 编辑

就是拿 矩阵
-1   0   0
0   1   0
0   0  -1
乘以旋转变换后的坐标点
就是说,先用角度算出   椭圆的坐标,然后旋转椭圆的旋转角度,得到新的坐标,再用这个矩阵乘以新的坐标,得到坐标X ,Y,Z,最后加上椭圆的中心坐标,X0,Y0,Z0,这个就是你要求的坐标,
如果要得到CAD显示的坐标,还需要乘以插入块的变换矩阵。
发表于 2012-6-4 13:37:30 | 显示全部楼层
lr = sqrt(45.66621877367426^2+337.0426302735758^2) =340.12224

sx = 340.12224*cos(2.35439212168697*180/pi) = -240.068877
sy = 340.12224*sin(2.35439212168697*180/pi)*0.9999999999977266 = 240.935826
ra = atan (337.0426302735758/45.66621877367426) = 82.2839294度

sy = -1*sy = -240.935826               ---这一步要注意,就是因为法线矢量(0 0 -1)的缘故。

nsx = -240.068877 * cos(82.2839294) + 240.935826 *sin(82.2839294)+3217176.690239313
nsy = -240.935826 * cos(82.2839294) + (-240.068877)* sin(82.2839294)+532617.0907392278
 楼主| 发表于 2012-6-4 14:00:07 | 显示全部楼层
highflybird 发表于 2012-6-4 13:37
lr = sqrt(45.66621877367426^2+337.0426302735758^2) =340.12224

sx = 340.12224*cos(2.35439212168697 ...

非常感谢你的耐心回答,终于求得正确的答案,很感谢了!是不是说在进行块内图元坐标求解时,每次进行计算都要把法线矢量(0,0,1)或(0,0,1)加进去求解?
 楼主| 发表于 2012-6-4 14:26:46 | 显示全部楼层
本帖最后由 lzz0517 于 2012-6-4 14:27 编辑

乘以这个矩阵也相当旋转180,跟你说的矩阵有什么区别?怎么推导得到你说的矩阵?
1 0 0
0 -1 0
0 0 -1

发表于 2012-6-4 14:43:29 | 显示全部楼层
如果法线矢量是0,0,1 就没必要做那一步了。
法线矢量相当于Z 方向的矢量。
发表于 2012-6-4 18:41:49 | 显示全部楼层
lzz0517 发表于 2012-6-4 14:26
乘以这个矩阵也相当旋转180,跟你说的矩阵有什么区别?怎么推导得到你说的矩阵?
1 0 0
0 -1 0

一个椭圆本身也有自身的坐标系统,它依据椭圆的长轴方向为X向,短轴方向为Y向,法线矢量为Z向
如果椭圆的法线矢量是(0 0 -1)
而我们这里设定的椭圆是长轴作为自身坐标系的x轴线,那么x矢量为(1 0 0)
矢量 (0 0 -1) 跟(1 0 0)的叉积为 (0 -1 0)
也就是说从这个地方看出,Y的数值要变号。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-12-23 22:04 , Processed in 0.171059 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表