當前位置:首頁 » 編程軟體 » 矢量c編程

矢量c編程

發布時間: 2022-04-14 06:31:47

⑴ 求c語言編程

哦。難度不大,PS 本人數學還可以啦。哈哈,就是逆時針旋轉後,3個坐標點已經超出了屏幕的顯示範圍:
我給樓主詳細解釋下吧:
大學線性代數里有坐標系統轉換的。有了這個公式剩下的就是C繪圖了。
知識點1:平面上一點X1,Y1,繞一點P(x0,y0)旋轉任意角度A後,新坐標(X2,Y2)的計算公式入下:
x2=(y1-y0)*sina°+(x1-x0)*cosa°
y2=(y1-y0)*cosa°-(x1-x0)*sina°
知識點2:如果C語言繪圖模式無法顯示你的坐標。屏幕做左上角是0,0,那麼你可以講你的坐標系移動到一個相對位置,這個就是moverel(x,y)函數。
我的代碼移動了200,200,這樣你旋轉後的新三角形式可以顯示的。
知識點3:sin函數和cos函數的應用。裡面的參數要把角度換成弧度制
角度*3.1415926/180
花了點時間給你寫了一個,代碼敲的辛苦啊。很多年不用C了。
代碼如下:
#include<graphics.h>
#include<math.h>
#define PI 3.1415926

void changZuoBiao(double x1,double y1,double px,double py,double angle,double a[2])
{
a[0]=(y1-py)*sin((double)(angle*PI/180.0))+(x1-px)*cos((double)(angle*PI/180.0));
a[1]=(y1-py)*cos((double)(angle*PI/180.0))-(x1-px)*sin((double)(angle*PI/180.0));
}

void main()
{
double aNew[2],bNew[2],cNew[2];/*¡ä?¡¤?D?¦Ì?¡Áa??o¨®¦Ì?¡Á?¡À¨º*/
double angle=-90;
int DetaX=200;

int driver,mode;
int i;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,"");
setcolor(2);
line(50+DetaX,50+DetaX,100+DetaX,50+DetaX);
line(50+DetaX,50+DetaX,50+DetaX,70+DetaX);
line(100+DetaX,50+DetaX,50+DetaX,70+DetaX);

changZuoBiao(50,50,20,30,angle,aNew);
changZuoBiao(50,70,20,30,angle,bNew);
changZuoBiao(100,50,20,30,angle,cNew);

line(aNew[0]+DetaX,aNew[1]+DetaX,bNew[0]+DetaX,bNew[1]+DetaX);
line(aNew[0]+DetaX,aNew[1]+DetaX,cNew[0]+DetaX,cNew[1]+DetaX);
line(bNew[0]+DetaX,bNew[1]+DetaX,cNew[0]+DetaX,cNew[1]+DetaX);

getch();
getch();
getch();
getch();
restorecrtmode();
}
代碼的思路很清晰:
changZuoBiao(x1,y1,x2,y2,angle,a[2])
{
}
就是把x1,y1這一點繞x2,y2,旋轉angle角度後的新坐標放在a[0]和a[1]中.

Dev-C++,TC2.0編譯通過。
全屏模式不方便截圖:圖略

詳細問題可以繼續向我咨詢。
代碼敲的辛苦,樓主早日結題。祝福樓主好運!

⑵ 在C++中,矢量類和普通類有什麼區別,有什麼作用

字面上意思,矢量類(vector) 是向量,普通類 是標量。
數學物理知識告訴我們 向量 有大小,有方向(例如力,速度),標量 有大小,無方向(例如 溫度,時間)。
c++ vector類是以數組為基礎的的容器,提供具有連續內存地址的數據結構,可通過下標運算符[ ]直接有效地訪問矢量的任何元素。與數組不同,vector的內存用盡時,vector自動分配更大的連續內存區,將原先的元素復制到新的內存區,並釋放舊的內存區。
普通類指 非 vector類,也不是 列表(list)和雙端隊列(deque)這些容器,而是平常我們慣用的 數組,結構,聯合體 等等。例如 數組可以 用 malloc 動態分配大小,可以用realloc 動態擴充 或 減少存放單元大小,這需要程序員自己照料操作。
矢量類有自己所支持的迭代子類型,vector支持隨機訪問迭代子。
普通類 屬於 c 語言,矢量類 屬於 c++ 語言。c 的東西可以用於 c++。c++ 的東西不能用於 c。

⑶ 求大神幫忙寫一個矢量加法的c語言程序。

一個向量用(x1,y1)表示,另外一個用(x2,y2)表示,和向量是(x1+y1,x2+y2)
如果你說已知兩個向量的模和夾角,可以用餘弦定理算和向量的長度,方向也可以通過正弦定理,餘弦定理算,編程就不說了,太菜了。。。

⑷ C語言如何調用adobe illustrator的矢量圖形

你需要有一個分析ullustrator文件的庫函數,這個函數本身來說是自己開發的,也可以從現有的庫裡面尋找一下,不過難度比較大,現有的庫大部分都是游戲的一部分,從不對外公開的。裡面主要是對數據獲取的獲取,然後載入到程序中,庫裡麵包含了對數據的分析和提取。希望你能找到這樣的庫。

⑸ C++怎樣定義一個矢量類CVector

我隨便添了點,不知道是不是這樣的方式。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<malloc.h>
#include<iostream>
#include<vector>
using namespace std;

class CVector {
private:
float* p_val;
int size;
public:
CVector()
{
size=2345;
p_val=NULL;
}
CVector(int s)
{
size=s;
p_val=(float*)malloc(sizeof(float)*size);
memset(p_val,0,sizeof(float)*size);
}
CVector(const CVector &v)
{

p_val=(float*)malloc(sizeof(float)*v.size);

size=v.size;
for (int i=0;i<size;i++)
p_val[i]=v.p_val[i];
}
~CVector()
{
free(p_val);
}
CVector& operator = (const CVector &v) //賦值運算符重載
{

if (v.size>this->size)
this->p_val=(float*)realloc(this->p_val,sizeof(float)*v.size);
this->size=v.size;
for (int i=0;i<this->size;i++)
this->p_val[i]=v.p_val[i];

return *this;
}
float& operator[] (int ix) //下標運算符重載
{
return this->p_val[ix];
}
};

int main()
{
int i,j,k;

CVector go(4);

CVector hi(45);

go=hi;

CVector cur(hi);

return 0;
}

⑹ 編程語言中,哪些數據類型是標量,哪些是矢量,為什麼呢

「常量」在程序運行時,不會被修改的量。換言之,常量雖然是為了硬體、軟體、編程語言服務,但是它並不是因為硬體、軟體、編程語言而引入。
常量區分為不同的類型,如25、0、-8為整形常量,6.8、-7.89為實型常量,『a』『b』為字元常量。常量一般從其字面形式即可判斷。這種常量稱為字面常量或直接常量。
變數來源於數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變數可以通過變數名訪問。在指令式語言中,變數通常是可變的;但在純函數式語言(如Haskell)中,變數可能是不可變(immutable)的。在一些語言中,變數可能被明確為是能表示可變狀態、具有存儲空間的抽象(如在Java和Visual Basic中);但另外一些語言可能使用其它概念(如C的對象)來指稱這種抽象,而不嚴格地定義「變數」的准確外延。

⑺ C語言求向量的矢量積、模、單位向量、還有判斷2個向量是否共線,在線等答案,醬油黨麻煩讓讓

//很簡單,你對照一下吧。。。#include <stdio.h>
#include <math.h>
void main()
{
int i,sum=0,p[3]={1,2,3},p1[3]={2,3,4},flag=1;
double model=0,model1=0,temp;
for(i=0;i<3;i++)
{sum+=p[i]*p1[i];
model+=p[i]*p[i];
model1+=p1[i]*p1[i];
}
model=sqrt(model);
model1=sqrt(model1);
printf("向量p,p1的積: %d\n",sum);
printf("p,p1的模為:%lf %lf\n",model,model1);
temp=p[0]/p1[0];
if((p[1]*1.0/p1[1]-temp>=1e-3) &&(p[2]*1.0/p1[2]-temp>=1e-3))
flag=0;
if(flag)
printf("兩向量共線!");
else
printf("不共線");

}

⑻ 請教: 如何利用C語言實現兩個矢量的相加,並獲得相加後的幅值和角度 謝謝!

lllg45d3 是騙子。。。。。
兩個網站都是亂七八糟的

⑼ 編寫一個C語言程序

#include <stdio.h>

void Add(int *a,int *b,int *c,int n)

{

int i;

for(i=0;i<n;++i)

{

c[i]=a[i]+b[i];

}

}

void Mult(int *a,int *b,int *c,int n)

{

int i;

for(i=0;i<n;++i)

{

c[i]=a[i]*b[i];

}

}

int main()

{

int n,*a,*b,*c,i;

printf("輸入矢量n:");

scanf("%d",&n);

a=(int *)malloc(sizeof(int)*n);

b=(int *)malloc(sizeof(int)*n);

c=(int *)malloc(sizeof(int)*n);

printf("輸入一位數組a:");

for(i=0;i<n;++i)

{

scanf("%d",a+i);

}

printf("輸入一位數組b:");

for(i=0;i<n;++i)

{

scanf("%d",b+i);

}

printf("一維矢量相加為:");

Add(a,b,c,n);

for(i=0;i<n;++i)

{

printf("%d ",*(c+i));

}

printf(" 一維矢量相乘為:");

Mult(a,b,c,n);

for(i=0;i<n;++i)

{

printf("%d ",*(c+i));

}

return 0;

}

親測

⑽ 430單片機中所有的C語言中斷矢量變數名,哪位高手可以給總結一下

這是IAR頭文件里的,你編程的時候就是按這個宏定義的名稱編的
/************************************************************
* Interrupt Vectors (offset from 0xFFE0)
************************************************************/

#define PORT2_VECTOR (1 * 2u) /* 0xFFE2 Port 2 */
#define USART1TX_VECTOR (2 * 2u) /* 0xFFE4 USART 1 Transmit */
#define USART1RX_VECTOR (3 * 2u) /* 0xFFE6 USART 1 Receive */
#define PORT1_VECTOR (4 * 2u) /* 0xFFE8 Port 1 */
#define TIMERA1_VECTOR (5 * 2u) /* 0xFFEA Timer A CC1-2, TA */
#define TIMERA0_VECTOR (6 * 2u) /* 0xFFEC Timer A CC0 */
#define ADC12_VECTOR (7 * 2u) /* 0xFFEE ADC */
#define USART0TX_VECTOR (8 * 2u) /* 0xFFF0 USART 0 Transmit */
#define USART0RX_VECTOR (9 * 2u) /* 0xFFF2 USART 0 Receive */
#define WDT_VECTOR (10 * 2u) /* 0xFFF4 Watchdog Timer */
#define COMPARATORA_VECTOR (11 * 2u) /* 0xFFF6 Comparator A */
#define TIMERB1_VECTOR (12 * 2u) /* 0xFFF8 Timer B CC1-6, TB */
#define TIMERB0_VECTOR (13 * 2u) /* 0xFFFA Timer B CC0 */
#define NMI_VECTOR (14 * 2u) /* 0xFFFC Non-maskable */
#define RESET_VECTOR (15 * 2u) /* 0xFFFE Reset [Highest Priority] */

#define UART1TX_VECTOR USART1TX_VECTOR
#define UART1RX_VECTOR USART1RX_VECTOR
#define UART0TX_VECTOR USART0TX_VECTOR
#define UART0RX_VECTOR USART0RX_VECTOR
#define ADC_VECTOR ADC12_VECTOR

熱點內容
海南省源碼 發布:2025-03-16 01:20:36 瀏覽:378
java程序員修煉之道 發布:2025-03-16 01:15:46 瀏覽:828
離子存儲 發布:2025-03-16 01:02:46 瀏覽:257
免費上傳雲盤 發布:2025-03-16 01:01:59 瀏覽:706
acm配置是什麼 發布:2025-03-16 00:56:56 瀏覽:647
安卓系統怎麼通話 發布:2025-03-16 00:25:13 瀏覽:320
資料庫上t 發布:2025-03-16 00:23:31 瀏覽:410
編譯程序實現的途徑 發布:2025-03-16 00:17:07 瀏覽:560
app編程入門 發布:2025-03-16 00:04:20 瀏覽:195
插接式資料庫 發布:2025-03-15 23:52:59 瀏覽:68