小编Nic*_*Nic的帖子

Bullet 中的凹面碰撞检测

我是 Bullet 新手,如果我的问题对您来说很琐碎,我提前道歉。

我需要从 .stl 文件加载一组凹三角形网格并执行碰撞检测。用户可以移动对象。从用户手册中,我读到:“凹三角形网格:对于静态世界环境,表示静态三角形网格的一种非常有效的方法是使用 btBvhTriangleMeshShape。”

因此,我的问题是: - Bullet 可以检测使用 BvhTriangleMeshShape 建模的凹面网格对象之间的碰撞吗?- contactTest 和 CollisionWorld::PerformDiscreteCollisionDetection() 之间的真正区别是什么 - 我是否需要为凹面碰撞检测指定不同的碰撞算法?

我正在使用BulletSharp维护的 Bullet C# 包装器。我所做的是设置我的子弹环境:

CollisionConfiguration bt_collision_configuration;
CollisionDispatcher bt_dispatcher;
BroadphaseInterface bt_broadphase;
CollisionWorld bt_collision_world;

double scene_size = 500;
uint max_objects = 16000;

bt_collision_configuration = new DefaultCollisionConfiguration();
bt_dispatcher = new CollisionDispatcher(bt_collision_configuration);

float sscene_size = (float)scene_size;
Vector3 worldAabbMin = new Vector3(-sscene_size, -sscene_size, -sscene_size);
Vector3 worldAabbMax = new Vector3(sscene_size, sscene_size, sscene_size);
bt_broadphase = new AxisSweep3_32Bit(worldAabbMin, worldAabbMax, max_objects);
bt_collision_world = new CollisionWorld(bt_dispatcher, bt_broadphase, bt_collision_configuration);    [/code] …
Run Code Online (Sandbox Code Playgroud)

c# concave collision-detection bulletphysics

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

网格到网格交叉的C++库:可用的是什么?

我需要计算三维三角网格之间的体积交点和穿透深度(例如.obj格式),但我对计算几何是个新手.

在上一篇文章(网格到网格交叉点)和我的谷歌搜索中,我找到了一些可能适合这项工作的C++库:

  • CGAL
  • 研究生预科课程
  • libigl
  • 迅速

虽然,我不确定哪一个最适合初学者.有什么建议吗?

c++ intersection mesh collision-detection

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

仅为正的稀疏信号的FFT的意外峰值[OCTAVE或MATLAB]

假设信号对应于一年(365天)内的日值.它由全零组成,除了一些稀疏值,它们对应于所有以相同间隔(30天)隔开的孤立峰值.我使用快速傅里叶变换功能获得频谱.

  1. 如何摆脱高0Hz的峰值? 编辑:这与信号的非零均值性质有关.有关详细信息,请参阅此帖子.

  2. 然后第一个峰值为12Hz,这在某种程度上是预期的.然而,峰值也存在于24Hz,36Hz,48Hz ...... 这是一个走样问题吗?如何摆脱它?

以下是我的代码.它在Octave中进行了测试,但它也应该在Matlab中运行

close all
clear all

T = 1/365; % period
samp_freq = 1/T;  % sample frequency
t=0:T:2; % overall time span is two years

% build signal
x= zeros(length(t),1);    
for i=1:length(t)
    if mod(i,30) == 0
       x(i) = 100; 
    else
        x(i) = 0;
    end
end

figure(1)
plot(t,x)
grid
xlabel("Time [years]")
ylabel("Signal amplitude")


y=fft(x);
N = length(x);

for i=1:N
    f(i) = (i-1)*samp_freq/N;
end

figure(2)
plot(f,abs(y))
xlabel("Frequency")
ylabel("Signal amplitude")

figure(3)
plot(f(1:80),abs(y(1:80)))
xlabel("Frequency")
ylabel("Signal amplitude")
Run Code Online (Sandbox Code Playgroud)

信号和频谱

频谱变焦

matlab fft octave dft

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

有多少iOS开发人员可以使用相同的iOS开发许可证?

一旦开发人员注册了"个人iOS开发人员"许可证,他是否可以使用相同的许可证将其他开发人员添加到他的团队中?

换句话说,我是否需要注册为iPhone开发人员并获得与他合作的其他许可?

提前致谢

licensing ios

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

在SQL Server中具有IF条件的CONCAT

我有一个包含四列的表,它们显示{YES,NO,N / A}值。我想要获得的是一列,这些列的名称串联在一起,这些列的值以双下划线分隔,表示“是”值。

\, A, B, C, D
1, YES, NO, YES, N/A
2, NO, YES, N/A, N/A
3, YES, NO, NO, YES
Run Code Online (Sandbox Code Playgroud)

预期结果:

A__C
B
A__D
Run Code Online (Sandbox Code Playgroud)

就像是:

select CONCAT(
IF(A = 'YES', 'A'),
IF(B = 'YES', 'B'),
IF(C = 'YES', 'C'),
IF(D = 'YES', 'D'))
from my_table
Run Code Online (Sandbox Code Playgroud)

sql sql-server concat

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

如何在 C# 中随机化种子

我需要在 C# 中生成随机整数。我正在使用时钟时间来设置种子。但是,由于 rnd.Next() 函数可能需要不到一毫秒,因此如果必须生成整数列表,这将不起作用。

        for( int i=0; i<5; i++) {
            int max_val = 10; // max value
            var rnd = new Random(DateTime.Now.Millisecond);
            int randind = rnd.Next(0, max_val);
            Console.WriteLine(randind);
        }
Run Code Online (Sandbox Code Playgroud)

输出:
1 5 5 5 5

如何在不增加丑陋睡眠的情况下以干净的方式随机化种子?

c# random

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

从 SQL Server 中的所有列中删除引号

我有一个包含三列的表格:A、B 和 C。

A ; B; C
"a1"; "b1"; "c1"
"a2"; "b2"; "c3"
"a3"; "b3"; "c3"
Run Code Online (Sandbox Code Playgroud)

我需要从表中的所有行中删除引号。在这篇文章中,我找到了一个可行的解决方案,但需要指定所有列的名称:

UPDATE myTable
SET A  = REPLACE(A, '"', '');

UPDATE myTable
SET B  = REPLACE(B, '"', '');

UPDATE myTable
SET C  = REPLACE(C, '"', '');
Run Code Online (Sandbox Code Playgroud)

问题:是否有更简洁的方法将替换应用于所有列?例如单行表达式?

谢谢

sql sql-server

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

如何在SQL中选择具有重复列值的所有行

我有一张在 col1 中有一些重复的表格:

co1, col2, col3
a, d, f
r, h, d
e, g, h
z, k, m
e, s, t
a, b, c
e, k, t
Run Code Online (Sandbox Code Playgroud)

感谢这篇文章,我可以选择所有重复的 col1 值

SELECT col1
FROM mytable
GROUP BY col1
HAVING ( COUNT(col1) > 1 )
Run Code Online (Sandbox Code Playgroud)

如何选择具有重复 col1 值的所有行并按 col1 对其进行排序?预期结果如下所示:

co1, col2, col3
a, d, f
a, b, c
e, g, h
e, s, t
e, k, t
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

CATIA CAA 编程简介

我需要开始在 CATIA CAA 工作,我正在寻找在线入门课程。从之前的帖子来看,似乎没有多少可用的。

我发现的只是我开始挖掘的相当混乱的文档:

 CATIA_INSTALLATION_DIR/CAADoc/Doc/online/CAADocUseCases/CAADocRunSample.htm
Run Code Online (Sandbox Code Playgroud)

任何提示?

c++ catia caa

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