在我的场景中,我有4个点光源3连接在相机上,大约100到300个立方体.我有很多类别的立方体,每个立方体在100 - 300之间.根据用户菜单选择,我的场景中可能只会出现一类立方体.
(100个立方体的类别)renderer.info:
memory:
Objectgeometries: 2
programs: 3
textures: 100
render:
calls: 203
faces: 1360
points: 0
vertices: 4080
Run Code Online (Sandbox Code Playgroud)
在循环中,我为每个类别生成我的立方体,如下所示:
var materials = [
backgroundMaterial,
backgroundMaterial,
backgroundMaterial,
backgroundMaterial,
productMaterial,
backgroundMaterial
];
var cubeMaterial = new THREE.MeshFaceMaterial( materials );
var object3D = new THREE.Mesh( geometryBox, cubeMaterial );
Run Code Online (Sandbox Code Playgroud)
材料backgroundMaterial在循环外定义一次;
var backgroundMaterial = new THREE.MeshPhongMaterial({
color: this.options.models.boxColor,
specular: this.options.models.boxSpecular,
//emissive : 0xefefef,
//side: THREE.DoubleSide,
overdraw: false,
transparent: false,
metal:true,
shininess: this.options.models.boxShininess,
reflectivity: this.options.models.boxReflectivity,
fog:false
});
Run Code Online (Sandbox Code Playgroud)
因为每个立方体的纹理不同,所以每次在循环内都有productMaterial.
var productMaterial = new …Run Code Online (Sandbox Code Playgroud) 我是threejs的新手,当时我正在查看光线投射教程 ,其中作者向场景添加了多维数据集,如下所示:
geom = new THREE.CubeGeometry( 5, 5, 5 );
cubes = new THREE.Object3D();
scene.add( cubes );
for(var i = 0; i < 100; i++ ) {
var grayness = Math.random() * 0.5 + 0.25,
mat = new THREE.MeshBasicMaterial(),
cube = new THREE.Mesh( geom, mat );
mat.color.setRGB( grayness, grayness, grayness );
cube.position.set( range * (0.5 - Math.random()), range * (0.5 - Math.random()), range * (0.5 - Math.random()) );
cube.rotation.set( Math.random(), Math.random(), Math.random() ).multiplyScalar( 2 * Math.PI );
cube.grayness = …Run Code Online (Sandbox Code Playgroud) 您好,我下载并安装了 node.js,因为我已经完成了数百万次,我还安装了cordova,如他们的文档中所述。此外,我使用“cordova plugin add org.apache.cordova.console”安装了console.plugin。最后我做了cordova build android和cordova emulate android,在www/js/index.js onDeviceReady我简单地输入了这个console.log('test');
我是cordova的新手,我不明白为什么我在终端中看不到和输出。
PS:我使用的是 ubuntu 12.04 LTS 64 位,我不使用 eclipse。我不应该在终端窗口中看到 console.log 输出吗?
你好最近我开始学习three.js。目前我有一个项目,尽管它是一个 3d 环境,但我希望用户仅在 2d(x 轴和 y 轴而不旋转相机)中移动。
有没有像 OrbitControls 这样的three.js的扩展/插件,但具有所需的功能?
我很努力地做这项工作.目前我的htaccess包含以下代码:
#Debugging - Error reporting
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
#Commpression
<ifmodule mod_deflate.c="">
<filesmatch ".(js|css|html|png|jpg|jpeg|swf|bmp|gif|tiff|ico|eot|svg|ttf|woff|pdf)$"="">
SetOutputFilter DEFLATE
</filesmatch>
</ifmodule>
Options All -Indexes +FollowSymLinks -MultiViews
<IfModule mod_rewrite.c>
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
#RewriteCond %{THE_REQUEST} (\s|%20)
RewriteRule ^([^\s%20]+)(?:\s|%20)+([^\s%20]+)((?:\s|%20)+.*)$ $1-$2$3 [N,DPI]
RewriteRule ^([^\s%20]+)(?:\s|%20)+(.*)$ /$1-$2 [L,R=301,DPI]
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^.*\.(png|jpg|bmp|gif|css|js)$ [NC]
RewriteRule ^([^/]+/?.+)$ /index.php?req=$1 [L,QSA]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
如果我尝试这个网址,一切都很有效,除了一件事:
http://www.domain.com/ test/
Run Code Online (Sandbox Code Playgroud)
浏览器将其转换为:http://www.domain.com/%20test/ 基本上在域之后如果路径以空格开头或%20则失败.任何人都可以指出一个解决方案,其中起始空间将被删除?
UPDATE
目标:
www.domain.com/ this is a test / …Run Code Online (Sandbox Code Playgroud) 我正在学习c ++,而我正在阅读关于指针的内容.我对以下场景感到好奇:
如果我没有弄错,如果用户输入-1,就会出现内存泄漏:
#include <iostream>
using namespace std;
int main(){
int *p = new int;
cout << "Please enter a number: ";
cin >> *p;
if (*p == -1){
cout << "Exiting...";
return 0;
}
cout << "You entered: " << *p << endl;
delete p;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是在下面的代码中会发生什么?根据我的阅读并纠正我,如果我错了,当在第二个场景中声明指针时,一旦你超出范围,指针就会被清除.因此,如果用户没有进入-1,*p将自动清除?
#include <iostream>
using namespace std;
int main(){
int x;
int *p = &x;
cout << "Please enter a number: ";
cin >> …Run Code Online (Sandbox Code Playgroud) c++ pointers memory-leaks memory-management dynamic-allocation
你好,我有这个函数,可以用拉丁字符替换希腊字符
\nfunction greeklish($Name) \n{ \n$greek = array('\xce\xb1','\xce\xac','\xce\x86','\xce\x91','\xce\xb2','\xce\x92','\xce\xb3', '\xce\x93', '\xce\xb4','\xce\x94','\xce\xb5','\xce\xad','\xce\x95','\xce\x88','\xce\xb6','\xce\x96','\xce\xb7','\xce\xae','\xce\x97','\xce\xb8','\xce\x98','\xce\xb9','\xce\xaf','\xcf\x8a','\xce\x90','\xce\x99','\xce\x8a', '\xce\xba','\xce\x9a','\xce\xbb','\xce\x9b','\xce\xbc','\xce\x9c','\xce\xbd','\xce\x9d','\xce\xbe','\xce\x9e','\xce\xbf','\xcf\x8c','\xce\x9f','\xce\x8c','\xcf\x80','\xce\xa0','\xcf\x81','\xce\xa1','\xcf\x83','\xcf\x82', '\xce\xa3','\xcf\x84','\xce\xa4','\xcf\x85','\xcf\x8d','\xce\xa5','\xce\x8e','\xcf\x86','\xce\xa6','\xcf\x87','\xce\xa7','\xcf\x88','\xce\xa8','\xcf\x89','\xcf\x8e','\xce\xa9','\xce\x8f',' ',"'","'",','); \n$english = array('a', 'a','A','A','b','B','g','G','d','D','e','e','E','E','z','Z','i','i','I','th','Th', 'i','i','i','i','I','I','k','K','l','L','m','M','n','N','x','X','o','o','O','O','p','P' ,'r','R','s','s','S','t','T','u','u','Y','Y','f','F','ch','Ch','ps','Ps','o','o','O','O','_','_','_','_'); \n$string = str_replace($greek, $english, $Name); \nreturn $string; \n} \necho greeklish("\xce\xa4\xce\xbf \xce\xb5\xce\xbb\xce\xbb\xce\xb7\xce\xbd\xce\xb9\xce\xba\xcf\x8c \xce\xba\xce\xb5\xce\xaf\xce\xbc\xce\xb5\xce\xbd\xce\xbf \xce\xb5\xce\xb4\xcf\x8e");\nRun Code Online (Sandbox Code Playgroud)\n我想知道是否有一种快速方法可以修改此函数,以便替换/删除在数组中$Name不存在的任何字符$greek''
更新
\n我忘了提到,在希腊,有一种打字方法(主要在年轻人中使用),他们使用拉丁字符输入希腊单词。也没有标准的东西,例如:
\n'\xce\xb5\xce\xb9' '\xcf\x85' '\xce\xb9' '\xce\xbf\xce\xb9' '\xce\xb7'听起来像'e'
'\xce\xb8'可以写成'th'或'8'甚至'3'
所以这个转换需要一个自定义算法。
\n我正在尝试根据三角形边计算角度,最好是用 sin 计算。前 2 个是辅助getDistance函数getPointsDifference
我有这些功能:
var getDistance = function(p1, p2){
var dx = p1.x - p2.x, dy = p1.y - p2.y;
return Math.sqrt(dx*dx + dy*dy);
}
var getPointsDifference = function(p1, p2){
return {
x: -1 * (p1.x - p2.x),
y: (p1.y - p2.y)
}
}
Run Code Online (Sandbox Code Playgroud)
最后:
var getMenuChoice = function(cx,cy, x, y){
var distance = getDistance({x:cx,y:cy}, {x:x,y:y});
if (distance <= 100) {
console.log(1)
} else {
console.log(2)
}
var diff = getPointsDifference({x:cx,y:cy}, {x:x,y:y});
var a = …Run Code Online (Sandbox Code Playgroud) 你好,在 php 中我可以这样做:
$value = 0;
$test = $value === 0 ? 'it is zero!' : 'It is not zero.';
echo $test;
Run Code Online (Sandbox Code Playgroud)
如何在 javascript 中像在 php 中一样在 1 行中完成此操作而不使用经典if - else if语句?
您好我开始学习C++,目前我正在测试成员初始化程序,我编写了这个简单的代码:
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
Person();
~Person();
private:
string p_name;
string p_surname;
int p_age;
};
Person::Person(string name, string surname, int age) : p_name(name), p_surname(surname), p_age(age)
{
}
Person::~Person()
{
}
class MyClass
{
public:
MyClass(int value) : m_value(value)
{
}
private:
int m_value;
};
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是在Person类中我收到以下错误
错误1错误C2511:'Person :: Person(std :: string,std :: string,int)':'Person'中找不到重载的成员函数c:\ users\syd\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp 19 1 ConsoleApplication1
同样在第二课中没有错误.如果我没弄错的话,我在Person类中以错误的方式声明构造函数,并且解释器认为我正在重载一个丢失的方法?我确定这样的错误对你们大多数人来说可能是愚蠢的,但如果有人能用简单的语言解释我做错了什么,我将不胜感激.