游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4838|回复: 6

求教:已知三点坐标A(X1,Y1,Z1),B(X2,Y2,Z2),C(X

[复制链接]

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
发表于 2007-8-4 01:43:00 | 显示全部楼层 |阅读模式
求教:已知三点坐标A(X1,Y1,Z1),B(X2,Y2,Z2),C(X3,Y3,Z3),求:点C绕直线AB旋转α度的坐标?

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-8-4 11:55:00 | 显示全部楼层

求:点C绕直线AB旋转α度的坐标?

就是绕任意轴旋转,一般用矩阵,也可以用四元数。找本图形学的书看看就清楚了。

5

主题

972

帖子

975

积分

高级会员

Rank: 4

积分
975
发表于 2007-8-4 15:05:00 | 显示全部楼层

Re: 求教:已知三点坐标A(X1,Y1,Z1),B(X2,Y2,Z2),

好复杂,我也不会,谁教一下 [em3]

1

主题

13

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2007-8-4 20:22:00 | 显示全部楼层

Re:

用a-b 得到旋转轴 A1
c-b得到c的相对坐标(叫他c1巴)
把c1绕a1旋转Alpha 度之后得到c2
最后得到(c2+b)就是目标点

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
 楼主| 发表于 2007-8-4 20:51:00 | 显示全部楼层

Re:求教

用a-b 得到旋转轴 A1
c-b得到c的相对坐标(叫他c1巴)
把c1绕a1旋转Alpha 度之后得到c2
最后得到(c2+b)就是目标点


不理解,请解释相关理论知识。

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-8-4 22:31:00 | 显示全部楼层

Re: Re:求教

hwbnet: Re:求教
不理解,请解释相关理论知识。


把问题转化为向量绕任意轴旋转,c1表示向量BC

不过不转换也应该可以,直接把c点认为是原点到c的向量。

0

主题

769

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
发表于 2007-8-4 22:37:00 | 显示全部楼层

Re:求教:已知三点坐标A(X1,Y1,Z1),B(X2,Y2,Z2)

把这个直线看作是新世界矩阵中的一个轴(X、Y、Z都行)
要让当前世界矩阵变成这个新的矩阵则需要分别对着X、Y(随便两个轴)旋转一次,然后在一次平移就能够得到,至于旋转多少和平移多少可以把这个直线映射在2D平面空间的图画出来(如 XY,XZ),然后通过AB两个点的坐标就可以
当把矩阵平移好了之后,现在这直线就是世界矩阵里面的一个基本轴(X、Y、Z之一),那么要做的仅仅就是对这个轴旋转α度(DX的API我就不说了)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 14:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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