gpt4 book ai didi

java - 旋转后模型的顶点选择和状态

转载 作者:行者123 更新时间:2023-12-02 08:36:39 24 4
gpt4 key购买 nike

我目前正在编写一个应用程序,它实际上充当 3D 网格的“剪切”工具。好吧,我现在遇到了一些问题,我不知道如何解决,因为这是我的第一个应用程序。

我已将目标文件中的模型加载到 Canvas 上,然后在同一 Canvas 上,我使用鼠标拖动事件绘制线条来定义切割点。

假设我想把一个球切成两半,然后在中间画一条线。如何检测线下球的顶点。

其次,如果我旋转/平移球,所有顶点信息都会改变吗?

最佳答案

想想你在现实世界中会做什么:你不能用线切球,你必须使用刀(线没有体积)。要切球,您必须将刀穿过球。

所以你要寻找的是一个平面,而不是一条线。要获得这样的飞机,您必须使用一些 3D 数学。您所拥有的是 Canvas 方向和平面的“侧 View ”(看起来像一条线)。

所以您要寻找的平面垂直于 Canvas 。获得这样一个平面的一个简单方法是采用 Canvas 方向并创建一个具有相同方向的平面,然后将平面绕线旋转 90°。

之后,您可以访问模型的所有边并确定它们位于平面的哪一侧。为此,请确定边的端点位于平面的哪一侧。使用叉积。如果它们在同一边(叉积的两个结果将具有相同的符号),则可以忽略该边。否则,您需要确定边与平面的交点。创建新的边并相应地连接它们。

参见this page了解一些数学背景。但是您应该在 opengl 库中找到一些用于所有这些的辅助方法。

if I rotate / translate the ball, would all the the vertices information change

当然。

关于java - 旋转后模型的顶点选择和状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1570650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com