編程線段
Ⅰ 如何用c語言編程解決:空間兩線段間的最小距離,已經兩線段起點終點坐標。在線求解答
我可以給你思路:
先判斷是否相交,相交則距離為0;
若不相交,則最短距離必然某兩個端點間的距離,求出線段1起點、終點到線段2起點、終點的距離,挑出4個值中最小的即是。
註:判斷是否相交,網上有很多代碼,隨便google一下
如果你會寫c語言代碼,我相信你自己能夠辦到了
Ⅱ C語言編程題 在X軸上給你一些線段,問被這些線段覆蓋的區間長。
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#defineN10000
typedefstruct{
inthead;
intnail;
}NODE;
NODEa[N];
intn;
intcmp(constvoid*a,constvoid*b){
return((NODE*)a)->head-((NODE*)b)->head;
}
intmain()
{
scanf("%d",&n);
while(n!=0){
inti;
for(i=0;i<n;i++)
scanf("%d%d",&a[i].head,&a[i].nail);
qsort(a,n,sizeof(a[0]),cmp);
for(i=0;i<n-1;i++){
while(a[i].nail>a[i+1].head){
if(a[i].nail>a[i+1].nail){
a[i+1].head=a[i].head,a[i+1].nail=a[i].nail;
//a[i].nail=a[i].head;
}else{
a[i+1].head=a[i].head;
}
a[i].nail=a[i].head;
i++;
}
}
intsum=0;
for(i=0;i<n;i++)sum+=a[i].nail-a[i].head;
printf("%d ",sum);
scanf("%d",&n);
}
return0;
}
這樣就可以了
Ⅲ 怎樣用C++編程實現線段的移動
發代碼太多了,給你講下思路吧
首先:獲得線段的兩個坐標點沒有問題吧
然後:點滑鼠左鍵獲得一個滑鼠點
在:MOSEMOVE移動則可以算出偏移量
最後:把線段2個坐標點+上偏移量重新繪制出新的線段就行了
希望能給你幫助,看不懂的話加我好友給你講講
Ⅳ 怎樣用編程貓來創造出一個線段在旋轉,提前是有一個固定點。
我不會scratch 2的語法...但我可以提供你一個思路。
你可以假設線段的一個端點為平面直角坐標系的一個原點,設旋轉角度為a,線段長度為l,那麼另一個端點的坐標就是(l*cos(a),l*sin(a)),換算原來的坐標系的話,旋轉端點的坐標加上不動點的坐標就可以了。
Ⅳ 編程 輸入三條線段長度,判定他們是否能夠成三角形,如果能,輸出他們所構成三角形的名稱等邊 等腰直角 任
可以啦,你看看
#include<stdio.h>
main ()
{
double a,b,c,m,n,l;
scanf("%lf%lf%lf",&a,&b,&c);
m=a*a;
n=b*b;
l=c*c;
if((a+c)>b&&(a+b)>c&&(b+c)>a)
if(a==b&&b==c&&a==c) printf("等邊三角形");
else if((a==b)||(a==c)||(b==c)) printf("等腰三角形");
else if(((m+n)==l)||((m+l)==n)||(n+l)==m) printf("直角三角形");
else printf("任意三角形");
}
Ⅵ 如何在 MT4編程在主圖上畫線段,並取值
直接用十字線就可以啊,用滑鼠一拖拽就會顯示K線數量和漲幅
Ⅶ java編程:輸入5個線段的邊長,列出所有能組成三角形的線段的邊長,同時給出其組成三角形的面積
三條線段要想組成三角形,必須滿足任意兩邊之和大於第三邊,任意兩邊之差小於第三邊,5條線段取3種共有10種組合,逐一判斷滿足條件的留下,不滿足的舍掉,再利用海倫公式,s=√p*(p-a)*(p-b)*(p-c)可得面積,其中abc是三邊長,p=1/2(a+b+c)。
Ⅷ CADlisp編程:如何用lisp處理一個dwg圖形中的多個多線段
方案一:直接讀取dwg格式文件有點難度,估計高手會做
方案二:若是文件有很多要做的話,可以用C#,C++,VB通過COM去開發,用COM方式依次打開dwg圖檔,然後遍歷圖元來進行你的要求來運算
方案三:若是文件有很多要做的話,也可以用AutoLisp來做,自動打開你的文件列表,然後遍歷圖元來進行你的要求來運算
方案四:若是文件不是很多的話,也可以手動打開dwg文件,然後編寫lisp函數遍歷圖元來進行你的要求來運算
Ⅸ lisp編程: 怎樣查看一個多線段是不是閉合的
(setq #k1 (entget &k1));&k1為對象,取得屬性列表
(setq %k1 (cdr (assoc 70 #k1));%k1為是否封閉值1為封閉,0為不封閉
(setq %k2 (cdr (assoc 62 #k1));如果值為nil,就表示顏色為 ByLayer顏色,如果有數值就表示別的顏色。
如果要檢查數值的話,使用(princ #k1)就可以在AutoCAD命令行查看屬性列表了。
Ⅹ 編程判斷圓與線段是否相交。
對於每個圓,計算圓心和線段的距離,當大於半徑時,和圓相離,小於半徑時,和圓相交,等於半徑時,和圓相切。