Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何计算长方体正面边缘是否在另一长方体的正面或后面,以便进行分类

如何计算长方体正面边缘是否在另一长方体的正面或后面,以便进行分类
EN

Game Development用户
提问于 2014-07-01 06:47:44
回答 1查看 230关注 0票数 3

我正在构建一个等距游戏,我想以一种特殊的方式定位和排序对象。我所有的实体都有三维边界,这决定了它们的长方体,在我的例子中,一个不同的边缘被用来决定一个长方体是否在另一个长方体前面,这取决于b2点是左还是右a2。

我已经计算了所有的点a1,a2,b1,b2,它们是x,y,z,我想我基本上需要画出“边”和“边”,并比较一些交点。

如果b2是正确的a2,绿长方体(b)是考虑在红色长方体前,当bline是东南的线。

如果b2在a2的左边,则当bline位于aline西南方向时,在红色长方体前面考虑绿色长方体(b)。

请原谅我在这里的无知,我相信这里有一些我应该使用的术语。我在努力用语言表达我所需要的东西。

EN

回答 1

Game Development用户

发布于 2014-07-02 10:21:25

我不知道你是如何设置你的轴,所以这将工作在任何情况下,面孔是平行的。

从bx中减去ax。(ax是面/边a上的任意点/顶点,bx是面/边b上的任意点/顶点)这给出了一个向量。然后将向量投影到正在测试的脸的法线上(这是一个单位向量)。即:

代码语言:javascript
运行
AI代码解释
复制
#pseudocode

v = bx - ax // e.g. a1 - b1
n = (-1, 0, -1).normalize // Change this based on how your axes are set up
vec_proj = v.dot(n) // dot product of the vector and normal

if (vec_proj > 0) {
    // in front
} else {
    // behind or overlapping
}
票数 1
EN
页面原文内容由Game Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://gamedev.stackexchange.com/questions/79590

复制
相关文章
我到底应该信gdb,还是cout?
是cout赢了,因为程序确实崩了。。。 其实我希望是gdb赢的。。。
看、未来
2021/10/25
2410
我到底应该信gdb,还是cout?
跨平台的ide使用-codeblock
全局变量设置 配置编译器 配置编译器,确保编译器下面包含的文件都能找到 编译配置 添加include头文件
sofu456
2021/12/06
5900
跨平台的ide使用-codeblock
曾经是“杀手级”桌面语言,Java桌面开发为何走向衰落?
Java 不适合编写桌面应用,这是事实还是偏见? 本文作者以个人视角对 Java 桌面发展历程做了回顾,内容来自他在上世纪九十年代后期担任 Java 开发者时的所见所感,主要讲述曾经的“杀手级”桌面语言 Java 是为何从 21 世纪开始颓势尽显、步入衰落的。值得一提的是,作者如今在做一款开发者友好型 Java 桌面部署工具(jDeploy),其实他还是希望 Java 可以重拾风采,再度变得对桌面开发具有吸引力。
深度学习与Python
2022/03/23
1.7K0
在制作跨平台的 NuGet 工具包时,如何将工具(exe/dll)的所有依赖一并放入包中
2018-07-03 13:30
walterlv
2018/09/18
2.9K0
使用@NotBlank应该添加什么依赖[通俗易懂]
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说使用@NotBlank应该添加什么依赖[通俗易懂],希望能够帮助大家进步!!!
Java架构师必看
2022/09/12
1.5K0
如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包
发布于 2018-05-11 16:04 更新于 2018-09-01 00:07
walterlv
2018/09/18
1.4K0
如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包
现代移动开发哪家强:原生还是跨平台?JetBrains 专家:我选 Flutter
本文整理自 QCon Plus 演讲,Sebastiano Poggi 是 JetBrains 的开发专家,这次演讲他主要讨论了在原生和跨平台移动开发之间进行选择所需的技术知识和工具。
深度学习与Python
2023/08/09
5540
现代移动开发哪家强:原生还是跨平台?JetBrains 专家:我选 Flutter
使用python创建跨平台的fork()炸弹
进程炸弹运行截图 这是一个用python实现的最简单的fork炸弹 import os while True: os.fuck() 但是对于windows系统,是没有fork函数的,幸运的是,python提供了multiprocessing实现了跨平台的方法,对线程进行操作 以下程序仅供学习之用,为避免对系统的造成损伤,已经进行了延时处理 from multiprocessing import Process import os import time G_boom_num = 1
zhaoolee
2018/04/19
1.6K0
使用python创建跨平台的fork()炸弹
使用 unplugin 编写跨平台的构建插件
今天继续来聊一下怎么编写‘跨平台’的构建插件,前端构建工具一直都是一个比较卷的赛道,毕竟它是前端工程化的重要一环,此时此刻它正在经历着新一轮的变革 —— 使用系统编程语言(如 Rust、Go) 重构。
_sx_
2023/10/23
9010
使用 unplugin 编写跨平台的构建插件
win10使用脚本批量下载本机python依赖包
忽略版本:打开denpend.txt把版本号和空格去掉 指定版本:使用python脚本
静谧星空TEL
2021/04/27
7770
win10使用脚本批量下载本机python依赖包
Golang交叉编译(跨平台编译)的使用
存在交叉编译的情况时,cgo 工具是不可用的。在标准 go 命令的上下文环境中,交叉编译意味着程序构建环境的目标计算架构的标识与程序运行环境的目标计算架构的标识不同,或者程序构建环境的目标操作系统的标识与程序运行环境的目标操作系统的标识不同
微客鸟窝
2022/05/24
4.2K0
开源跨平台移动项目Ngui【入门】
这是一个GUI的排版显示引擎和跨平台的GUI应用程序开发框架,基于NodeJS/OpenGL,这也是第一个在移动端Android/iOS融合NodeJS的前端GUI项目,至此JavaScript成为了真正意义上前后端通吃的语言。
IMWeb前端团队
2019/12/03
9190
开源跨平台移动项目Ngui【入门】
开源跨平台移动项目Ngui【入门】
摘要总结:本文主要介绍了一个基于Node.js的跨平台GUI工具包Ngui,包括其设计初衷,基本架构和主要特性。Ngui旨在开发人员能够编写一次代码,并在多种操作系统和平台上运行,同时能够利用标准浏览器引擎进行渲染。Ngui提供了丰富的组件和工具,方便开发人员快速构建跨平台应用,同时提供了强大的热更新机制。
IMWeb前端团队
2017/12/29
1.2K0
开源跨平台移动项目Ngui【入门】
如何创建一个基于命令行工具的跨平台的 NuGet 工具包
发布于 2018-05-12 01:09 更新于 2018-09-01 00:16
walterlv
2018/09/18
1K0
如何创建一个基于命令行工具的跨平台的 NuGet 工具包
ucgui在windows上的移植,及为go语言打造简易跨平台GUI的想法
go语言缺乏官方GUI的支持,这点有时候很不方便。 虽然网上有很多开源的实现,但都不太满意,不太好用。 网上开源的有哪些?参见《2019,Go GUI项目爆发的一年?》https://studygol
杨永贞
2020/08/04
1.2K0
使用MonoDevelop开发跨平台的应用程序
Mono®项目在3月31日发布了Mono2.4和MonoDevelop 2.0版本,2009年6月3日Lluis 在博客上宣布了MonoDevelop是一个完全跨平台的IDE。Mono计划的主管Miguel de Icaza也在博客上介绍了MonoDevelop 2.2版本。 在 2003 年后期,部分Mono社区的开发者开始移植SharpDevelop到 Linux 上(SharpDevelop是个成功的 .NET 开发源代码的集成开发环境),将原本以 System.Windows.Forms 为基础的代
张善友
2018/01/22
1.6K0
使用MonoDevelop开发跨平台的应用程序
.NET平台下的跨平台探索
三年之前投稿的azure云服务使用经验,记录一下,如今的微软和Azure已不是过去的微软和Azure了
needrunning
2019/07/04
7430
HTML5崛起之时,Java桌面时代就已经终结了
2004 年 Google Maps 的面世标志着 Java 桌面时代的终结,也改变了桌面环境下“跨平台”的基本定义。
深度学习与Python
2022/04/19
8110
ChainForge:衡量Prompt性能和模型稳健性的GUI工具包
ChainForge是一个用于构建评估逻辑来衡量模型选择,提示模板和执行生成过程的GUI工具包。ChainForge可以安装在本地,也可以从chrome浏览器运行。
deephub
2023/10/06
2810
ChainForge:衡量Prompt性能和模型稳健性的GUI工具包
点击加载更多

相似问题

跨平台开发-使用跨平台的UI工具包,还是多个平台上的本机?

80

跨平台GUI语言/工具包

80

如何编写跨平台的GUI工具包?

10

Python是否有一个跨平台GUI工具包,使用本机小部件?

48

开始Android开发:本机还是跨平台?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文