当前位置: 首页>>代码示例>>C++>>正文


C++ complex::y方法代码示例

本文整理汇总了C++中complex::y方法的典型用法代码示例。如果您正苦于以下问题:C++ complex::y方法的具体用法?C++ complex::y怎么用?C++ complex::y使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在complex的用法示例。


在下文中一共展示了complex::y方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

bool linesIntersection
(complex<T> p1,complex<T> p2,complex<T> p3,
			complex<T> p4,complex<double>& p)
{
	if(fabs(dcross(p1-p2,p3-p4))<EPS)return false;
	double t=dcross(p3-p1,p3-p4)/dcross(p2-p1,p3-p4);
	p.x()=1.0*p1.x()+1.0*(p2.x()-p1.x())*t;
	p.y()=1.0*p1.y()+1.0*(p2.y()-p1.y())*t;
	return true;
}
开发者ID:hczhu,项目名称:TC-code,代码行数:10,代码来源:WallClimbing.cpp

示例2: mysqrt

bool circlesIntersection
	( complex<T> p1,T r1,complex<T> p2,T r2,complex<double>& inter)
{
	double dx = p2.x() - p1.x();
	double dy = p2.y() - p1.y();
	double d = mysqrt(dx*dx + dy*dy);
	if(d>r1+r2+EPS||d+EPS<fabs(r1-r2))return false;
	//circle overlap
	if(d<EPS)return false;
	double e = (r1*r1 - r2*r2 + d*d)/(2*d);
	double f = mysqrt(r1*r1 - e*e);
	inter=complex<double>(1.0*p1.x() + (e*dx - f*dy)/d,1.0*p1.y() + (f*dx + e*dy)/d);
	return true;
}
开发者ID:hczhu,项目名称:TC-code,代码行数:14,代码来源:WallClimbing.cpp

示例3:

int segmentsIntersection
(complex<T> p1,complex<T> p2,complex<T> p3,complex<T> p4,complex<double>& inter)
{
	if(sigcross(p3-p1,p2-p1)*sigcross(p2-p1,p4-p1)<0)return 0;
	if(sigcross(p1-p3,p4-p3)*sigcross(p4-p3,p2-p3)<0)return 0;
	if(sigcross(p2-p1,p3-p1)==0&&sigcross(p2-p1,p4-p1)==0)
	{
		if(p1.x()==p2.x())
		{
			if(p1.y()>p2.y())swap(p1,p2);
			if(p3.y()>p4.y())swap(p3,p4);
			int ly=max(p1.y(),p3.y());
			int hy=min(p2.y(),p4.y());
			if(ly>hy)return 0;
			if(ly<hy)return 2;
			inter=p2;
			return 1;
		}
		else
		{
			if(p1.x()>p2.x())swap(p1,p2);
			if(p3.x()>p4.x())swap(p3,p4);
			int lx=max(p1.x(),p3.x());
			int hx=min(p2.x(),p4.x());
			if(lx>hx)return 0;
			if(lx<hx)return 2;
			inter=p2;
			return 1;
		}
	}
	linesIntersection(p1,p2,p3,p4,inter);
	return 1;
}
开发者ID:hczhu,项目名称:TC-code,代码行数:33,代码来源:ShadowArea.cpp

示例4: length

double length(complex<T> p)
{
	return sqrt(1.0*p.x()*p.x()+1.0*p.y()*p.y());
}
开发者ID:hczhu,项目名称:TC-code,代码行数:4,代码来源:WallClimbing.cpp

示例5: dcross

double dcross(complex<T> p1,complex<T> p2)
{
	return 1.0*p1.x()*p2.y()-p2.x()*p1.y();
}
开发者ID:hczhu,项目名称:TC-code,代码行数:4,代码来源:WallClimbing.cpp

示例6: llcross

llint llcross(complex<T> p1,complex<T> p2)
{
	return (llint)p1.x()*(llint)p2.y()-(llint)p2.x()*(llint)p1.y();
}
开发者ID:hczhu,项目名称:TC-code,代码行数:4,代码来源:ShadowArea.cpp


注:本文中的complex::y方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。