游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1657|回复: 3

请教一个穿透问题

[复制链接]

55

主题

263

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
发表于 2006-3-24 05:11:00 | 显示全部楼层 |阅读模式
在3D空间中如何检测一个线段是否与某个3D人物模型有相交?
这个计算量估计有点偏大,那如果这个3D模型是一个简单的立方体呢?有没有现成的代码?
在网上只找到一个检测point in polygon的代码

1

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2006-3-24 22:26:00 | 显示全部楼层

Re:请教一个穿透问题

看看计算机图形学方面的数学问题吧

8

主题

310

帖子

311

积分

中级会员

Rank: 3Rank: 3

积分
311
QQ
发表于 2006-3-25 15:54:00 | 显示全部楼层

Re:请教一个穿透问题

我认为应该先模糊测试碰撞
再精确测试碰撞
计算量可能小一点

4

主题

43

帖子

43

积分

注册会员

Rank: 2

积分
43
发表于 2006-3-25 21:54:00 | 显示全部楼层

Re:请教一个穿透问题

首先 你的模型应该 构造包围球
然后 构件AABB包围树
假使 你完成了上面两步

分为以下两个步骤
1\ 计算线段是否 跟包围球相交
算法如下:
将球投影到 投影面上
将线段投影到投影面上
现在就是2D上的线段 和球的 相交问题
1 用点到线的距离简单拒绝
2 如果点到直线的距离小于半径了 那么
3 检查是否 线段的两个点有位于圆内的 有的话 说明和球交了
4 没有的话 就看线段 和圆的 交点的t数 在0--1内相交 否则不
2\解决 线段和AABB的相交问题
你可以把线段 分别在 xyz上投影 检测 和AABB各边是否相交 全部通过 说名相交




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

本版积分规则

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

GMT+8, 2026-1-24 01:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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