小编use*_*536的帖子

四元数在3d模型上的加法,减法和除法运算

我只是在3D游戏编程中更深入地使用四元数(是的,我知道矩阵并且它们没问题,但我们总是要学习一些新东西),所以,我们可以像这样旋转一些对象Pout = q*Pin*conjug(q),q在哪里是四元数,Pin是一个对象(假设我们正在使用一些框架,这个类是为我们定义的)Vector3类,conjug(q)是它的共轭后的q四元数,最后Pout是新的Vector3的对象,我们得到了在旋转初始Vector3的对象之后Pin通过一些角度α(或theta,无论你喜欢什么).另外,我知道有一种方法可以组合旋转,如下所示:q_final = q2*q1(这表示由alfa1旋转,然后由alfa2角度旋转).最后,点积表示2个四元数之间的角度,比方说球体.这对我来说很清楚.我的问题将涉及分裂,加法和减法等问题.

我的问题是:有人可以告诉我,他们在3D编程中代表什么(划分,添加,减去四元数操作)?它们将如何影响3D模型?

先谢谢您的回答.

ps如果你(DarenW,bensiu,Dharmendra,Uwe Keim,Jennis)无法理解这个问题,请留下这个话题.有人可能会有答案.谢谢.

3d quaternions graphics3d

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

CMake环境变量

在使用 CMake 并阅读大量其他 CMakeLists.txt 文件时,我注意到 set(ENV{variable_name} value) 的使用非常频繁。然而,例如在这里https://cliutils.gitlab.io/modern-cmake/chapters/basics/variables.html,作者提到应该避免这些变量,而无需任何进一步的解释。CMake 文档立场:

此命令仅影响当前的 CMake 进程,而不影响调用 CMake 的进程,也不会影响整个系统环境,也不会影响后续构建或测试进程的环境。

我的问题是,在 CMakeLists.txt 中使用环境变量真的是不好的做法吗?这种用法会带来哪些陷阱?

cmake environment-variables

3
推荐指数
1
解决办法
2810
查看次数

arm-none-eabi-as 和 ARM 注释符号 ';'

我必须问它......它已经让我发疯好几天了。选择arm-none-eabi作为工具链后,我的生活变成了一场噩梦,原因很简单-arm-none-eabi-as将每条评论视为指令,而且有时它只是不理解ARM汇编器抛出奇特的错误,例如“AREA 是一条错误的指令”...

这是我从 keil 文档中复制并粘贴的代码:

AREA     Loadcon, CODE, READONLY
    ENTRY                              ; Mark first instruction to execute
start
    BL       func1                     ; Branch to first subroutine
    BL       func2                     ; Branch to second subroutine
stop
    MOV      r0, #0x18                 ; angel_SWIreason_ReportException
    LDR      r1, =0x20026              ; ADP_Stopped_ApplicationExit
    SVC      #0x123456                 ; ARM semihosting (formerly SWI)
func1
    LDR      r0, =42                   ; => MOV R0, #42
    LDR      r1, =0x55555555           ; => LDR R1, [PC, #offset to
                                       ; Literal Pool 1]
    LDR      r2, =0xFFFFFFFF           ; => MVN R2, #0 …
Run Code Online (Sandbox Code Playgroud)

assembly arm

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

Spring 与 MongoTemplate:java.lang.String com.mongodb.connection.ClusterSettings.getDescription()

我正在尝试创建一个简单的应用程序,使用 MongoTemplate 处理 MongoDB 数据库。然而,这个方法:

    @Bean
    public MongoTemplate mongoTemplate() throws Exception {
        MongoTemplate template = new MongoTemplate(mongoClient(), this.mongodbName);
        return template;
    }
Run Code Online (Sandbox Code Playgroud)

因以下异常而失败:

Error creating bean with name 'mongoTemplate' defined in class path resource [com/myapp/tryout/repository/config/MongoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.mongodb.core.MongoTemplate]: Factory method 'mongoTemplate' threw exception; nested exception is java.lang.NoSuchMethodError: 'java.lang.String com.mongodb.connection.ClusterSettings.getDescription()'
Run Code Online (Sandbox Code Playgroud)

pom.xml 具有以下依赖项:

    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-mongodb</artifactId>
      <version>3.0.1.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>org.mongodb</groupId>
      <artifactId>mongo-java-driver</artifactId>
      <version>3.12.5</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

Spring版本是5.2.6。com.mongodb.connection.ClusterSettings 的文档表明该方法确实已被弃用。此外,通过查看 ClusterSettings 类,我找不到此方法。

我的问题是:是否与当前版本的 Spring 和 mongo-java-driver 不匹配有关?如果是,您能否指出要使用的正确包组合? …

java spring mongodb spring-data-mongodb spring-mongodb

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