快速导航:
教程资源
|
经典范例
|
友情链接
|
联系我们
|
官方微博
登陆
|
注册
网页3d户型
模型展示开发包
万能全景开发包
论坛
日志
官方微博
研究所小贴士:
翻转法线的最简单的方法就是.scale=负数,但那样以后世界就颠倒了。
发表话题
我的话题
所有话题
研究所日志
教程区
共享资源
经典范例
Away3D
搜索
最近更新:
● wan925446570阁下在
讨论区
里 回复“怎么配置away3d 4.0运行环境啊?...”(15:12:45)
● wan925446570阁下在
讨论区
里 回复“怎么配置away3d 4.0运行环境啊?...”(10:01:38)
● DDM君阁下在
讨论区
里 回复“怎么配置away3d 4.0运行环境啊?...”(19:07:43)
浏览主题:《鼠标获取空间坐标的基础 射线和平面相交》的问题
《鼠标获取空间坐标的基础 射线和平面相交》的问题
ericvan76 (2009-07-05 19:38:33)
我按照教程做的,点是能取到,但是有个奇怪的问题:当这个平面有个位移的时候,取出来的点就不在平面上,而且挺有规律。
比如说:
XOY平面,Z位移为0,取出来的点是对的。
但如果Z位移为200,取出来的点的Z坐标就是-200,
如果当Z位移为-200,取出来的点的Z坐标就是200,
好奇怪啊,有没有其他同学也遇到同样问题?
回复
(2009-07-07 09:23:22)
嗯?怎么会刚好相反呢?
是移动的plane3d这个数学平面吗?
另外,试一试把平面的法线反向,看看有什么结果呢,比如new Number3D(0,-1,0)
还有,
plane3d.setNormalAndPoint(法线向量,点);
后面那个‘点’的Mumber3D参数,决定了平面的位置哦
回复
(2009-07-07 11:02:28)
DDM你提醒我了,我是用三个点来确定平面的,有没有可能是法线反了?我试试看
回复
(2009-07-07 11:33:13)
果然如你所说,将plane3D 反向就对了。可还是不知道原因。
我的平面plane是由初始平面(XOY)平移转换来的。我先在初始平面上取三个点(0,0,0), (100,0,0), (0,100,0),然后分别
Matrix3D.multiplyVector(plane.world, p0);
Matrix3D.multiplyVector(plane.world, p1);
Matrix3D.multiplyVector(plane.world, p2);
然后用这三个点来生成plane3D。
可就是不知道为什么是反的?
回复
(2009-07-08 09:25:51)
确实是很奇怪的事情哈,暂时也还是想不到具体原因呢。
不过为什么要用multiplyVector呢?仅仅是竖着的平面平移而已呢?
您一定是用这个方法生成的吧,fromThreePoints( p0:*, p1:*, p2:* ),应该就是这里的问题。
回复
(2009-07-08 13:04:10)
我说漏了,不只是平移,还有旋转。
我也觉得问题出在fromThreePoints里面,三个点确立平面,应该可以是有两个不同法向的,所以我想是否可以把三个点的顺序反一下,不过换过来换过去,还是一样,看来是fromThreePoints有缺陷。
回复
(2009-07-09 09:14:57)
对啊,三个点确实是不能确定平面的朝向呢。哈哈,大发现~
回复
Fighting
(2010-12-03 17:02:32)
学习啦
回复
评论人:
邮 箱:
(填入邮箱,博客地址均可)
内 容:
(广告和垃圾内容可能会被删除,望理解)
链接地址
验证码:
(为防止机器人骚扰,请麻烦输入验证码^_^)
(目前需登陆方可发表)
不想添加了