1788.牛为什么过马路

#include<stdio.h>
int b[20];
int a[20], n;
int main()
{
    scanf("%d", &n);
    int k = 0;
    int x, b1;
    for (int i = 1; i <= n; i++)
    {
        scanf("%d%d", &x, &b1);
        if (!b[x])//判断初始位置,确定是否第一次看见
        {
            b[x] = 1;
            a[x] = b1;
        }
        else
        {
            if (b1 == a[x])//排除没有动的情况
                continue;
            else 
            {
                a[x] = b1;
                k++;
            }
        }
    }
    printf("%d", k);
    return 0;
}

three.js 是一个基于 WebGL 的 JavaScript 三维图形库,它允许开发者使用简单的 API 创建复杂的三维图形。要使用 three.js 创建一个马路场景,你需要了解以下几个基本组件: ### 1. 初始化渲染器和场景 首先,需要设置一个新的场景(Scene),并创建一个能够显示这个场景的渲染器(Renderer)。初始化渲染器通常包括指定渲染目标、背景颜色以及像素比率。 ```javascript // 创建场景 const scene = new THREE.Scene(); // 创建渲染器,并将其添加到页面上 const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); ``` ### 2. 添加光源 为了让场景有视觉效果,我们需要添加光源。通常,为了提供足够的照明以便查看模型和其他元素,可以添加一个环境光(AmbientLight)和一个主光源(DirectionalLight 或 PointLight 等)。 ```javascript const ambientLight = new THREE.AmbientLight(0xffffff, 0.5); // 背景光 scene.add(ambientLight); const directionalLight = new THREE.DirectionalLight(0xffffff, 0.8); directionalLight.position.set(1, 1, 1).normalize(); // 设置光源位置 scene.add(directionalLight); ``` ### 3. 加载几何体和材质 对于马路场景,你可以加载一个预定义的立方体或其他形状作为基础路基。接着,通过纹理和材质为物体赋予真实感。 ```javascript // 加载立方体几何体(例如代表马路的基础) const geometry = new THREE.BoxGeometry(40, 2, 40); // 宽度x高度x长度 const material = new THREE.MeshBasicMaterial({ color: 0xaaaaaa }); const cube = new THREE.Mesh(geometry, material); scene.add(cube); cube.position.y = -1; // 将马路放置于地面之下 // 加载纹理图片用于路面贴图 const textureLoader = new THREE.TextureLoader(); const roadTexture = textureLoader.load('path/to/your/road_texture.jpg'); material.map = roadTexture; ``` ### 4. 动画 为了动态地展示马路场景,可以使用动画循环更新场景中的元素位置或状态。这通常是通过一个函数,该函数每隔一段时间就运行一次(通常使用 `requestAnimationFrame` 实现)。 ```javascript function animate() { requestAnimationFrame(animate); renderer.render(scene, camera); } animate(); ``` ### 相关问题: 1. **如何优化 three.js 场景性能**? 2. **如何将交互式元素加入马路场景** (如车辆模拟)? 3. **如何处理复杂的光照效果以提高马路场景的真实感**?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值