小编ssc*_*lli的帖子

使用选择框选择3D曲面(以两种不同的方式)

我正在创建一个建模软件.我的模型都是由平面多边形组成的,这些多边形只是我用OpenGL显示的一组有序顶点.我已经做了很多搜索,令我惊讶的是我没有找到有关我正在寻找的应用程序的更多信息.

我试图使用矩形框来选择表面.这听起来很简单,但我希望它的工作方式与此方法在许多程序中的工作方式相同.这些是我要求的要求:

  1. 我想要一个从左边开始的矩形,然后右边只选择那些完全包含在框内的对象.
  2. 从右侧开始向左的矩形应选择任何被触摸的表面(它不必完全封闭.
  3. 应选择/触摸矩形中的所有对象.换句话说,我想选择对象是否可见.即使被另一个表面覆盖,也应该选择适合盒子内部的所有东西.

名单上的第3位是最重要的.选择1和2都是首选,但如果它被证明过于难以实现,我只能使用其中一个.

我已经查看了有关3D拾取的各种其他帖子,似乎大多数建议采用颜色或光线投射.我使用颜色选择进行正常的点击选择,但是因为我希望选择框选择不可见的表面,所以这不是一个选项.似乎光线投射仅适用于单个点而不是盒子.那么还有其他方法可以直接实现我的目标吗?我认为这将是一项相当普遍的任务,因为它似乎存在于许多建模软件中,但遗憾的是我无法找到适合我需求的方法.

可以理解算法的伪代码,但不是必需的.至少我正在寻找一种方法,我可以自己研究并找到一些例子; 我根本不知道适当的地方.

opengl 3d mouse-picking

8
推荐指数
2
解决办法
1078
查看次数

如何判断设备在 Google Play 商店中不兼容的原因

我有一个应用程序发布到 Google Play 商店。我可以通过 Android Studio 毫无问题地部署到设备(运行 Pie 的 Google Pixel),但是当我转到商店中发布的应用程序(相同版本)的页面时,它说我的设备不兼容。

这令人沮丧,因为 1) 当我通过 Android Studio 安装该应用程序时,该应用程序运行得非常好,2) Play 商店没有给我反馈为什么我的设备据称不兼容。

我已经按照我所看到的建议多次尝试清除 Google Play 商店缓存。然而,这个问题似乎会影响 Android 8+ 上的其他设备,我不知道为什么。

有什么方法可以从 Google 获得有关设备不兼容原因的反馈吗?

compatibility android google-play

6
推荐指数
1
解决办法
3052
查看次数

Xcode:如何编译环境变量并在 Swift 中引用它们?

我在 CI/CD 平台上定义了一个 API 密钥,如下所示:

export API_KEY="XXXXXXXXXX"

有没有办法可以用我的构建以某种方式编译这个变量,这样我就可以在 Swift 中引用它,而不必担心在运行时在二进制环境中定义的变量?ProcessInfo.processInfo.environment很明显我用不了,因为API key只在我的CI/CD环境中定义。我想用密钥编译我的二进制文件,以便在我分发我的应用程序时可以使用密钥。

我的用例是我想避免将 API 密钥放在我的 git 存储库中,而是在生成构建时从 CI/CD 平台获取它。如果有一种方法可以注入一个环境变量,然后将其编译为二进制文件的一部分,那将是理想的。

xcode compilation api-key swift

5
推荐指数
1
解决办法
2297
查看次数

Kotlin Multiplatform:共享多个目标(iOS、macOS)的实际类实现

我正在开发一个支持 JVM、iOS 和 macOS 的 Kotlin/Native 多平台项目。我的设置有以下模块:

- common
- ios
- jvm
- macos
Run Code Online (Sandbox Code Playgroud)

我想使用一些本机代码作为actual类并将一个expected类放入common. 但是,对于多个目标(iOS 和 macOS),实际的类实现是相同的。有没有办法可以设置我的源代码(也许在 Gradle 中),这样我就不必维护实际类的 2 个相同副本?

intellij-idea kotlin kotlin-native kotlin-multiplatform

4
推荐指数
1
解决办法
2243
查看次数

在Haskell中生成网格坐标的元组

我想编写一个函数来生成包含n×n网格坐标的元组列表.

例如:

> genGrid 2
[(0,0),(0,1),(1,0),(1,1)]
> genGrid 3
[(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过执行以下操作生成对角线:

genDiagonal n = zip [0..] [0..n-1]
Run Code Online (Sandbox Code Playgroud)

我想有一种相当简单的方法可以做到这一点,也许是我对角函数的变体,但是我的空白.

haskell grid-layout

0
推荐指数
1
解决办法
544
查看次数