游戏开发论坛

 找回密码
 立即注册
搜索
查看: 12356|回复: 7

怎样判断构成三角形的三个点的顺序是顺时针还是逆时针?

[复制链接]

5

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2005-12-13 10:54:00 | 显示全部楼层 |阅读模式
三角形单元的节点索引如下:
34326//总的单元数
0        0        1        66
1        66        1        2
2        66        2        62
3        66        62        65
4        65        62        64
5        64        62        63
6        61        62        2
7        61        2        60
8        60        2        3
9        60        3        59
10        59        3        4
11        59        4        5
12        59        5        58
节点坐标:
17171//总的结点数
0        -1.335489        -90.816460        327.406982
1        -1.335489        -91.189957        330.074890
2        -1.335489        -91.589218        332.926758
3        -1.335489        -93.103417        338.290772
4        -1.335489        -95.331062        343.399872
5        -1.335489        -97.889603        347.599304
6        -1.335489        -98.230995        348.159637
7        -1.335489        -101.749641        352.482178
8        -1.335489        -105.821991        356.287598
9        -1.335489        -110.372780        359.505615
10        -1.335489        -115.317947        362.076721
11        -1.335489        -120.566109        363.953430
12        -1.335489        -126.020295        365.101074
13        -1.335489        -131.792532        365.807332
现在要求每个节点的法矢方向,应该要知道每个三角形的三个节点的顺时针或者逆时针方向吧,但是像这个0        0        1        66,我怎么知道它是0,1,66排列还是66,1,0排列呢?如果要求节点的法矢方向,是不是要把每个与节点相连的三角形的法矢相加啊?
比如上面要求第66个节点的法矢方向,就要把单元0,1,2,3四个单元的法矢求出来,然后再相加,是不是就是第66个节点的法矢方向呢?

35

主题

161

帖子

161

积分

注册会员

Rank: 2

积分
161
发表于 2005-12-13 11:05:00 | 显示全部楼层

Re:怎样判断构成三角形的三个点的顺序是顺时针还是逆时

按什么顺序写进文件的就是什么顺序啊。一般都是顺时针吧

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-12-13 19:45:00 | 显示全部楼层

Re:怎样判断构成三角形的三个点的顺序是顺时针还是逆时

如果是针对每个三角形,有这样一招,你求法线,然后根据法线与视线的夹角的cos值为整数则是逆时针,否则为顺时针(遭了,我忘了那个是逆.....你自己实践下啦)。
如果对于所有三角形,那就把D3EDRS_CULLMODE,设为D3DCULL_CW和D3DCULL_CCW。如果前者渲染的不对,那这些三角形就是顺时针了

5

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
 楼主| 发表于 2005-12-15 12:42:00 | 显示全部楼层

Re:怎样判断构成三角形的三个点的顺序是顺时针还是逆时

这个文件不是自己写进去的,是老师给的作业,所以不知道是什么方向,要是自己写的,就不会这么麻烦了,呵呵

0

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2005-12-18 03:09:00 | 显示全部楼层

Re:怎样判断构成三角形的三个点的顺序是顺时针还是逆时

opengl默认应该是逆时针吧。逆时针顺时针相对于外表面说的,一个面定义成逆时针它的背面就顺了,所以建议还是实际画一下,记得glFrontFace(GL_CCW)是默认值,是逆时针表示正面。然后打开背面裁减,看能画出东西来不。

0

主题

1

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2005-12-20 11:00:00 | 显示全部楼层

Re:怎样判断构成三角形的三个点的顺序是顺时针还是逆时

设其中有一条边为AB,将三角形的坐标原点先移动到A点,再将X轴逆时针旋转到AB,这时比较另一个点C旋转后的坐标,若为正值,则三角形ABC得的定点为逆时针排列,否则为顺时针排列。

35

主题

161

帖子

161

积分

注册会员

Rank: 2

积分
161
发表于 2006-2-16 09:46:00 | 显示全部楼层

Re:怎样判断构成三角形的三个点的顺序是顺时针还是逆时

左手系通常用顺时针顶点,右手系是逆时针。
要看这个文件是基于哪儿坐标系了。

35

主题

161

帖子

161

积分

注册会员

Rank: 2

积分
161
发表于 2006-2-16 09:47:00 | 显示全部楼层

Re:怎样判断构成三角形的三个点的顺序是顺时针还是逆时

如果没有说明,就当右手坐标系处理吧。毕竟3d解析几何采用的是右手坐标
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 11:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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