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>
    

      

  • 相关阅读:
    板邓:解决Visual Studio 2017 安装程序清单签名验证失败
    板邓:PHP获取当前页面url地址、参数
    板邓:【WordPress文件解读】wp-config.php
    板邓:【WordPress文件解读】wp-load.php
    板邓:【WordPress文件解读】wp-blog-header.php
    读取符号库文件
    创建空间参考
    针对乱码中文进行编辑
    根据图层路径选择文件(存储)
    springboot实现数据库中数据导出Excel功能
  • 原文地址:https://www.cnblogs.com/jaycethanks/p/12033866.html
Copyright © 2011-2022 走看看