我有一个简单的多边形(凸面或凹面,但没有孔),我需要切割成具有线段的部分.我不确定如何实际确定切片后多少个多边形结果,或者如何对顶点进行分组.
基本凸面情况总是导致2个子多边形很容易,但我如何处理复杂的凹形?以"E"形多边形为例.垂直切片可以产生4个多边形.如何确定哪些顶点构成每个子多边形?
定义多边形:我有两个选择.我的多边形可以是有序的顶点列表,也可以是三角形数组.我更喜欢使用三角形数组的解决方案.循环遍历每个三角形并且如果它们相交则用线切割它应该非常容易.但后来我不知道如何将这些三角形分组为产生的子多边形.
伪代码甚至一般建议都是好的; C#实现是理想的.
我有一组共面的连接三角形,即2D网格.现在我需要在z轴上挤出几个单位.网格由一组顶点定义,渲染器通过匹配三角形数组来理解这些顶点.
示例网格:
顶点:(0,0,0),(10,0,0),(10,10,0),(0,10,0)< - (x,y,z)三角形:(1,2, 3)&(3,4,1)< - 数字在这里引用上面顶点的位置.
所以这里我们有一个2D广场.现在我需要在该列表中添加更多顶点和三角形以形成拉伸形状.三角形必须是顺时针方向,否则它们会被背面剔除.
有一个简单的算法吗?谢谢.
我正在尝试使用新的图API和PHP将消息发布到用户的墙上.连接似乎工作正常,但没有帖子出现.我不确定如何正确设置发布代码.请帮帮我.对于破旧的代码感到抱歉,由于某种原因,StackOverflow不想在代码块中关闭它.
以下是我的完整代码.我错过了扩展程序权限请求,或者在此代码中注意了这一点:
<?php
include_once 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
'cookie' => true
));
$session = $facebook->getSession();
if (!$session) {
$url = $facebook->getLoginUrl(array(
'canvas' => 1,
'fbconnect' => 0
));
echo "<script type='text/javascript'>top.location.href = '$url';</script>";
} else {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
$updated = date("l, F j, Y", strtotime($me['updated_time']));
echo "Hello " . $me['name'] . "<br />";
echo "You last updated your profile on " . $updated;
$connectUrl = $facebook->getUrl( …Run Code Online (Sandbox Code Playgroud)