畫圖板演算法
❶ 繪圖軟體的編程原理是什麼
讓我大膽些猜
最起碼先擺脫GDI,進入DriectDraw,而實際上PS用了多種緩沖方式,說白了,連你用的API人家都重寫過了.這一點可從MAC-PC移植的事件來判斷.即使沒有Windows人家也能幹活,現在只不過採用Win的一些輸出方式而已,你過去的編程知識現在只能作為基礎知識了,呵呵.
如果你想研究一個東西,我建議你採用3D游戲的引擎來做用戶界面(2D界面,3D引擎),當用戶確認操作後,在後台按操作處理圖片,然後再返回界面,目前還沒人這么做,呵呵,可能是貼圖尺寸問題吧,通常在4096*4096.應該可以拼圖的.我覺得這個可以把現有顯卡的一些特性發揮出來,比如超快的變形,光照等效果.
有結果先發給我一個:)
❷ 鈑金展開圖計算方法
展開的計演算法
板料在彎曲過程中外層受到拉應力,內層受到壓應力,從拉到壓之間有一既不受拉力又不受壓力的過渡層--中性層,中性層在彎曲過程中的長度和彎曲前一樣,保持不變,所以中性層是計算彎曲件展開長度的基準.中性層位置與變形程度有關, 當彎曲半徑較大,折彎角度較小時,變形程度較小,中性層位置靠近板料厚度的中心處,當彎曲半徑變小, 折彎角度增大時,變形程度隨之增大,中性層位置逐漸向彎曲中心的內側移動.中性層到板料內側的距離用λ表示.
展開的基本公式:
展開長度=料內+料內+補償量
一般折彎:(R=0, θ=90°)
L=A+B+K
1. 當0T0.3時, K=0
2. 對於鐵材:(如GI,SGCC,SECC,CRS,SPTE, SUS等)
a. 當0.3T1.5時, K=0.4T
b. 當1.5T2.5時, K=0.35T
c. 當 T2.5時, K=0.3T
3. 對於其它有色金屬材料如AL,CU:
當 T0.3時, K=0.5T
注: R2.0時, 按R=0處理.
一般折彎 (R≠0 θ=90°)
L=A+B+K
K值取中性層弧長
1. 當T1.5 時 λ=0.5T
2. 當T1.5時 λ=0.4T
一般折彎 (R=0 θ≠90°)
L=A+B+K』
1. 當T0.3 時 K』=0
2. 當T0.3時 K』=(/90)*K
注: K為90∘時的補償量
一般折彎 (R≠0 θ≠90°)
L=A+B+K
1. 當T1.5 時 λ=0.5T
2. 當T1.5時 λ=0.4T
K值取中性層弧長
注: 當R2.0, 且用折刀加工時, 則按R=0來計算, A、B依倒零角後的直邊長度取值
Z折1(直邊段差).
1. 當H5T時, 分兩次成型時,按兩個90°折彎計算
2. 當H5T時, 一次成型, L=A+B+K
K值依附件中參數取值
Z折2(非平行直邊段差).
展開方法與平行直邊Z折方法相同(如上欄),高度H取值見圖示
Z折3(斜邊段差).
1. 當H2T時
當θ≤70∘時,按Z折1(直邊段差)的方式計算, 即: 展開長度=展開前總長度+K (此時K=0.2)
當θ>70∘時完全按Z折1(直邊段差)的方式計算
2. 當H2T時, 按兩段折彎展開(R=0 θ≠90°).
Z折4(過渡段為兩圓弧相切):
1. H≤2T 段差過渡處為非直線段為兩圓弧相切展開時,則取兩圓弧相切點處作垂線,以保證固定邊尺寸偏移以一個料厚處理,然後按Z折1(直邊段差)方式展開
2. H>2T,請示後再行處理
抽孔
抽孔尺寸計算原理為體積不變原理,即抽孔前後材料體積不變;一般抽孔 ,按下列公式計算, 式中參數見右圖 (設預沖孔為X, 並加上修正系數–0.1):
1. 若抽孔為抽牙孔(抽孔後攻牙), 則S按下列原則取值:
T≤0.5時取S=100%T
0.5<T<0.8時取S=70%T
T≥0.8時取S=65%T
一般常見抽牙預沖孔按附件一取值
2. 若抽孔用來鉚合, 則取S=50%T, H=T+T』+0.4 (注: T』是與之相鉚合的板厚, 抽孔與色拉孔之間隙為單邊0.10~0.15)
3. 若原圖中抽孔未作任何標識與標注, 則保證抽孔後內外徑尺寸;
4. 當預沖孔徑計算值小於1.0時, 一律取1.0
反折壓平
L= A+B-0.4T
1. 壓平的時候,可視實際的情況考慮是否在折彎前壓線,壓線位置為折彎變形區中部;
2. 反折壓平一般分兩步進行
V折30°
反折壓平
故在作展開圖折彎線時, 須按30°折彎線畫, 如圖所示:
N折
1. 當N折加工方式為墊片反折壓平, 則按 L=A+B+K 計算, K值依附件中參數取值.
2. 當N折以其它方式加工時, 展開演算法參見 「一般折彎(R≠0 θ≠90°)」
3. 如果折彎處為直邊(H段),則按兩次折彎成形計算:L=A+B+H+2K (K=90∘展開系數)
備注:
a.標注公差的尺寸設計值:取上下極限尺寸的中間值作設計標准值.
b.對於方形抽孔和外部包角的展開,其角部的處理方法參照<產品展開工藝處理標准>,其直壁部分按90°折彎展開
❸ 如何用畫圖計算器算定積分
現在世面上能夠計算微積分的計算器,都採用的數值計算的方式,即在計算器的顯示精度范圍內利用牛頓迭代法等演算法,將微積分的計算轉換成加減乘除乘方等初等運算。
❹ 微軟操作系統:自帶的畫圖工具填充是用什麼演算法實現的
基於掃描線的洪水填充演算法
洪水填充演算法 慢在需要檢查周邊4個點,而如果帶上方向,則剛處理過的點是不需要再判斷的了
如果維持演算法的一致,那麼步長可以增加到 3
如果採用多線程處理,則每個線程只處理一根掃描線,且只檢查前進方向的一個點
❺ windows 畫圖軟體筆跡如何繪制的很流暢,GDI+實現,使用的什麼演算法
雙緩沖等。
❻ 畫圖並解釋x演算法一個即可
可以用,導函數為:1/x+2>0,函數為增函數,其實不用求導,這個函數也能看出是增函數的,求導是通用的一種方法。當x趨於0的時候,lnx為-無窮大,函數值也是負無窮大,而且函數是增函數,所以只要一個零點
❼ 誰能給我一個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 了,代碼沒試過,不知道行不行,你自己試試
❽ 數據結構和演算法畫圖用什麼畫圖工具比較好
可以使用 Microsoft Visio 2010
❾ 有沒有一款軟體能把自己寫的演算法用那種想老師上課時畫圖一樣表示出來的
用這個軟體:Powerpoint.
❿ C# winform實現windows7 畫圖板 部分功能
命名空間:System.Drawing
程序集:System.Drawing(在 system.drawing.dll 中)
封裝一個 GDI+ 繪圖圖面。無法繼承此類。
C# 用法
public sealed class Graphics : MarshalByRefObject, IDeviceContext, IDisposable
System.Drawing.Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Red);//畫筆
System.Drawing.SolidBrush myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Red);//畫刷
System.Drawing.Graphics formGraphics = this.CreateGraphics();
formGraphics.FillEllipse(myBrush, new Rectangle(0,0,100,200));//畫實心橢圓
formGraphics.DrawEllipse(myPen, new Rectangle(0,0,100,200));//空心圓
formGraphics.FillRectangle(myBrush, new Rectangle(0,0,100,200));//畫實心方
formGraphics.DrawRectangle(myPen, new Rectangle(0,0,100,200));//空心矩形
formGraphics.DrawLine(myPen, 0, 0, 200, 200);//畫線
formGraphics.DrawPie(myPen,90,80,140,40,120,100); //畫餡餅圖形 //畫多邊形
formGraphics.DrawPolygon(myPen,new Point[]{ new Point(30,140), new Point(270,250), new Point(110,240), new Point (200,170), new Point(70,350), new Point(50,200)}); //清理使用的資源
myPen.Dispose();
myBrush.Dispose();
formGraphics.Dispose();
使用Graphics對象繪制線條和形狀、呈現文本或顯示與操作圖像,所用到的屬性和方法如表所示。
graphics方法-屬性
名稱
說明
Clip 獲取或設置 Region,該對象限定此 Graphics 的繪圖區域。
ClipBounds 獲取一個 RectangleF 結構,該結構限定此 Graphics 的剪輯區域。
CompositingMode 獲取一個值,該值指定如何將合成圖像繪制到此 Graphics。
CompositingQuality
獲取或設置繪制到此 Graphics 的合成圖像的呈現質量。
DpiX 獲取此 Graphics 的水平解析度。
DpiY 獲取此 Graphics 的垂直解析度。
InterpolationMode 獲取或設置與此 Graphics 關聯的插補模式。
IsClipEmpty 獲取一個值,該值指示此 Graphics 的剪輯區域是否為空。
IsVisibleClipEmpty 獲取一個值,該值指示此 Graphics 的可見剪輯區域是否為空。
PageScale 獲取或設置此 Graphics 的全局單位和頁單位之間的比例。
PageUnit 獲取或設置用於此 Graphics 中的頁坐標的度量單位。
PixelOffsetMode 獲取或設置一個值,該值指定在呈現此 Graphics 的過程中像素如何偏移。
RenderingOrigin 為抵色處理和陰影畫筆獲取或設置此Graphics 的呈現原點。
SmoothingMode 獲取或設置此 Graphics 的呈現質量。
TextContrast 獲取或設置呈現文本的灰度校正值。
TextRenderingHint 獲取或設置與此 Graphics 關聯的文本的呈現模式。
Transform
獲取或設置此Graphics 的世界變換。
VisibleClipBounds 獲取此 Graphics 的可見剪輯區域的邊框。
graphics方法-方法
名稱
說明
AddMetafileComment
向當前 Metafile 添加註釋。
BeginContainer
保存具有此 Graphics 的當前狀態的圖形容器,然後打開並使用新的圖形容器。可重載。
Clear
清除整個繪圖面並以指定背景色填充。
CopyFromScreen
執行顏色數據從屏幕到 Graphics 的繪圖圖面的位塊傳輸。可重載。
CreateObjRef
創建一個對象,該對象包含生成用於與遠程對象進行通信的代理所需的全部相關信息。 (從 MarshalByRefObject 繼承。)
Dispose
釋放由Graphics使用的所有資源。
DrawArc
繪制一段弧線,它表示由一對坐標、寬度和高度指定的橢圓部分。可重載。
DrawBezier
繪制由4個Point 結構定義的貝塞爾樣條。可重載。
DrawBeziers
用 Point 結構數組繪制一系列貝塞爾樣條。可重載。
DrawClosedCurve
繪制由 Point 結構的數組定義的閉合基數樣條。可重載。
DrawCurve
繪制經過一組指定的 Point 結構的基數樣條。可重載。
DrawEllipse
繪制一個由邊框(該邊框由一對坐標、高度和寬度指定)定義的橢圓。可重載。
DrawIcon
在指定坐標處繪制由指定的 Icon 表示的圖像。可重載。
DrawIconUnstretched
繪制指定的 Icon 表示的圖像,而不縮放該圖像。
DrawImage
在指定位置並且按原始大小繪制指定的 Image。可重載。
DrawImageUnscaled
在由坐標對指定的位置,使用圖像的原始物理大小繪制指定的圖像。可重載。
DrawImageUnscaled AndClipped
在不進行縮放的情況下繪制指定的圖像,並在需要時剪輯該圖像以適合指定的矩形。
DrawLine
可重載。繪制一條連接由坐標對指定的兩個點的線條。
DrawLines
可重載。繪制一系列連接一組Point結構的線段。
DrawPath
繪制GraphicsPath。
DrawPie
可重載。繪制一個扇形,該形狀由一個坐標對、寬度、高度以及兩條射線所指定的橢圓定義。
DrawPolygon
可重載。繪制由一組 Point 結構定義的多邊形。
DrawRectangle
可重載。繪制由坐標對、寬度和高度指定的矩形。
DrawRectangles
繪制一系列由 Rectangle 結構指定的矩形。可重載。
DrawString
在指定位置並且用指定的Brush 和Font對象繪制指定的文本字元串。可重載。
EndContainer
關閉當前圖形容器,並將此Graphics的狀態還原到通過調用BeginContainer方法保存的狀態。
EnumerateMetafile
將指定Metafile中的記錄逐個發送到回調方法以在指定的點處顯示。可重載。
Equals
已重載。 確定兩個 Object 實例是否相等。 (從 Object 繼承。)
ExcludeClip
更新此Graphics的剪輯區域,以排除Rectangle結構所指定的區域。可重載。
FillClosedCurve
填充由 Point 結構數組定義的閉合基數樣條曲線的內部。可重載。
FillEllipse
填充邊框所定義的橢圓的內部,該邊框由一對坐標、一個寬度和一個高度指定。可重載。
FillPath
填充 GraphicsPath 的內部。
FillPie
填充由一對坐標、一個寬度、一個高度以及兩條射線指定的橢圓所定義的扇形區的內部。可重載。
FillPolygon
可重載。 填充 Point 結構指定的點數組所定義的多邊形的內部。
FillRectangle
填充由一對坐標、一個寬度和一個高度指定的矩形的內部。可重載。
FillRectangles
填充由 Rectangle 結構指定的一系列矩形的內部。可重載。
FillRegion
填充Region的內部。
Flush
強制執行所有掛起的圖形操作並立即返回而不等待操作完成。可重載。
FromHdc
從設備上下文的指定句柄創建新的Graphics。可重載。
FromHdcInternal
返回指定設備上下文的Graphics。
FromHwnd
從窗口的指定句柄創建新的Graphics。
FromHwndInternal
創建指定 Windows 句柄的新Graphics。
FromImage
從指定的Image創建新的Graphics。
GetHalftonePalette
獲取當前Windows的半色調調色板的句柄。
GetHashCode
用作特定類型的哈希函數。GetHashCode 適合在哈希演算法和數據結構(如哈希表)中使用。 (從 Object 繼承。)
GetHdc
獲取與此Graphics關聯的設備上下文的句柄。
GetLifetimeService
檢索控制此實例的生存期策略的當前生存期服務對象。 (從 MarshalByRefObject 繼承。)
GetNearestColor
獲取與指定的Color結構最接近的顏色。
GetType
獲取當前實例的 Type。 (從 Object 繼承。)
InitializeLifetimeService 獲取控制此實例的生存期策略的生存期服務對象。 (從 MarshalByRefObject 繼承。)
IntersectClip
將此Graphics的剪輯區域更新為當前剪輯區域與指定 Rectangle 結構的交集。可重載。
IsVisible
指示由一對坐標指定的點是否包含在此 Graphics 的可見剪輯區域內。可重載。
MeasureCharacterRanges
獲取Region對象的數組,其中每個對象將字元位置的范圍限定在指定字元串內。
MeasureString
測量用指定的 Font 繪制的指定字元串。可重載。
MultiplyTransform
將此 Graphics 的世界變換乘以指定的 Matrix。可重載。
ReferenceEquals
確定指定的 Object 實例是否是相同的實例。 (從 Object 繼承。)
ReleaseHdc
釋放通過以前對此 Graphics 的 GetHdc 方法的調用獲得的設備上下文句柄。可重載。
ReleaseHdcInternal
釋放設備上下文的句柄。
ResetClip
將此 Graphics 的剪輯區域重置為無限區域。
ResetTransform
將此 Graphics 的世界變換矩陣重置為單位矩陣。
Restore
將此 Graphics 的狀態還原到 GraphicsState 表示的狀態。
RotateTransform
將指定旋轉應用於此 Graphics 的變換矩陣。可重載。
Save
保存此 Graphics 的當前狀態,並用 GraphicsState 標識保存的狀態。
ScaleTransform
將指定的縮放操作應用於此 Graphics 的變換矩陣,方法是將該對象的變換矩陣左乘該縮放矩陣。可重載。
SetClip
將此 Graphics 的剪輯區域設置為指定 Graphics 的 Clip 屬性。可重載。
ToString
返回表示當前 Object 的 String。 (從 Object 繼承。)
TransformPoints
使用此 Graphics 的當前世界變換和頁變換,將點數組從一個坐標空間轉換到另一個坐標空間。可重載。
TranslateClip
將此 Graphics 的剪輯區域沿水平方向和垂直方向平移指定的量。可重載。
TranslateTransform
通過使此Graphics的變換矩陣左乘指定的平移來更改坐標系統的原點。可重載。