首页 > 其他分享 >工业仿真软件:Chai 3D之线段

工业仿真软件:Chai 3D之线段

时间:2023-03-04 11:31:43浏览次数:49  
标签:color double 线段 Chai da create segments 3D

推荐:将 NSDT场景编辑器 加入你的3D开发工具链

介绍

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

工业仿真软件:Chai 3D之线段_工具链

线段可用于近似平滑曲线

线段对象

工业仿真软件:Chai 3D之线段_3D_02

使用段列表创建弹簧。参见示例 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建模学习工作室​翻译整理,转载请标明出处!

标签:color,double,线段,Chai,da,create,segments,3D
From: https://blog.51cto.com/u_15977709/6099893

相关文章

  • 线段树维护哈希 | CF213E Two Permutations + CF452F Permutation
    __终于学到了线段树维护xx,嘿嘿,嘿嘿嘿..树树:D做了两题,感觉知识点是维护区间相同不相同可以拿hash做,不连续的区间也可以拿hash维护主要是出得很有想法,太妙了要想得到hh1.......
  • 3D打印爱心4
    #!/usr/bin/envpython#-*-coding:utf-8-*-importmatplotlib.pyplotaspltimportnumpyasnpimporttime#打印爱心3D图案defprint_love3D():  start=......
  • unity3D使用协程控制怪物的生命周期
    分析九个坑位要随机生成怪物,随机时间生成类似打地鼠协程(Coroutines)协程:协程是一个分部执行,遇到条件(yieldreturn语句)时会挂起,直到条件满足时才会被唤醒继续执行后面的......
  • unity3D控制怪物的随机生成
    对target创建脚本逻辑梳理控制目标显示与隐藏控制被射击是否显示死亡动画创建怪物数组usingSystem.Collections;usingSystem.Collections.Generic;usingUni......
  • CF1773D Dominoes - 网络流 - 二分图 - 计数 -
    题目链接:https://codeforces.com/problemset/problem/1773/D题解:首先将棋盘黑白染色,是一个二分图由于题目保证初始状态一定能密铺,因此这个二分图一定有完美匹配现在要......
  • ChainofResponsibility Pattern
    责任链模式:参考:https://www.runoob.com/design-pattern/chain-of-responsibility-pattern.html避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象......
  • 线段树模板
    structSegmentTree{voidpushUp(intu){maxv[u]=std::max(maxv[u<<1],maxv[u<<1|1]);}voidcoverDown(intu){if(lz1[u]......
  • 工业仿真:Chai 3D之点云技术
    推荐:将 NSDT场景编辑器 加入你的3D开发工具链。介绍  点云是三维坐标系中的一组数据点。在CHAI3D中,这些点由X、Y和Z坐标定义,通常用于表示对象的外表面。  ......
  • unity3D
    第一部分:游戏基本功能的实现(场景的搭建、协程的使用、碰撞器、UGUI)第二部分:游戏的存档与读档的实现(PlayerPrefs、XML、JSON)1.搭建场景找到图片后右键此处可初始化......
  • chai 3D 之网格对象
    推荐:将 NSDT场景编辑器 加入你的3D开发工具链介绍网格对象是由三角形和顶点组成的形状  在CHAI3D中,多边形网格是定义多面体对象形状的顶点和三角形的集合。  ......