在本教程中,作者通过定义其6个面(6*4个顶点)然后告诉webgl关于每个面中的三角形来显示一个立方体.
这不是浪费吗?仅定义8个顶点并告诉webgl如何将它们连接起来获取三角形不是更好吗?多个顶点共享的颜色是否有问题?
让我的关注明显:如果作者用indices数组定义三角形,为什么他需要这么多顶点?他可以指定顶点数组中只有8个顶点的所有三角形.
下面的代码在OpenGL中绘制迷宫或迷宫,结果是2D迷宫,我现在需要做的是绘制立方体而不是这些四边形,我该怎么做?
function drawmaze() {
int x,y,dl;
glNewList(dl=glGenLists(1),GL_COMPILE);
glPushAttrib(GL_TEXTURE_BIT | GL_LIGHTING_BIT);
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE_2D);
glColor3f(1.0f,1.0f,1.0f);
glBegin(GL_QUADS);
// glPushMatrix();
float i = 0;
for(y=0;y < mazedata.size();y++) {
for(x=0;x < mazedata[y].size();x++) {
bool dibujar = false;
if(wall(x,y)) {
glColor3ub(46,151,208);
drawable = true;
}
else
if (entry(x,y)) {
glColor3f(0.0f,0.184f,0.792f);
drawable = true;
}
else
if (mazexit(x,y)) {
glColor3f(0.811f,0.188f,0.176f);
drawable = true;
}
else
if (thing(x,y)) {
glColor3ub( 151, 204, 0 );
drawable = true;
}
else
if (visited(x,y)) {
glColor3ub( 66, 66, 66 );
drawable …Run Code Online (Sandbox Code Playgroud) 我想围绕轴旋转我的屏幕上的立方体.
我在javascript中找到了这个使用3D旋转矩阵的例子.我尝试在我的应用程序中制作类似的东西但是立方体不想旋转,我不知道问题出在哪里.
立方体在不同位置移动(例如从完美角度观察),但直到该视图才显示运动.这是从顶部,底部,正面和侧面看的东西.
这是我的代码:
dimension: Integer = 1;
a: Integer = 0;
b: Integer = 0;
ite: Integer = 27;
ite1: Integer;
ite2: Integer;
ite3: Integer;
x: Integer;
y: Integer;
z: Integer;
u: Integer = 0;
v: Integer = 0;
w: Integer = 0;
u2: Integer = 0;
v2: Integer = 0;
w2: Integer = 0;
c: Integer = 0;
pts: TpointArray;
ite := 0;
a := round(Mouse.CursorPos.X/99);
b := round(Mouse.CursorPos.Y/99);
for x := -dimension to dimension do
begin
for …Run Code Online (Sandbox Code Playgroud) 我想在许多不同的维度上聚合一列。我认为 GOUPING SETS 适合我的问题,但我无法弄清楚如何从 GROUPING SETS 转换/重塑结果表。
这是我使用 GROUPING SETS 的查询:
select date, dim1, dim2, dim3, sum(value) as sum_value
from table
grouping by date, dim1, dim2, dim3
grouping sets ((date, dim1), (date, dim2), (date, dim3))
Run Code Online (Sandbox Code Playgroud)
查询将生成如下表:
date dim1 dim2 dim3 sum_value
2017-01-01 A NULL NULL [value_A]
2017-01-01 B NULL NULL [value_B]
2017-01-01 NULL C NULL [value_C]
2017-01-01 NULL D NULL [value_D]
2017-01-01 NULL NULL E [value_E]
2017-01-01 NULL NULL F [value_F]
Run Code Online (Sandbox Code Playgroud)
但我真正需要的是这样一张桌子:
date dim factor sum_value
2017-01-01 dim1 A [value_A] …Run Code Online (Sandbox Code Playgroud) 我单位有一个SQL分析服务资源,我们可以用excel或者powerbi用服务器名(tooldata.amr.xxx.com)连接cube并获取数据。
我想要的是使用 python 或 excel 自动执行数据查询并输出到 csv 文件以供下游应用程序使用(报告/图表等)
我在下面尝试过但失败了:
1. Microsoft.AnalysisServices.AdomdClient
FileNotFoundException 回溯(最近一次调用)在
Run Code Online (Sandbox Code Playgroud)2. clr.AddReference ("Microsoft.AnalysisServices.AdomdClient.dll")
FileNotFoundException:无法找到程序集“Microsoft.AnalysisServices.AdomdClient.dll”。在 Python.Runtime.CLRModule.AddReference(String name)
看起来缺少一些环境。不知道如何进行。有什么建议吗?
import olap.xmla.xmla as xmla
provider = olap.xmla.xmla.XMLAProvider()
connect = provider.connect(location='http://tooldata.amr.xxx.com/OLAP/msmdpump.dll',username='user',password='pwd')
source = connect.getOLAPSource()
print (source.getCatalog("TestCube"))
Run Code Online (Sandbox Code Playgroud)
ConnectionError: HTTPConnectionPool(host='tooldata.amr.xxx.com', port=80): Max retries exceeded with url: /OLAP/msmdpump.dll (Caused by NewConnectionError(': Failed to build a new connection: [WinError 10060] ] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者因为连接的主机没有响应而建立连接失败'))
看起来需要从服务器端进行一些配置,但这是我无法控制的,请删除此选项。
3.既然可以用excel来获取SSAS数据,那可以用python调用excel刷新数据,然后从excel中解析出数据吗?有人试过吗?
谢谢 。
我正在尝试在处理中随机且均匀地在立方体表面上生成点。我正在尝试制作动画,所以我需要点的x,y和z最终位置。
有什么建议么?谢谢。
我一直在寻找答案,但我没有找到任何答案.对不起,如果答案已在其他地方给出.
这是我的问题:
我有一个计算成员,即项目数(当前成员)除以项目总数(sumitem).
with
member
sumitem
as
SUM ([FailureReason].[FailureReason].[All],[Measures].[Items])
member
Impact
as
[Measures].[Items]/[Measures].[SumItem]
Run Code Online (Sandbox Code Playgroud)
但对于我的维度FailureReason的特定成员,Impact的结果必须为0.所以我尝试添加这个:
member
ImpactFinal
as
iif ([FailureReason].CurrentMember = [FailureReason].[FailureReason].&[127],
0,
Impact
)
Run Code Online (Sandbox Code Playgroud)
我选择这样的数据:
select
{[Measures].[Items],
ImpactFinal
} on columns,
[FailureReason].members on rows
from
NoOTAR
Run Code Online (Sandbox Code Playgroud)
但是,不是仅为此特定成员获取0,此维度的每个成员的ImpactFinal等于0.奇怪的是,如果我将0替换为任何其他值,结果是好的.
我看到使用GROUP BY CUBE()会在数据透视表的底部添加一个总计行,并且我一直在努力使我的语法准确,以便我可以做到这一点。好吧,我的语法正在运行,但我没有在结果集的底部得到总计。这是为什么?
select *
FROM
(
select case
WHEN a.state LIKE 'CA' THEN 'California'
WHEN a.state LIKE 'WA' THEN 'Washington'
else a.state
end As [Full State],
SaleID As [Sales By State],
CONVERT(VARCHAR(20), dt.CumulativeWeek) AS Week
FROM retailsales.Store1 a
INNER JOIN retailsales.customCalendar dt
ON a.orderDate = dt.orderDate
WHERE a.orderDate IS NOT NULL
GROUP BY CUBE (SaleID, state, dt.CumulativeWeek)
) src
pivot
(
COUNT([Sales By State])
For Week IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13])
) piv
Run Code Online (Sandbox Code Playgroud)
我尝试将CUBE()语句移到枢轴之外,但收到编译错误,这里是更新的代码
select *
FROM
( …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个类,当由a调用时JPanel,创建一个多维数据集.我所看到的,是一种叫做a的东西ColorCube,需要某种" Universe",而且Canvas,虽然我没有发现这种方法与之兼容JPanel.
为了澄清,我不是在问如何创建自定义JComponent(确切),也不是在询问如何添加颜色或旋转它,只是如何创建一个类,当通过JPanel将多维数据集呈现到屏幕来调用时.
cube ×10
3d ×2
graphics ×2
sql ×2
ssas ×2
algorithm ×1
delphi ×1
excel ×1
geometry ×1
glu ×1
glut ×1
hive ×1
hiveql ×1
java ×1
javascript ×1
jpanel ×1
mdx ×1
opengl ×1
panoramas ×1
particles ×1
pivot ×1
processing ×1
projection ×1
pseudocode ×1
python ×1
rollup ×1
rotation ×1
swing ×1
webgl ×1