我用 Three.js 显示一个大小为 700x700 的场景。在这个场景中,我生成了一个随机位置在 -250 到 250 之间的粒子系统(对于 x,y,z),所以盒子的大小是 500x500。
为了计算相机的正确距离(为了适应盒子的全貌),我试过:
<script>
if ( ! Detector.webgl ) Detector.addGetWebGLMessage();
var container, stats;
var camera, controls, scene, renderer;
var cross;
var width = 700, height = 700;
init();
animate();
function init() {
camera = new THREE.PerspectiveCamera( 60, width / height, 1, 1000 );
// tan(pi/6) = 1/sqrt(3) = height/2 / distance_z
camera.position.z = 250*Math.sqrt(3);
...
for(var p = 0; p < particleCount; p++) {
// create a particle with random
// …Run Code Online (Sandbox Code Playgroud) 我在我的代码中创建了一个ArrowHelper,并通过调用下面的函数更新其参数(此函数的每次调用都会更新ArrowHelper维度):
function updateArrowHelper() {
// Update parameters for transportedVector
transportedVector.arrowHelper.setLength(transportedVector.coordLocal.length(), headLengthVector, headWidthVector);
transportedVector.arrowHelper.setDirection(directionVector.normalize());
transportedVector.arrowHelper.position.copy(coordTorus);
transportedVector.arrowHelper.line.material.linewidth = widthVector;
transportedVector.arrowHelper.setColor(hexVector);
// Set head length and width to zero if dirVector.length is zero
if (transportedVector.coordLocal.length() == 0.0)
transportedVector.arrowHelper.setLength(0, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)
ArrowHelper如果它的长度(给定transportedVector.coordLocal.length())为零,我想让它消失,我做了什么:
// Set head length and width to zero if dirVector.length is zero
if (transportedVector.coordLocal.length() == 0.0)
transportedVector.arrowHelper.setLength(0, 0, 0);
Run Code Online (Sandbox Code Playgroud)
但是在执行时,这不起作用:即使长度为空,一旦调用函数,头仍然显示,我不知道为什么?
如果有人能看出什么是错的.
提前致谢.
我看到将用户表单添加到 Excel 2018 for MacOS(或自 Excel 2016 起)的功能与 Excel 2011 不同。
当我说“添加用户表单”时,我指的是“UI”设计器,它允许设计按钮、框、列表。(实际上似乎只有在 Windows 版本的 Excel 2018 上才可以添加用户表单。)
我正在寻求使用 Excel 2018 for MacOS 构建一个简单的用户表单。
如果“UI”设计器不可用,我是否可以仅使用 VBA 代码源直接对用户表单进行编码(可以直接编码设计)吗?
我已从 MacOS Mojave 上的默认终端切换到iterm2. 我有一个关于从当前选项卡打开新选项卡的问题。
确实,我希望与上一个当前选项卡处于同一路径。
为此,我执行了经典程序,即转到iterm2首选项Profile并选择Reuse previous session's directory新选项卡:
然后,问题是一旦选项卡打开,所有其他选项卡都会受到影响并从旧路径更改为新选项卡的路径:我不明白会发生什么以及使用哪个选项来防止这种行为。
每个选项卡都与其他选项卡相同:如果我执行 a cd ~/foo/,则其他选项卡将进入foo目录。
结果更糟:如果我vim在一个选项卡中编辑文件,如果我cd ~/foo/在另一个选项卡中进行编辑,则与编辑文件关联的选项卡消失正在清除此版本并显示与我所做的选项卡相同的窗口cd ~/foo/:非常奇怪。
我想保留所有其他选项卡的所有当前路径,除了新选项卡必须与我执行 CMD+T 的前一个选项卡相同。
我在不同的论坛上看到这个问题有时会发生。
从我所看到的,似乎我必须找到一种方法来创建一个新会话,当我执行快捷方式 CMD+T 以获得独立于当前选项卡的另一个选项卡(我执行 CMD+T 时)。
但不幸的是,我没有找到如何在 中创建新会话iTerm2(在 中iTerm2 - Preferences - profile,我可以执行创建此新会话的脚本)。从那一刻起,您可以看到命令(/bin/bash我在打开新标签页时启动的命令:
我还尝试iTerm2从源代码构建二进制文件,但问题仍然存在。
我尝试使用一个小苹果脚本来强制从当前窗口创建一个新会话:
tell application "iTerm2"
tell current window
create tab with profile "Terminology2"
end tell
end tell …Run Code Online (Sandbox Code Playgroud) 我有一个简单的问题,但无法解决。我有一个像这样从另一个矩阵复制的C_temp16x16 矩阵 ( size = 16)。
C_temp = np.zeros((size, size))
C_temp = np.copy(C_in)
Run Code Online (Sandbox Code Playgroud)
然后,我有一个排列列表(或 numpy 数组,我不知道它是否重要):
print('index_reorder =', index_reorder) 给出:
index_reorder = ', array([2, 4, 0, 5, 1, 3, 7, 8]))
Run Code Online (Sandbox Code Playgroud)
我想这样做的indiced排列index_reorder一起x axis和y axis。
C_temp = np.copy(C_in)
C_temp = C_temp[:, index_reorder]
C_temp = C_temp[index_reorder, :]
C_new = np.copy(C_temp)
Run Code Online (Sandbox Code Playgroud)
但不幸的是,新的矩阵C_new大小减少到 8x8。
这不是我想要得到的:我想保持C_new矩阵的大小相同(16x16),即在保持排列矩阵的整个大小的同时进行排列C_temp。
如何执行这个全局排列?
我相信这被称为“就地排列”,不是吗?
更新 1:这是C_in矩阵 16x16的示例
C_in = ', array([[ …Run Code Online (Sandbox Code Playgroud) 我有一个Linux和MacOS与Matlab Gui兼容的问题.图形界面是在Linux Debian 7.0下开发的.这是这个平台的方面:

现在,我在MacOS上执行.m文件,结果如下:

如您所见,面板(第一个图上有3个磁盘的盒子(抱歉,第二个上没有3个磁盘)),更全局地说,MacOS 10.9.5上的图形是水平拉伸的,即窗口宽于高.
我试图更改单位(尝试使用字符,标准化,像素),但没有任何东西.
对于"编辑"框和按钮有不同的字体并不困扰我,但我想在面板的两个操作系统下具有相同的尺寸比,即在Linux Matlab下有一个方形面板.
如果有人可以帮助我,这将是件好事
谢谢
我正在使用 dat.gui.js 来使用 Three.js 的参数菜单。我想把这个菜单放在主窗口的右上角。此外,我想在此菜单底部添加 2 个按钮,它们必须水平居中并相对于父 div。
这是 jsfiddle 的示例:example
如您所见,在 HTML 中,我对 child 和 parent div 具有以下结构:
<div id="webgl">
<div id="global-ui">
<div id="gui">
</div>
<div id="buttons">
<button type="button" id="startButtonId" class="btn btn-primary" tabindex="13">Start Animation</button>
<button type="button" id="resetButtonId" class="btn btn-default" tabindex="14">Reset</button>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
使用 CSS 用于#gui:
gui.domElement.id = 'gui';
Run Code Online (Sandbox Code Playgroud)
对应于:
#global-ui {position: relative;}
#gui {position: absolute; top: 0; right: 0;}
#buttons {position: absolute; top: 200px;}
Run Code Online (Sandbox Code Playgroud)
#global-ui div代表的父DIV#gui div和#buttons div。
使用这个 css,我得到以下图像: …
首先,用QEMU Virtual Machine (Debian Sparc64 Etch 4.0),我已经能够成功地获得ssh并scp从游客的命令到主机(MacOS Hight Sierra OS 10.13.3).
我只想在来宾和主机之间传输文件.
为了得到它,我已经按照本教程:
1)我已安装 TUN/TAP drivers
2)像这样启动QEMU:
qemu-system-sparc -boot c -hda debian_etch.img -m 512M -net nic -net tap,script=no,downscript=no
Run Code Online (Sandbox Code Playgroud)
3)VM启动后,在MacOS主机上执行: ifconfig tap0 192.168.10.1
4)在Debian Etch主机上,进入/etc/network/interfaces:
auto eth0
iface eth0 inet static
address 192.168.10.2
netmask 255.255.255.0
gateway 192.168.10.1
Run Code Online (Sandbox Code Playgroud)
并做: /etc/init.d/networking restart
5)最后,请客人: $ scp -r dir user_host@192.168.10.1:~/
现在,我想和一位Debian Sparc64 Stretch 9.0客人做同样的事情.
似乎ifconfig不推荐使用最新版本的Debian.
无论如何,我尝试使用以下命令启动Sparc64映像:
qemu-system-sparc64 \
-drive …Run Code Online (Sandbox Code Playgroud) 我有非线性方程组,我正在寻找问题的两个未知“ a”和“ b”(目前,我不知道“ a”和“ b”是否可能只是向量或矩阵解决方案,或者也许只有标量)。
困难在于我的方程是矩阵形式的(我的意思是我在理论上只有标量“ a”和“ b”来乘以矩阵)。
我想用 Matlab 来解决这个由两个非线性方程组(a和b是未知数)组成的系统。
这是两个独立的方程:小心!: " FISH_sp", " FISH_xc", " eigenv_sp" 和 " eigenv_xc" 是已知矩阵。
eigen_sp,eigen_xc并且FISH_eigen_sum也是标量已知的。
我已经对以下函数中实现的 2 个非线性方程组进行了编码(使用a和b查找):
myfun=@(a,b) [
% First equation
a^2*eye(7) + a*b*FISH_sp*FISH_xc'+a*b*FISH_xc*FISH_sp'+b^2*eye(7);
% Second equation
a*FISH_sp*eigenv_sp + b*FISH_eigen_sp*eigenv_xc + a*FISH_xc*eigenv_sp +...
b*FISH_xc*eigenv_xc - (eigenv_sp + eigenv_xc)*FISH_eigenv_sum];
% Solution of system of non linear equations
a0 …Run Code Online (Sandbox Code Playgroud) 我有下图,我想应用相同的逻辑推理来绘制不同椭圆的所有轮廓和内容(由颜色标识)。
在这个例子中,在我下面的例子中绘制了 4 个矩阵,我有 5 个矩阵(见 5 个图例),但这并不重要。
这里的情节:
您将看到,对于每种颜色,我们都有一个浅色和深色着色器:这对应于 1 个置信度(1 CL = 深色着色器)和 2 CL(浅色着色器)。
对于我的问题,我正在谈论非对角线框。黄色是最小的区域,这意味着我们有最好的约束(图例中的每种颜色对应一个协方差矩阵)。
现在,我想重现重叠的方式。这是我的脚本的第一次尝试(有 5 个矩阵,但我们不在乎,它只是一种额外的颜色和另外 2 个轮廓,深色和浅色)。
正如您所看到的,这不是很漂亮和明确(我们甚至可以说将轮廓区分为增加的函数Figure of Merit(FoM图例中的值)是一团糟。
我已经设置了以下片段代码来处理不同颜色椭圆之间的这些优先级(FoM 与椭圆的面积成反比):
下面要修改的部分有一个正确和智能的重叠:
for tick in g.fig.axes[0].xaxis.get_major_ticks():
tick.tick1line.zorder = 5
# Ordering applied here : try to be coherent in the overlapping
# by putting over all the smallest (yellow, 1 C.L) and ends by lowest
# FoM, here, blue light (2 C.L)
for ax in g.fig.axes:
geo = ax.get_geometry() …Run Code Online (Sandbox Code Playgroud) javascript ×3
macos ×3
linux ×2
matlab ×2
python ×2
three.js ×2
arrays ×1
css ×1
dat.gui ×1
equation ×1
excel ×1
html ×1
iterm2 ×1
keyboard ×1
matlab-guide ×1
matplotlib ×1
numpy ×1
overlap ×1
overlapping ×1
permutation ×1
qemu ×1
reorderlist ×1
solver ×1
ssh ×1
tabs ×1
tcpdump ×1
terminal ×1
vba ×1