首页 > 其他分享 >6.4.3过滤器字符串

6.4.3过滤器字符串

时间:2024-09-24 20:50:04浏览次数:10  
标签:光线 射线 数据库 查看器 字符串 6.4 过滤器

因为OpticStudio记录了它所跟踪的每条光线的历史记录,所以我们可以使用过滤器字符串来轻松地识别满足特定条件的光线。对于一个关于如何使用过滤器字符串的示例,我们可以查看在上一节中加载的“led_model.zmx”文件。在此文件中,对象2表示源体矩形后面的一个反射器。一些光线从这个源在正z方向(向前)发射,而永远看不到镜像,而另一些光线则在负z方向(向后)移动,击中反射器,然后在正z方向移动。我们可以在NSC Zemax,LLC开始使用OpticStudio教程149 3D布局,如果我们放大源代码。请注意,在下面的NSC 3D布局中,我们已经减少了源体积矩形的“#布局射线”,选择为“颜色射线由:片段#”,并选择了“Fletch射线”。绿色的射线段表示反射过的镜子,蓝色的射线段表示没有反射过的光线。

例如,我们说,我们只想查看或考虑反射镜反射的光线(对象2)。为此,我们可以在NSC 3D布局设置中应用过滤器字符串“R2”,如下图所示。这样,请注意,我们不再看到蓝色射线段在远离源的正z方向上传播。还要注意,过滤器字符串在布局区域的右下方显示为红色。

例如,如果我们只想显示不从对象2反射的光线(即最初向前传播的光线),我们可以应用过滤器字符串“!R2”。 我们可以应用逻辑运算符和(&),或(|),NOT(!),和XOR(^)到任何过滤器字符串,以产生一个过滤器字符串 ,准确地标识您想要调查的条件。例如,要选择必须有a)命中对象7和对象9,但没有反射对象6,或b)错过对象2的光线,过滤器字符串将是(H7 & H9 &!R6) | M2.过滤器字符串也可以用于ray数据库。它们可以应用于射线跟踪控制窗口,该窗口将只将过滤后的射线集保存到射线数据库,也可以应用于射线数据库查看器中未过滤的射线数据库。例如,使用前一种方法,在离散光模拟中,你可能需要追踪数百万条光线,才能找到一条到达探测器的方法。通过只保存那些击中探测器的光线到磁盘上,您可以生成一个可管理的数据集,以供进一步研究。您可以通过光线数据库查看器、布局图和检测器查看器来加载光线数据库并应用过滤器。Ray数据库查看器还将允许您进行过滤

标签:光线,射线,数据库,查看器,字符串,6.4,过滤器
From: https://blog.csdn.net/weixin_72050316/article/details/142499243

相关文章

  • JAVA的字符串这篇讲清楚了
    JAVA_String从概念上讲,JAVA字符串就是Unicode序列。例如"Java\u2122"由5个UNICODE字符J,a,v,a和™组成。Java没有内置和字符串类型,而是试用java标准库中提供的一个预定义类,很自然地叫做了string。子串substringStringsubStr=str.substring(beginIndex);这里beginIndex指......
  • 第十六章(字符和字符串函数)
    1.字符分类函数2.字符转换函数3.strlen的使⽤和模拟实现4.strcpy的使⽤和模拟实现5.strcat的使⽤和模拟实现6.strcmp的使⽤和模拟实现7.strncpy函数的使⽤8.strncat函数的使⽤9.strncmp函数的使⽤10.strstr的使⽤和模拟实现**明月何时......
  • 【Python学习笔记】字符串
    目录1.定义字符串2.基本操作2.1索引:2.2访问单个字符:2.3访问范围内字符:2.4单个字符编码3.转义符4.运算符5.格式化6.常用字符串函数6.1查找类函数6.2分割类函数6.3字符串连接方法6.4大小写字符转换方法6.5替换方法6.6删除字符串两端、右端或左端连续空白字符......
  • 3170. 删除星号以后字典序最小的字符串
    题目链接3170.删除星号以后字典序最小的字符串思路堆栈&位运算题解链接三种写法:26个栈+位运算优化(Python/Java/C++/Go)关键点1.用堆栈跟踪各个字母出现的位置2.用位运算跟踪当前最小字母(lowbit技巧)时间复杂度朴素做法:\(O(n\vert\Sigma\vert)\)位运算......
  • 2207. 字符串中最多数目的子序列
    给你一个下标从0开始的字符串text和另一个下标从0开始且长度为2的字符串pattern,两者都只包含小写英文字母。你可以在text中任意位置插入一个字符,这个插入的字符必须是pattern[0]或者pattern[1]。注意,这个字符可以插入在text开头或者结尾的位置。请你返回插......
  • Leetcode 43. 字符串相乘
    1.题目基本信息1.1.题目描述给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。注意:不能使用任何内置的BigInteger库或直接将输入转换为整数。1.2.题目地址https://leetcode.cn/problems/multiply-strings/descripti......
  • [redis命令]字符串命令
    命令表命令含义SET设置指定key的值GET获取指定key的值GETRANGE返回key中字符串值的子字符GETSET将给定key的值设为value,并返回key的旧值(oldvalue)GETBIT对key所储存的字符串值,获取指定偏移量上的位(bit)MGET获取所有(一个或多个)给定key的值SETBIT......
  • 统计一个字符在字符串里出现的次数
    统计一个字符在字符串里出现的次数背景在数据库操作中,统计字符串中某个特定字符出现的次数是一个常见需求。无论是分析文本数据、格式化字符串,还是确保数据一致性,字符出现次数的统计对于开发人员和数据库管理员来说都是一项重要任务。这个问题看似简单,但可以通过数据库管理系统的......
  • Redis系列补充:聊聊布隆过滤器(go语言实践篇)
    ★Redis24篇集合1介绍布隆过滤器(BloomFilter)是Redis4.0版本之后提供的新功能,我们一般将它当做插件加载到RedisService服务器中,给Redis提供强大的滤重功能。它是一种概率性数据结构,可用于判断一个元素是否存在于一个集合中。相比较之Set集合的去重功能,布隆过滤器空......
  • 将字符串集合转换成逗号分隔字符串的方法
    1.使用String.join()List<String>strList=newArrayList<>();strList.add("aaa");strList.add("bbb");Stringstr=String.join(",",strList);System.out.println(str);结果aa......