當前位置:首頁 » 操作系統 » 畫圖演算法

畫圖演算法

發布時間: 2023-06-05 10:10:54

Ⅰ 目前在繪畫領域的三種代表性演算法

您好,茫茫人海之中,能為君排憂解難實屬朕的榮幸,在下拙見,若有錯誤,還望見諒!。展開全部
現代
特徵一:繪畫的表現形式從具象轉變為抽象或意象
特徵二:由再現客觀世界轉變為表現主觀世界
古代
和諧性
象徵性
靈動性
天趣性

特徵一:繪畫的表現形式從具象轉變為抽象或意象

現代主義繪畫與傳統繪畫相比有相當大的區別,以畢加索的《格爾尼卡》和德拉克洛瓦的《希奧島的屠殺》為例。前者是現代主義繪畫立體主義的代表作,後者是傳統繪畫浪漫主義的精典作品,兩幅繪畫同樣都是表現戰爭題材,但是從作品的表現形式來看,卻是大相徑庭。《希奧島的屠殺》運用了明暗造型的方法,真實地刻畫了耀武揚威的侵略者和倒在血泊中絕望掙扎的孤立無助的受壓迫者的殘狀,是具象的畫面

特徵二:由再現客觀世界轉變為表現主觀世界

格爾尼卡》正是以象徵性的手法、變形的形體和灰暗的色調,表現了戰爭的罪惡和災難的悲劇。畫面中牛頭是法西斯殘暴的象徵,肢離破碎的人體是人民殘遭迫害的殘狀,畫面上方的燈泡一樣的眼睛則是對法西斯暴行的揭露。那變形的形體相互交錯、拼貼組成了一種混亂的視覺效果和殘暴恐怖的氣氛,而這正是戰爭在畢加索腦海中的一種主觀反映,畢加索正是通過這些極度誇張、變形的圖式,表達了他對德國法西斯暴行的強烈仇恨。由此可見,現代主義繪畫的特徵之二,就是從傳統繪畫的再現客觀世界轉變為表現主觀世界。而這一點正與中國寫意畫的特點不謀而合,畫家不再以畫得與客觀世界逼真肖似為目的,而是以被描繪的對象為媒介,表現自己的情感、觀念、思想等主觀世界,將客觀對象按照主觀意圖進行變形或抽象化處理。非常感謝您的耐心觀看,如有幫助請採納,祝生活愉快!謝謝!

Ⅱ 微軟操作系統:自帶的畫圖工具填充是用什麼演算法實現的

基於掃描線的洪水填充演算法
洪水填充演算法 慢在需要檢查周邊4個點,而如果帶上方向,則剛處理過的點是不需要再判斷的了
如果維持演算法的一致,那麼步長可以增加到 3

如果採用多線程處理,則每個線程只處理一根掃描線,且只檢查前進方向的一個點

Ⅲ 誰能給我一個openGL的畫圖演算法。要直接能夠跑起來。能有對代碼說明文字,就更好了。謝謝了。

//設置視區尺寸,Width,Height分別是屏幕寬高,這個設相當於和系統說說
//從0,0到你所設寬高的這片屏幕是我的了
glViewport( 0, 0, Width, Height);
// 重置坐標系統,使投影變換復位,這個我也不太明白,但這個一定要有
glMatrixMode(GL_PROJECTION);
//該函數的功能是重置當前指定的矩陣為單位矩陣,在你要修改要顯示的東西之前一定要這樣做,不然你會修改不了
glLoadIdentity();

//建立投影,下邊的參數就等於說分別把,X,Y,Z軸分成100等份
glOrthof(0.0,100.0, 0.0,100.0, 0.0,100.0);
//指定這個矩陣為當前矩陣,就是說我現在就是要顯示的東西就是這些
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
//設置刷屏色,四個參數分別的R G B A
glClearColor(0.0,0.0,0.0,0.0);
//刷屏,用剛才所設的色
glClear(GL_COLOR_BUFFER_BIT);

//好了,要畫東西了,剛才所有的一切准備就是要告訴系統你現在要畫東西了

glBegin(GL_TRIANGLES); // 繪制三角形
glVertex3f( 0.0f, 25.0f, 0.0f); // 上頂點
glVertex3f(-25.0f,-25.0f, 0.0f); // 左下
glVertex3f( 25.0f,-25.0f, 0.0f); // 右下
glEnd(); // 三角形繪制結束

我現在是從事寫opengl es的,很久沒寫opengl 了,代碼沒試過,不知道行不行,你自己試試

Ⅳ 會用C語言畫圖的(圓)Bresenham演算法的高手幫忙看下!

//包含頭文件這個不用我說了吧
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<graphics.h>
//交換a,b的值函數
void Swap(int *a,int *b);
//Bresenhen畫園函數,圓心坐標(centerx,centery)半徑radius線條顏色color
void BresenhemCircle(int centerx, int centery, int radius, int color, int type);
void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同樣效果 */
registerbgidriver(EGAVGA_driver);/* 注冊BGI驅動後可以不需要.BGI文件的支持運行 */
initgraph(&gd, &gm, "");//初始化圖形,必須寫的
setbkcolor(WHITE);//設置背景顏色
}

int main(void)
{
int centerx,centery,radius,color,type;//變數定義總該知道的吧
printf("centerx,centery\n");//輸出提示信息,這個總該知道的吧
scanf("%d",¢erx);//輸入中心坐標橫坐標
scanf("%d",¢ery);//
printf("radius\n");
scanf("%d",&radius);
printf("color,type\n");
scanf("%d",&color);
scanf("%d",&type);
initgr(); /*BGI初始化 */
BresenhemCircle(centerx,centery,radius,color,type);//重點理解這個函數
/*setcolor(RED);
circle(centerx, centery,radius);*/
/*Swap(&xs,&xe);
printf("%d,%d",xs,xe); */
getch();
closegraph();
}

void BresenhemCircle(int centerx, int centery, int radius, int color, int type)
{
int x =type= 0;//這些賦值語句應該能夠看懂的吧
int y = radius;
int delta = 2*(1-radius);
int direction;
while (y >= 0) {//循環,如果y>=0就繼續執行{}裡面的語句
if (!type) { //!type表示如果type=0就執行{}裡面的語句
putpixel(centerx+x, centery+y, color);
//前面兩個參數是坐標,後面一個是顏色值,在(centerx+x, centery+y)畫一個點
putpixel(centerx-x, centery+y, color);
putpixel(centerx-x, centery-y, color);
putpixel(centerx+x, centery-y, color);
}
else {//如果type=1就執行下面的
line(centerx+x, centery+y, centerx+x, centery-y);
line(centerx-x, centery+y, centerx-x, centery-y);
}
if (delta < 0) {//這個類似上面的,只不過這個嵌套了一層if-else if-else
if ((2*(delta+y)-1) < 0) {
direction = 1;
}
else {
direction = 2;
}
}
else if(delta > 0) {
if ((2*(delta-x)-1) <= 0) {
direction = 2;
}
else {
direction = 3;
}
}
else {
direction=2;
}

switch(direction) {//選擇如果direction=1執行case 1:到case 2:直接的語句,如果沒有break那麼case 2:下面的語句也會被執行
case 1:
x++;
delta += (2*x+1);
break;
case 2:
x++;
y--;
delta += 2*(x-y+1);
break;
case 3:
y--;
delta += (-2*y+1);
break;
}

}
}

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:627
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:356
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:73
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:297
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:787
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:337
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:202
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:800
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:356
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:582