南京灰姑娘科技发展有限公司诚邀有志之优秀人士加盟(互联网SAAS行业)

 技术总监
--------------------------------------------------------------
职位具体工作描述:
1.项目需求管理及系统设计;
2.负责管理规范制定和技术掌控;
3.负责软件工程各阶段的掌控;

招聘要求及条件:
1、本科及以上学历,计算机软件、通信、电子及相关专业;
2、6年以上互联网或大型商业或管理软件工作经验,4年以上管理经验;
3、了解本行业的发展、变化动态与新技术的运用,熟悉常用语言(Java、C#),熟悉常用关系型数据库(Oracle、SQLServer等);
4、熟悉Rational Rose/ERStudio/PowerDesinger等UML及数据库设计工具;
5、熟悉软件版本控制软件,熟练配置管理CVS/SVN版本工具;
6、熟悉软件工程,熟悉CMMI管理方法;
7、熟悉SOA架构;
8、有项目组织领导力、文档编写能力;
9、有团队精神,有强烈的责任心和进取精神,可承受较大工作压力。
10、从事过SAAS软件架构者优先考虑

项目经理
--------------------------------------------------------------
职位具体工作描述:
1、负责MIS(进销存、HR、CRM、OA等)的需求分析&研发
2、撰写方案以及其他软件文档资料的编写
3、参与部分代码编写

招聘要求及条件:
1、3年以上相关工作经验,有过相关信息系统的开发或架构经验
2、熟悉.NET+SQLSERVER的开发环境,熟悉C#、SQLSERVER
3、具有良好的交际能力,具备与客户沟通经验,对客户需求有敏捷的感知能力;
4、具有极强的写作能力,叙述全面、客观、准确、有逻辑性;
5、具有系统分析能力,对流行的软件技术架构有较深的理解;
6、熟悉进销存业务流程、财务知识、其他信息系统的优先;

软件工程师(.NET)
--------------------------------------------------------------
职位具体工作描述:
.NET软件工程师

招聘要求及条件:
1、2年以上开发经验
2、熟悉.NET+SQLSERVER的开发环境,熟练掌握C#、SQLSERVER
3、熟悉Javascript、Web Service、Ajax等技术;
4、有信息系统开发经验者优先

首先,需要解析三角形文件,获取每个三角形的顶点坐标和法向量信息。然后,对于每个三角形,需要判断它是否可见。 判断三角形是否可见的方法有多种,这里介绍一种基于相机位置和三角形法向量的方法。假设相机位置是 $(x_c,y_c,z_c)$,三角形的三个顶点分别是 $(x_1,y_1,z_1)$、$(x_2,y_2,z_2)$ 和 $(x_3,y_3,z_3)$,三角形法向量为 $(n_x,n_y,n_z)$。 首先,计算相机位置到三角形的距离 $d$,即: $$ d = \frac{(x_1 - x_c)n_x + (y_1 - y_c)n_y + (z_1 - z_c)n_z}{\sqrt{n_x^2 + n_y^2 + n_z^2}} $$ 如果 $d < 0$,则三角形背向相机,不可见;如果 $d \geq 0$,则三角形朝向相机,可能可见。 接下来,需要判断相机是否在三角形所在的平面内。如果在平面内,那么需要判断相机在三角形的哪一侧。根据三角形法向量的定义,三角形所在平面的方程为: $$ n_x(x - x_1) + n_y(y - y_1) + n_z(z - z_1) = 0 $$ 将相机位置代入该方程,得到: $$ n_x(x_c - x_1) + n_y(y_c - y_1) + n_z(z_c - z_1) = 0 $$ 如果上式成立,则相机在三角形平面内;如果不成立,则相机不在平面内。 如果相机在平面内,那么需要计算相机到三角形各边的距离,并判断相机是否在三角形内部。具体方法是,将三角形拆分成三个三角形,分别由相机位置和三角形的两个顶点构成。对于每个拆分出来的三角形,计算相机到三角形的距离 $d_i$,如果 $d_i < 0$,则相机在三角形的外部;如果 $d_i \geq 0$,则相机在三角形的内部。 综合上述方法,可以编写一个函数来判断三角形是否可见,如下所示: ```python import numpy as np def is_visible(camera_pos, triangle): # 计算三角形法向量 v1 = triangle[1] - triangle[0] v2 = triangle[2] - triangle[0] normal = np.cross(v1, v2) normal /= np.linalg.norm(normal) # 计算相机到三角形的距离 d = np.dot(triangle[0] - camera_pos, normal) if d < 0: # 三角形背向相机,不可见 return False # 判断相机是否在三角形平面内 on_plane = np.isclose(np.dot(camera_pos - triangle[0], normal), 0) if not on_plane: # 相机不在平面内 return False # 判断相机是否在三角形内部 for i in range(3): j = (i + 1) % 3 v1 = triangle[j] - triangle[i] v2 = camera_pos - triangle[i] normal = np.cross(v1, v2) normal /= np.linalg.norm(normal) d = np.dot(v2, normal) if d < 0: # 相机在三角形外部 return False return True ``` 最后,遍历所有三角形,将可见的三角形加入集合即可: ```python def visible_triangles(camera_pos, triangles): visible = set() for triangle in triangles: if is_visible(camera_pos, triangle): visible.add(triangle) return visible ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值