打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Chai 3D之线段
推荐:将 NSDT场景编辑器 加入你的3D开发工具链

介绍

  在几何中,线段是由两个不同端点限定的直线的一部分,包含其端点之间的直线上的每个点。闭合线段包括两个端点。

线段可用于近似平滑曲线

线段对象

使用段列表创建弹簧。参见示例 13-基元

  与网格对象类似,线段模型使用顶点来描述组成对象的所有线。手指代理算法还用于计算触觉工具和对象之间的所有相互作用力。还必须在创建所有点后初始化碰撞检测。

using namespace chai3d;
// create a line segment object
cMultiSegment* segments = new cMultiSegment();
// add object to world
world->addChild(segments);
// connect some segments to form a spring
double h = 0.0;
double dh = 0.001;
double a = 0.0;
double da = 0.2;
double r = 0.05;
for (int i=0; i<200; i++)
{
double px0 = r * cos(a);
double py0 = r * sin(a);
double pz0 = h;
double px1 = r * cos(a+da);
double py1 = r * sin(a+da);
double pz1 = h+dh;
// create vertex 0
int index0 = segments->newVertex(px0, py0, pz0);

// create vertex 1
int index1 = segments->newVertex(px1, py1, pz1);

// create segment by connecting both vertices together
segments->newSegment(index0, index1);
h = h + dh;
a = a + da;

}
// set haptic properties
segments->m_material->setStiffness(0.5 * maxStiffness);
// assign color properties
cColorf color;
color.setYellowGold();
segments->setLineColor(color);
// assign line width
segments->setLineWidth(4.0);
// use display list for faster rendering
segments->setUseDisplayList(true);
// build collision tree
segments->createAABBCollisionDetector(toolRadius);

3D建模学习工作室翻译整理,转载请标明出处!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
点到线段的最短距离
求教CAD如何在线段上任意标注端点,并以此为起点画线?比如一条线段100CM长,我要在23CM或任意的地方设置一个端点,要如何去设置?还有我在一条线上等分出了5个端点,选择的时候可以看见这5个
计算几何 点到线段的距离 点在简单多边形内 点到凸多边形的距离
代码学习群简易教程(20)
【CAD】cad中怎么把一条直线从某点切断?
2023亚洲太平洋地区数学奥林匹克(APMO)中文翻译
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服