小编Sas*_*dar的帖子

Three.js在100个立方体动画上崩溃

在我的场景中,我有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)

3d animation webgl three.js

6
推荐指数
1
解决办法
642
查看次数

Three.js向场景添加多个多维数据集的更好方法

我是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)

javascript 3d three.js

5
推荐指数
1
解决办法
4271
查看次数

Cordova console.log 不工作

您好,我下载并安装了 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 输出吗?

javascript android cordova

4
推荐指数
1
解决办法
4467
查看次数

Three.js 2d 控制 x 和 y 轴无旋转

你好最近我开始学习three.js。目前我有一个项目,尽管它是一个 3d 环境,但我希望用户仅在 2d(x 轴和 y 轴而不旋转相机)中移动。

有没有像 OrbitControls 这样的three.js的扩展/插件,但具有所需的功能?

three.js

4
推荐指数
1
解决办法
2807
查看次数

htaccess干净的网址和替换空格和%20与 -

我很努力地做这项工作.目前我的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)

.htaccess

3
推荐指数
1
解决办法
5987
查看次数

指针是否总是导致内存泄漏,或者当它们超出范围时会被删除?

我正在学习c ++,而我正在阅读关于指针的内容.我对以下场景感到好奇:

场景1:

如果我没有弄错,如果用户输入-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)

场景2:

但是在下面的代码中会发生什么?根据我的阅读并纠正我,如果我错了,当在第二个场景中声明指针时,一旦你超出范围,指针就会被清除.因此,如果用户没有进入-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

3
推荐指数
1
解决办法
296
查看次数

str_replace 删除不在数组中的任何字符

你好,我有这个函数,可以用拉丁字符替换希腊字符

\n
function 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");\n
Run Code Online (Sandbox Code Playgroud)\n

我想知道是否有一种快速方法可以修改此函数,以便替换/删除在数组中$Name不存在的任何字符$greek''

\n

更新

\n

我忘了提到,在希腊,有一种打字方法(主要在年轻人中使用),他们使用拉丁字符输入希腊单词。也没有标准的东西,例如:

\n

'\xce\xb5\xce\xb9' '\xcf\x85' '\xce\xb9' '\xce\xbf\xce\xb9' '\xce\xb7'听起来像'e'

\n

'\xce\xb8'可以写成'th''8'甚至'3'

\n

所以这个转换需要一个自定义算法。

\n

php transliteration

2
推荐指数
1
解决办法
2638
查看次数

用 sin 或 cos 计算三角形的角度

我正在尝试根据三角形边计算角度,最好是用 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)

javascript math geometry trigonometry angle

2
推荐指数
1
解决办法
2853
查看次数

javascript内联if变量像php一样赋值

你好,在 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语句?

javascript php ternary-operator

1
推荐指数
1
解决办法
4478
查看次数

C++类成员初始化和构造函数定义

您好我开始学习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类中以错误的方式声明构造函数,并且解释器认为我正在重载一个丢失的方法?我确定这样的错误对你们大多数人来说可能是愚蠢的,但如果有人能用简单的语言解释我做错了什么,我将不胜感激.

c++ c++11

0
推荐指数
1
解决办法
220
查看次数