我试图创建一个圆柱形图,其中有不同宽度的不同颜色段(取决于数据大小),基本上是一个看起来更好的饼图。
是否可以使用环面几何学来完成这个任务?还是最好将这些段创建为形状并使用超几何学?
在枯萎的情况下,最好的方法是什么?
编辑
我通过环面几何实现了这一点,例如:
var prevAngle = 0;
for(var i = 0; i < data.length; i++){
var mat = new THREE.MeshPhongmaterial({materialOptions});
var angle = 2* Math.PI * data[i].size //siz
所以我有一个游戏,基本上所有的东西都是在一个大网格内的一个正方形。很容易检查一个正方形是否在一个中心是另一个正方形的盒子里:
*** x
*o* --> x is not in o's square
***
**x
*o* --> x IS in o's square
***
这可以通过简单地减去o和x的坐标,然后取其中的最大坐标,并将其与半边长度进行比较。
现在我想做同样的事情,但是检查x是否在o的钻石中,如下所示:
*
**x
**o** --> x IS in o's diamond
***
*
考虑到钻石
在3D数组中,对角线元素是0,即k=1为10时为akk=0。我需要在剩余的矩阵中填充距离最接近的0。 我遇到了广度优先搜索,但我可以不使用数据结构吗?(不熟悉数据结构) unsigned short d = 10, r = 10, c = 10;
double*** a = new double** [d];
for (int i = 0; i < d; ++i) {
a[i] = new double* [r];
for (int j = 0; j < r; ++j)
a[i][j] = new double[c];
}
我有两个排名为2的Tensor,在第二个维度上大小相等,但在第一个维度上不相等。例如,形状[a, n]的张量A和形状[b, n]的张量B。它们可以看作是包含长度为n的向量的两个数组。
我有一个函数f,它接受两个输入,每一个都是形状[n]的张量,并返回一个标量。我想将这个函数应用于A和B中的每一对向量,结果是形状为[a, b]的张量C,这样,对于C中的每个位置(i, j),C[i, j] = f(A[i], B[j])。
如果这些只是常规的Numpy数组,我可以用下面的代码来完成:
# Assume a, b, and n are integers, and A and B are Numpy
我试着用虚线的方式来创造线条,但不知怎么的材料没有反映在我创造的线条上,我只是看不出我做错了什么.
我使用的是示例中的代码,它应该生成以下内容:
当我接受以下代码时:
var geometry = new THREE.Geometry();
geometry.vertices.push(new THREE.Vector3(0,0,0));
geometry.vertices.push(new THREE.Vector3(100,0,0));
var material = new THREE.LineDashedMaterial({ color: 0xffaa00, dashSize
我正在尝试计算一个大型2D输入的最大曼哈顿距离,输入由(x,y)s组成,我想做的是在不到O(n^2)的时间内计算这些坐标之间的最大距离,我可以通过遍历所有元素来计算O(n^2),例如:
*(两点(X1,Y1)和(X2,Y2)之间的曼哈顿距离为:|X1-X2| + |Y1-Y2|)
for ( 0 -> n )
for ( 0-> n )
{ // here i calculate |Xi - Xj| + |Yi - Yj| which is maximum }
但对于非常大的输入,它不会有效地工作:(
有没有人有更好的算法?
输入:
一组点
坐标为非负integer型.
整数k
输出
曼哈顿到最近距离最大的点P(x,y) (不论是否在给定集合中)和max(x, y) <= k
My (朴素)解决方案:
For every (x, y) in the grid which contain given set
BFS to find closest point to (x, y)
...
return maximum;
但是我觉得对于一个大的网格运行非常慢,请帮助我设计一个更好的算法(或者代码/ peseudo代码)来解决这个问题。
我是不是应该在网格中的每个(x, y)上循