首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >半圆柱形线交

半圆柱形线交
EN

Stack Overflow用户
提问于 2013-01-04 20:11:25
回答 1查看 1K关注 0票数 0

我有以下几点做半圆柱体。

代码语言:javascript
复制
p1 = [7.9463,-1.0200,-9.7586];  % start points(boundary)
pS = [9.1163,-1.0200,-9.5886];  % start points (middle)
p2 = [10.2863,-1.0200,-9.7586]; % start points(boundary)


p3 = [7.9463,-1.78,-9.7586]; % End points(boundary)
pE = [9.1163,-1.78,-9.5886]; % End points (middle)
p4 = [10.2863,-1.78,-9.7586]; % End points (boundary)

r=1.17

and line 
line_=[8,-1,-8,9,-8,-10]; %[P0,P1];

%编码部分采用

在这里输入链接描述

代码语言:javascript
复制
% Starting point of the line
l0 = line_(1:3)';

% Direction vector of the line
dl = line_(4:6)'-line_(1:3)';

汽缸起动位置%

代码语言:javascript
复制
c0 = pS;

圆柱体方向矢量%

dc = pE - PS;

汽缸半径%

R =1.17;

%计算判别式

delta =B^2-4*A*C;

%检查溶液的存在性

如果delta<0点=零(0,3);返回;结束

如何得到直线与半圆柱的交点。

我正在寻找我的问题的matlab代码。或者一个链接

应该是什么

二阶方程系数% A=?B=??

请给我指点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-04 22:32:34

抽象自matlab,它看起来是很简单的找到与任何线段的任何半cylynder.

线段可以参数化为

x_L = x_L0+( x_L1 - x_L0 )*t,其中t在0和1之间变化,x_L0和x_L1-端点( y,z相同)。

半cylynder可以用以下两个参数进行参数化:

z=z0+(z1-z0)*u,u在0到1 (x-x0)^2+(y- y0 )^2 = r^2之间变化,y>0 (x0,y0-半圆中心,z0,z1 -距离,假定圆位于x,y平面上)

将x和y替换为半圆的方程提供了t:(x_L0+(x_L1-x_L0)*t-x0)^2+(y_L0+(y_L1-y_L0)*t-y0)^2 = r^2的平方方程,因此:

代码语言:javascript
复制
    A = (x_L1-x_L0)^2+(y_L1-y_L0)^2;
    B = 2*(x_L0-x0)*(x_L1-x_L0)+2(y_L0-y0)*(y_L1-y_L0);
    C = (x_L0-x0)^2+(y_L1-y_L0)^2-r^2;
    D = B^2-4*A*C;
    if D <0
    %no solution
    else
    t(1) = (-B+sqrt(D))/2/A;
    t(2) = (-B-sqrt(D))/2/A;
    sol=nan(3,2);
    for i=1:2
    if t(i)>0 &&... 
t(i)<1 &&... 
y_L0+(y_L1-y_L0)*t(i)>0 &&... 
z_L0+(z_L1-z_L0)*t(i)>z0 &&... 
z_L0+(z_L1-z_L0)*t(i)<z1  
%solution is within interval of parametrization and y > 0, and z_intersectio nis between z0 and z1
    sol(1,i)=x_L0+(x_L1-x_L0)*t(i);
    sol(2,i)=y_L0+(y_L1-y_L0)*t(i);
    sol(3,i)=z_L0+(z_L1-z_L0)*t(i);
    end;
    end;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14164199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档