我正在寻找算法,我不知道从哪里开始!
我试图在笛卡尔图中从A点到达B点.运动仅限于RC车的运动:向后,向前,向前 - 向左和向前 - 向右(恒定的转弯半径;汽车要么完全转动,要么根本不转弯).
我将如何构建一个采用以下方法的算法:
turningRadius, initialPosition, initialOrientation, finalPosition
Run Code Online (Sandbox Code Playgroud)
并产生一组有序的步骤来获得finalPosition?
请注意,我不关心最终的方向是什么.
谢谢!
编辑: 请注意,这不是具有谨慎节点的图形,而是连续坐标系
我正在使用2D动态非结构化网格对裂缝传播进行建模.随着裂缝随时间传播,元素相应地移动.对于给定的时间步长,我想插入我的非结构化网格的数据zi = f(xi,yi)(其中(xi,yi)是非结构化三角形的节点)以获得函数z的值.笛卡尔网格(其中x和y有规律地间隔).我的网格大小约为100x100个节点.有很多方法可以实现这种插值方案,但我对该主题知之甚少,无法确定哪种方案足够健壮和简单.我正在使用Fortran 90(不要问为什么......).有没有可用的开源算法?我不想重新发明轮子.
非常感谢!
假设我们有一个清单L.笛卡儿积L x L可以这样计算:
product = [(a,b) for a in L for b in L]
Run Code Online (Sandbox Code Playgroud)
如何L x L x L x ... x L以短而有效的方式计算笛卡尔幂(n次,对于给定的n)?
我有一个包含三行的单列表,如下所示:
第 1 列
TEAM1
TEAM2
team3
team4
我想做一个自笛卡尔与结果加入如下:
TEAM1,TEAM2
TEAM1,team3
TEAM1,team4
TEAM2,team3
TEAM2,team4
team3,team4
我试图在Julia中制作一个n嵌套循环方法
function fun(n::Int64)
@nloops n i d->1:3 begin\n
@nexprs n j->(print(i_j))\n
end
end
Run Code Online (Sandbox Code Playgroud)
但@nloops定义仅限于
_nloops(::Int64, ::Symbol, ::Expr, ::Expr...)
Run Code Online (Sandbox Code Playgroud)
我得到了错误
_nloops(::Symbol, ::Symbol, ::Expr, ::Expr)
Run Code Online (Sandbox Code Playgroud)
有没有办法让这项工作?任何帮助非常感谢
编辑:
我最终做的是使用组合方法
对于我的问题,我需要获取索引的所有k组合来从数组中提取值,因此循环必须看起来像
for i_1 in 1:100
for i_2 in i_1:100
...
for i_k in i_[k-1]:100
Run Code Online (Sandbox Code Playgroud) 我正在尝试生成字符串的所有可能组合.
例如,对于下面的列表:a1q5z!H9,b1q5z!H9,c1q5z!H9,d1q5z!H9,a2q5z!H9 ......等
而不是制作大量嵌套循环,我想我会尝试用MODULO聪明的东西......但是碰壁了.
这是我想出的Javascript - 我可能会怎么做的任何指示?
var c = [
['a', 'b', 'c', 'd'],
['1', '2', '3', '4'],
['q', 'w', 'e', 'r'],
['5', '6', '7', '8'],
['z', 'x', 'c', 'v'],
['!', '"', '£', '$'],
['H', 'J', 'K', 'L'],
['9', '8', '7', '6'],
];
var o = document.getElementById('output');
var pw = "";
var chars = c.length;
for( var i = 0; i <20; i++)
{
pw = ""
for(var j = 0; j < chars; j++ )
{
pw += …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用MPI为2 ^ n处理器实现bitonic排序.
为了方便起见,我想使用n维超立方体来做到这一点.使用MPI_Cart_Create我可以创建自组织维度.这样做可以最大限度地提高我的工艺效率,并减少我必须吐出的LOC数量才能完成.
谷歌搜索和文学总是说同样的事情:
注意,n维超立方体是n维环面,每个坐标方向有2个处理.因此,不需要对超立方体结构的特殊支持.
我还没有看到任何单个例子+ n维三环,每个坐标方向有2个进程对我来说似乎不过是个谜.有人要建议吗?
谢谢,
如何在3D空间中的笛卡尔坐标系和极坐标系之间进行转换?最好用ac#例子,但是真的很感激.谢谢!
编辑 当考虑20%的变化时(不形成球体)

编辑2
private void Spherise() {
for (int i = 0; i < vertices.Count; i++) {
float radius = this.radius;
float longitude = 0;
float latitude = 0;
float sphereRadius = 32;
Color color = vertices[i].Color;
ToPolar(vertices[i].Position - centre, out radius, out longitude, out latitude);
Vector3 position = ToCartesian(sphereRadius, longitude, latitude) + centre;
Vector3 normal = vertices[i].Position - centre;
normal.Normalize();
const float lerpAmount = 0.6f;
Vector3 lerp = (position - vertices[i].Position) * lerpAmount + vertices[i].Position;
vertices[i] = new …Run Code Online (Sandbox Code Playgroud) 我想使用Iterators.jl计算产品迭代器.假设我有一个tab具有先验未知大小的UnitRanges数组.
我想计算tab的元素的笛卡尔积.
例如,如果标签长度为2,tab[1] = a并且tab[2] = b我想product(a,b)从Iterators.jl 计算.
我想创建一个通用函数来计算选项卡中每个组件的笛卡尔积.
我试过这样的事
prod = tab[1]
for i in tab[2:end]
prod = product(prod,i)
end
Run Code Online (Sandbox Code Playgroud)
然而,如果tab长度为3,则组分a,b和c,我在形式(1,(3,2))下的prod元素中获得而不是(1,3,2).c的1个元素,b的3个元素和a的2个元素.
我想生成一个半笛卡尔半极坐标图。例如,高斯曲线的一半采用极坐标格式,另一半采用笛卡尔格式。哪个是最好的方法?

我尝试过共享 y 轴,但未能成功为一个图采用两种不同类型的格式。
import matplotlib.pyplot as plt
import numpy as np
theta = np.linspace(0,(np.pi)/2)
r = np.sin(theta)
fig = plt.figure()
ax = fig.add_subplot(211, polar=True)
c = ax.scatter(theta, r, c=r, s=5, cmap='hsv', alpha=0.85)
ax.set_thetamin(0)
ax.set_thetamax(90)
ax1=fig.add_subplot(212) #, sharey='ax')
fig, (c, d) = plt.subplots(ncols=2,sharey=True)
d=ax1.scatter(theta,r)
plt.show()
Run Code Online (Sandbox Code Playgroud) double testx, testy, testdeg, testrad, endx, endy;
testx = 1;
testy = 1;
testdeg = atan2( testx, testy) / Math::PI* 180;
testrad = sqrt(pow(testx,2) + pow(testy,2));
endx = testrad * cos(testdeg);
endy = testrad * sin(testdeg);
Run Code Online (Sandbox Code Playgroud)
这个部分似乎等同于正确,除了endx和endy应该= testx和testy他们在手工计算时做.
我可以很容易地在纸上做到这一点,但在将它变成一种语言时会有一些心理障碍(我会采取任何答案,但Java可能最容易).
我有两组点A(xA,yA)和B点(xB,yB).
知道这一点,并假设这两个创建一个直线图我需要能够编写一个函数,给我xC,因为我知道yC(显然,新点在同一行).
所有帮助赞赏:)
亲切的问候
我想找到一个垂直于给定线的点z(x3,y3).在我的例子中,我给出了2个坐标A(x1,y1)和B(x2,y2).我想找到垂直(AZ)到AB线的点z和距离点B的距离(h).ABZ角是90.这是我的c ++代码.
double AB_slope = m; // know it
//找到垂直于AB线的z点
double AZ_slope = - 1/m;
double x3 = x2 + prescribed_distance * dx;
double y3 = y2 + prescribed_distance * dy;
但我不知道找到dx,dy和prescribed_distance.请帮我.
cartesian ×13
algorithm ×2
julia ×2
math ×2
product ×2
.net ×1
arrays ×1
c# ×1
combinations ×1
coordinates ×1
database ×1
equation ×1
fortran ×1
grid ×1
hypercube ×1
iterator ×1
java ×1
javascript ×1
join ×1
list ×1
macros ×1
matplotlib ×1
mpi ×1
nested-loops ×1
python ×1
sorting ×1
sql ×1
subplot ×1
trigonometry ×1
xna ×1