这不是一个教程,这是一个我刚解决的问题,我觉得它是一个不错的范例,所以决定和大家分享一下经验.在遇到这种难题的时候我是怎么应对的.
对Maya或是其它3维软件熟悉的朋友应该都知道法线这个东西,它是个向量,它的方向代表了多边形面的正面的面向方向.
那么我们怎么能知道一个多边形面是正面向外还是向内呢?
1. 当然是先去查看命令稳当,看看Maya有没有提供相应的涵数来查询.
结果是只能得到面的法线向量.
2. 查看API,毕竟API提供更多的功能.
结果还是只能得到面的法线向量.
3. 好吧,Maya没提供更直接能用判断方法,这时我觉得只能依靠图形学算法了(听起来很难,的确是很难)
a. 我重新分析一下问题,法线的指向就是面的正面面向,那我只要能判断多边形的正反面是那一面就行了,于是问题变成了如何判断一个面大正反面.
b.从那里入手?当然是搜索引擎了.不过在这之前我已经知道一个最简单的判断方法,在Opengl中顶点逆时针的面是正面,而顺时针的是反面.我能使用这个方法么?我不知道Maya中是不是跟Opengl的标准一样是逆时针的面是正面,而且我还要自己去实现顶点是逆时针还顺时针的算法,有难度,也耗时间,于是这方向先放下.
c. google后,wiki的
Normal (geometry)给出了法线的计算方程式,很高兴又有新方向了,但在阅读了wiki后发现还是不懂怎么去运用这些方程式,而且也不是很明白.但我可以感觉到这是个能根治这问题的方向.
面对这些难题我我都是以类似上面的方式来进行的,不过在思考的过程中我有时会开小差,这只是我的个人习惯而已,因为我的经历告诉我,在面对很复杂的问题的时候很容易钻牛角尖,而利用偶尔开小差能让我暂时把注意力移开,让我能更全面的去分析问题以及各个方面的可能性.
最终第一天思考下来没什么进展,但就在我下班离开公司的路上,一个想法在脑海里闪过,今天在详细的分析当时的想法的可行性后就开始测试和构思新的解决方案.
分享到:
相关推荐
本程序实现了一种功能,图片灰度的反转,采用了两种方式,一种是利用matlab中已存在的反转函数,一种自己编绘的函数
#include "stdafx.h" #include "iostream" #include "fstream" #include "algorithm" #include "string" #include "vector" #include "cmath" using namespace std; int main(int argc, char* argv[]) ...
有些时候,程序需要进行反向遍历,此时可通过 reversed() 函数,该函数可接收各种序列(元组、列表、区间等)参数,然后返回一个“反序排列”的法代器,该函数对参数本身不会产生任何影响。 在交互式解释器中,测试...
UID_CP_WriteID_Reversed.cpp
使用Python内置函数reversed() for i in reversed(arr): pass reversed返回的是迭代器,所以不用担心内存问题。 方法二 使用range()倒序 for i in range(len(arr) - 1, -1, -1): pass 方法三 先使用list自带的...
本文实例讲述了Python内置函数reversed()用法。分享给大家供大家参考,具体如下: reversed()函数是返回序列seq的反向访问的迭代器。参数可以是列表,元组,字符串,不改变原对象。 1》参数是列表 >>> l=[1,2,3,4,5...
添加对反向排序列表支持的 polyfill。 看: 只需将脚本包含在任何页面中(在 DOM 加载结束时或之后),它就会自动使 'reversed' 属性在有序列表上工作(该... 如果你想要一个使用 jQuery 的版本,你可以从获取代码。
1.双击无法打开 cas 或者路径出现乱码; 2.读入网格时,error:File haswrong dimensions(2) 3.the use of axis boundary conditions is not appropriate for 2D/3D flow problem. 4.error:divergence detected in ...
Nike_Reversed
This challenge can be overcome by wavefront shaping technique, in which a time-reversed (TR) wavefront of scattered light is generated to suppress the scattering. In previous TR optical focusing ...
Reversed Spectral Hashing
reverselink which supports two directions link nodes reverse
1、简单解释就是:反转一个序列对象 例子1: def fun3(): x = [3,6,9] ...以上这篇浅谈python内置变量-reversed(seq)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持
reversed(seq) Return a reverse iterator. seq must be an object which has a __reversed__() method or supports the sequence protocol (the __len__() method and the __getitem__() method with integer ...
sort()是可变对象(字典、列表)的方法,无参数,无返回值,sort()会改变可变对象,因此无需返回值。 sort()方法是可变对象独有的方法或者属性,而作为不可变对象如元组、字符串是不具有这些方法的,如果调用将会返回...
这个项目已经搬了!... Minecraft4k-Reversed是通过反编译此jarfile并记录大多数代码的作用而创建的。 修复了一些与运动和碰撞检测有关的错误之后,我们开始扩展游戏。 由于CPU上的多线程射线行进,因此可以适当地
或者将"loveorigami/yii2-reversed-pagination": "~2.0"到composer.json的 require 部分 使用 用于 Yii2 的反向分页。 在控制器中 public function actionIndex () { $ query = Article :: find ()-> all (); ...
一种对时间反转镜进行原理性matlab实现源代码