惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
G
Google Developers Blog
B
Blog RSS Feed
A
About on SuperTechFans
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 司徒正美
D
Docker
F
Fortinet All Blogs
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
H
Help Net Security
WordPress大学
WordPress大学
MyScale Blog
MyScale Blog
博客园 - Franky
人人都是产品经理
人人都是产品经理
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Blog — PlanetScale
Blog — PlanetScale
L
LangChain Blog

博客园 - 苏荷酒吧

three平行光和阴影 three入门 配置Prettier 网易云音乐地址 git本地新建分支并推送到远程仓库 git commit规范 VSCode配置项 Vee Validate Vue工程调试方式 Mock数据神器 真机调试 ...使用 nodejs server开发思路 Git远程仓库 日期格式 v-model修饰符 从0到1构建全栈知识体系 Element组件,v-for循环,表单验证方法 上传文件转换为base64图片
曲线Curve
苏荷酒吧 · 2026-01-25 · via 博客园 - 苏荷酒吧
    const p1 = new THREE.Vector3(0, 0, 0);
    const p2 = new THREE.Vector3(5, 10, 0);
    const p3 = new THREE.Vector3(10, 0, 0);
    const curve = new THREE.QuadraticBezierCurve3(p1, p2, p3);
    const points = curve.getPoints(40);
    const geometry = new THREE.BufferGeometry();
    geometry.setFromPoints(points);
    const material = new THREE.LineBasicMaterial({
      color: 0xff0000,
    });
    const line = new THREE.Line(geometry, material);
    scene.add(line);
    const pointGeometry = new THREE.BufferGeometry();
    pointGeometry.setFromPoints([p1, p2, p3]);
    const pointMaterial = new THREE.PointsMaterial({
      color: 0x00ffff,
      size: 0.5
    });
    const pointsMesh = new THREE.Points(pointGeometry, pointMaterial);
    scene.add(pointsMesh);