找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: taocitc

[求助] 【已解决】修改UCS老是提示非单一的UCS Y轴,啥情况?

[复制链接]
 楼主| 发表于 2016-7-13 22:43:57 | 显示全部楼层
newer 发表于 2016-7-13 22:38
怎么会复杂呢? 轴上两点你不好求吗?

昨天你贴的代码没看明白
我想做的是空间任意两点创建实体,需要用到这两点在ucs的z轴,现在已知的就是这任意两点,想不明白怎么求

点评

上面ST说的是一个方法,另外,你在空间绘制实体,那么实体所在的平面你应该会求吧? 法向量就是Z轴。Z垂向量是X轴,Y轴是由Z轴和X轴叉积得出。这是ACAD的任意轴算法。 你画的是什么实体呢?实体画出来,实体的nor  详情 回复 发表于 2016-7-13 23:18
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2016-7-13 22:51:18 来自手机 | 显示全部楼层
两点向量为x轴,其垂向量即y轴
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-7-13 23:18:10 | 显示全部楼层
taocitc 发表于 2016-7-13 22:43
昨天你贴的代码没看明白
我想做的是空间任意两点创建实体,需要用到这两点在ucs的z轴,现在已知的就是这 ...

上面ST说的是一个方法,另外,你在空间绘制实体,那么实体所在的平面你应该会求吧? 法向量就是Z轴。Z垂向量是X轴,Y轴是由Z轴和X轴叉积得出。这是ACAD的任意轴算法。

你画的是什么实体呢?实体画出来,实体的normal()就是Z轴。

点评

我先试试我的办法是不是可以行得通,我主要是画圆柱体和长方体  详情 回复 发表于 2016-7-13 23:33
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-13 23:33:29 | 显示全部楼层
newer 发表于 2016-7-13 23:18
上面ST说的是一个方法,另外,你在空间绘制实体,那么实体所在的平面你应该会求吧? 法向量就是Z轴。Z垂 ...

我先试试我的办法是不是可以行得通,我主要是画圆柱体和长方体
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2016-7-14 13:24:39 来自手机 | 显示全部楼层
两点(三维)无法唯一的normal,需要再有线外一点才可以(三点确定一个平面),二维向量才有求垂向量方法

点评

请问您有什么方法去定义以任意两点为Z轴的坐标系  详情 回复 发表于 2016-7-14 22:33
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-14 22:33:25 | 显示全部楼层
csharp 发表于 2016-7-14 13:24
两点(三维)无法唯一的normal,需要再有线外一点才可以(三点确定一个平面),二维向量才有求垂向量方法

请问您有什么方法去定义以任意两点为Z轴的坐标系

点评

Input:N(x,y,z) Output:Local_X(x,y,z) Local_Y(x,y,z) Local_Z(x,y,z) Begin Local_Z =N ; 单位化Local_Z; if(abs(Local_Z.x) < 1/64) and (abs (Local_Z.y) < 1/64)//N 不是Z轴abs { Local_X = Local_Z  详情 回复 发表于 2016-7-14 23:16
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2016-7-14 23:16:31 来自手机 | 显示全部楼层
taocitc 发表于 2016-7-14 22:33
请问您有什么方法去定义以任意两点为Z轴的坐标系

Input:N(x,y,z)
Output:Local_X(x,y,z) Local_Y(x,y,z) Local_Z(x,y,z)
Begin
Local_Z =N ;
单位化Local_Z;
if(abs(Local_Z.x) < 1/64) and (abs (Local_Z.y) < 1/64)//N 不是Z轴abs
{
Local_X = Local_Z 叉乘 (0,1,0);
单位化Local_X;
Local_Y = Local_Z 叉乘 Local_X;
}
else
{
Local_X = Local_Z 叉乘 (0,0,1);
单位化Local_X;
Local_Y = Local_Z 叉乘 Local_X;
}
End

点评

多谢多谢,按照您说得方法我写出来了,只是不理解那个1/64是什么意思,有什么作用?  详情 回复 发表于 2016-7-20 23:08
有点看不明白,我是这样做的,还差一点就完成了 先通过已知的一点建立ucs,然后通过旋转Z轴,ucs的Y轴与已知的线垂直 然后把已知线的向量赋值给ucs的x,然后求出z轴的单位向量,再把z轴的单位向量赋值给x,就完  详情 回复 发表于 2016-7-15 20:41
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-15 20:41:25 | 显示全部楼层
csharp 发表于 2016-7-14 23:16
Input:N(x,y,z)
Output:Local_X(x,y,z) Local_Y(x,y,z) Local_Z(x,y,z)
Begin

有点看不明白,我是这样做的,还差一点就完成了

先通过已知的一点建立ucs,然后通过旋转Z轴,ucs的Y轴与已知的线垂直
然后把已知线的向量赋值给ucs的x,然后求出z轴的单位向量,再把z轴的单位向量赋值给x,就完成了,现在在想怎么求z轴的向量,高数学的忘光了


现在解决了,引用了System.Windows.Media.Media3D,用Vector3D.CrossProduct (x,y)得出的Z的单位向量。

点评

AcGe 库内有方法  详情 回复 发表于 2016-7-15 22:31
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2016-7-15 22:31:56 来自手机 | 显示全部楼层
taocitc 发表于 2016-7-15 20:41
有点看不明白,我是这样做的,还差一点就完成了

先通过已知的一点建立ucs,然后通过旋转Z轴,ucs的Y轴 ...

AcGe 库内有方法
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-20 23:08:31 | 显示全部楼层
csharp 发表于 2016-7-14 23:16
Input:N(x,y,z)
Output:Local_X(x,y,z) Local_Y(x,y,z) Local_Z(x,y,z)
Begin

多谢多谢,按照您说得方法我写出来了,只是不理解那个1/64是什么意思,有什么作用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-3-29 00:22 , Processed in 0.403570 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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