zoukankan      html  css  js  c++  java
  • 《Three.js 入门指南》3.1.1

    3.1 基本几何形状

    圆环面(TorusGeometry)

    构造函数

    THREE.TorusGeometry(radius, tube, radialSegments, tubularSegments, arc)
    

    radius:圆环半径;

    tube:管道半径;

    radialSegments与tubularSegments分别是两个分段数,详见下图;

    arc是圆环面的弧度,缺省值为Math.PI * 2。

    一个标准圆环的demo代码以及效果图

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script type="text/javascript" src="./three.js"></script>
        <title>Document</title>
    </head>
    
    <body onload="init()">
        <script>
            function init() {
                var renderer = new THREE.WebGLRenderer();
                renderer.setSize(800, 600);
                document.getElementsByTagName('body')[0].appendChild(renderer.domElement);
                renderer.setClearColor(0x000000);
    
                var scene = new THREE.Scene();
                var aspect = window.innerWidth / window.innerHeight;
                var camera = new THREE.OrthographicCamera(-4 * aspect, 4 * aspect, -3 * aspect, 3 * aspect, 1, 1000);
                camera.position.set(200, 200, 200);
                camera.lookAt(new THREE.Vector3(0, 0, 0));
                scene.add(camera);
    
                var torus = new THREE.Mesh(new THREE.TorusGeometry(5, 1, 25, 80),
                    new THREE.MeshBasicMaterial({
                        color: 0xff0000,
                        wireframe: true
                    })
                )
                scene.add(torus);
    
                renderer.render(scene, camera);
            }
        </script>
    </body>
    
    </html>
    

      

    一个非全圆环的demo代码以及效果示例

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script type="text/javascript" src="./three.js"></script>
        <title>Document</title>
    </head>
    
    <body onload="init()">
        <script>
            function init() {
                var renderer = new THREE.WebGLRenderer();
                renderer.setSize(800, 600);
                document.getElementsByTagName('body')[0].appendChild(renderer.domElement);
                renderer.setClearColor(0x000000);
    
                var scene = new THREE.Scene();
                var aspect = window.innerWidth / window.innerHeight;
                var camera = new THREE.OrthographicCamera(-4 * aspect, 4 * aspect, -3 * aspect, 3 * aspect, 1, 1000);
                camera.position.set(100, 200, 200);
                camera.lookAt(new THREE.Vector3(0, 0, 0));
                scene.add(camera);
    
                var torus = new THREE.Mesh(new THREE.TorusGeometry(5, 1, 25, 80, Math.PI * 3 / 2),
                    new THREE.MeshBasicMaterial({
                        color: 0xff0000,
                        wireframe: true
                    })
                )
                scene.add(torus);
    
                renderer.render(scene, camera);
            }
        </script>
    </body>
    
    </html>
    

      

  • 相关阅读:
    性能测试,负载测试,压力测试,容量测试的区别
    全文检索引擎Solr系列——整合MySQL、MongoDB
    全文检索引擎Solr系列——整合中文分词组件IKAnalyzer
    全文检索引擎Solr系列——整合中文分词组件mmseg4j
    全文检索引擎Solr系列——Solr核心概念、配置文件
    全文检索引擎Solr系列—–全文检索基本原理
    ES之一:Elasticsearch6.4 windows安装 head插件ik分词插件安装
    FTP,FTPS,FTPS与防火墙
    NGINX通过Stream转发ftp请求
    nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下)
  • 原文地址:https://www.cnblogs.com/jaycethanks/p/12033866.html
Copyright © 2011-2022 走看看