Microsoft Word - CGbyExcel4.doc



Similar documents
コンピュータ概論

Excel Excel Excel = Excel ( ) 1

B 5 (2) VBA R / B 5 ( ) / 34

SCORE−‹Šp‡Ì”è‹ø‡«Ver3

Excel Excel Excel = Excel III 7 ( ) 1

CW3_A1083D05.indd

本文/年次報告  67‐107

32号 701062/きじ1

10西宮市立中央病院/本文

北九州高専 志遠 第63号/表紙・表4

特別プログラム

Ł\”ƒ

報告書(第2回NGO‐JICA)/はじめに・目次

P-12 P P-14 P-15 P P-17 P-18 P-19 P-20 P-21 P-22

ニューガラス100/100目次

untitled

program08.pdf


D0020.PDF

取扱説明書[d-01G]

1

2 X Y Y X θ 1,θ 2,... Y = f (X,θ 1,θ 2,...) θ k III 8 ( ) 1 / 39

セゾン保険_PDF用.indd

ii

コンピュータ概論

2X Y Y X θ 1, θ 2,... Y = f(x, θ 1, θ 2,...) θ k III 8 ( ) 1 / 39

D0120.PDF

H8.6 P

橡Taro9-生徒の活動.PDF


untitled


,

iR-ADV C2230/C2220 製品カタログ

外為オンライン FX 取引 操作説明書

1 2

untitled

INDEX

INDEX


1002goody_bk_作業用

Microsoft Word - 課題1_2.doc

2

untitled


H1_H4_ ai


今日からはじめるプロアクティブ

制御盤BASIC Vol.3

altus_storage_guide

サイボウズ ガルーン 3 管理者マニュアル

P indd

85

1


1 2 STEP 1 STEP 2 STEP 3

1


untitled

本文/扉1

プログラム


Program


日本内科学会雑誌第96巻第11号

平成20年5月 協会創立50年の歩み 海の安全と環境保全を目指して 友國八郎 海上保安庁 長官 岩崎貞二 日本船主協会 会長 前川弘幸 JF全国漁業協同組合連合会 代表理事会長 服部郁弘 日本船長協会 会長 森本靖之 日本船舶機関士協会 会長 大内博文 航海訓練所 練習船船長 竹本孝弘 第二管区海上保安本部長 梅田宜弘

aphp37-11_プロ1/ky869543540410005590

Œ{Ł¶/1ŒÊ −ªfiª„¾ [ 1…y†[…W ]

D0050.PDF

DVIOUT-講

Microsoft Word - VBA基礎(3).docx

証券協会_p56

dx dt = f x,t ( ) t

PowerPoint プレゼンテーション

情報基礎A

1

Lesson 1 1 EXVBA2000 Lesson01 Lesson01.xls 2

平成15年 年末調整について

untitled

untitled


untitled


立ち読みページ

N88 BASIC 0.3 C: My Documents 0.6: 0.3: (R) (G) : enterreturn : (F) BA- SIC.bas 0.8: (V) 0.9: 0.5:

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

研究紀要 第5号

8.3 ( ) Intrinsic ( ) (1 ) V v i V {e 1,..., e n } V v V v = v 1 e v n e n = v i e i V V V V w i V {f 1,..., f n } V w 1

MQTT V3.1 プロトコル仕様

2005 DE-9PF-N DE-9SF-N DA-15PF-N DA-15SF-N DB-25PF-N DB-25SF-N DC-37PF-N DC-37SF-N DD-50PF-N DD-50SF-N DE-9PF-N DC-37PF-N DA-1

倉庫番

, ,279 w

untitled


AccessVBA−‹ŠpŁÒ-flO“Z

ケミカルエンジニアのためのExcelを用いた化学工学計算法


< C D928696CA5F E706466>

Gmech08.dvi

D0090.PDF

Transcription:

メディア処理演習 CG: 3 Excel 4 6. 6.2.xls 6.6 図 6.4 アルファブレンディング処理 6.6.1 0 1 0 1 ScanlineWithAlpha 1 '' Sub ScanlineWithAlpha(x0, y0, a0, x1, y1, a1, xmin, xmax, amin, amax) ' x y dx = x1 - x0 dy = y1 - y0 ' da = a1 - a0 ' 2 P0 ' If dx = 0 And dy = 0 Then xmin(ya) = x0 xmax(ya) = x0 amin(ya) = a0 ' dmin -> amin amax(ya) = a0 ' dmax -> amax Exit Sub ' x sx sx = 1 If dx < 0 Then dx = -dx sx = -sx ' y sy sy = 1 If dy < 0 Then dy = -dy sy = -sy ' ' dx2 = dx * 2 dy2 = dy * 2 ' m -1 m 1 If dx > dy Then dalpha = da / dx ' E = dy2 y = y0 alpha = a0 For x = x0 To x1 Step sx If x < xmin(y) Or xmin(y) = 0 Then xmin(y) = x amin(y) = alpha If x > xmax(y) Or xmax(y) = 0 Then

xmax(y) = x amax(y) = alpha C = C src src + C dst (1 src ) (6.8) If E < dx Then E = E + dy2 E = E + dy2 - dx2 y = y + sy C dst C src, α src alpha = alpha + dalpha Next x ' m m 1 dalpha = da / dy ' E = dx2 x = x0 alpha = a0 For y = y0 To y1 Step sy If x < xmin(y) Or xmin(y) = 0 Then xmin(y) = x amin(y) = alpha If x > xmax(y) Or xmax(y) = 0 Then xmax(y) = x amax(y) = alpha If E < dy Then E = E + dx2 E = E + dx2 - dy2 x = x + sx alpha = alpha + dalpha Next y ScanlinewithAlpha 6.6.2 図 6.5 不透明度を考慮したピクセル値の計算 DrawPixelWithAlpha ' Sub DrawPixelWithAlpha(x, y, alpha, sr, sg, sb) ' color_buffer color_buffer = ColorBufferSheetname + CStr(BackBufferID) ' dc dc = Worksheets(color_buffer).Cells(y, x).interior.color ' dc RGB ' dc = dr + dg * 256 + db * 256 * 256 dr = dc Mod 256 dg = Int(dc / 256) Mod 256 db = Int(dc / 65536) ' r = sr * alpha + dr * (1 - alpha) g = sg * alpha + dg * (1 - alpha) b = sb * alpha + db * (1 - alpha) ' Worksheets(color_buffer).Cells(y, x).interior.color = RGB(r, g, b) DrawPixelWithAlpha C = C src α src + C dst (1 α src ) DrawTriangleWithAlpha C dst C src src C 6.5 '' 2

Sub DrawTriangleWithAlpha(x0, y0, x1, y1, x2, y2, a, r, g, b) ' Dim xmin(256) As Integer Dim xmax(256) As Integer Scanline x0, y0, x1, y1, xmin, xmax Scanline x1, y1, x2, y2, xmin, xmax Scanline x2, y2, x0, y0, xmin, xmax ' ymin = WorksheetFunction.Min(y0, y1, y2) ymax = WorksheetFunction.Max(y0, y1, y2) For y = ymin To ymax For x = xmin(y) To xmax(y) DrawPixelWithAlpha x, y, a, r, g, b Next x Next y DrawTriangleWithAlpha ( 6.6) Main_DrawTetraHedron WithAlpha '' Sub Main_DrawTetrahedronWithAlpha() ' 2 BackBufferID = 2 color_buffer1 = ColorBufferSheetname + CStr(1) color_buffer2 = ColorBufferSheetname + CStr(2) depth_buffer = DepthBufferSheetname CreateFrameBuffer color_buffer1, 1, 11 CreateFrameBuffer color_buffer2, 1, 11 CreateFrameBuffer depth_buffer, 1, 11 =0.5=0.5 (a) 奥から赤 青の順で描画した場合 =0.5=0.5 (b) 奥から青 赤の順で描画した場合図 6.6 半透明三角形パッチの描画順序 50 20 ClearFrameBuffer color_buffer1 ClearFrameBuffer color_buffer2 ClearDepthBuffer depth_buffer ' Worksheets("Transformation").Range("C5").Value = Worksheets("Transformation").Range("D5").Value = ' Dim TriangleID(4) TriangleID(1) = 4 TriangleID(2) = 2 TriangleID(3) = 1 TriangleID(4) = 3 6.7 Excel 6.7.1 x 50 y 20 3 ' Dim alpha(4) alpha(1) = 0.8 alpha(2) = 0.6 alpha(3) = 0.7 alpha(4) = 0.9 ' For i = 1 To 4 Set Triangle = Range("Connections").Rows(TriangleID(i)) ' 1

index1 = Triangle.Cells(1, 1) x1 = Round(Range("ProjectedVertices").Cells(index1, 1)) y1 = Round(Range("ProjectedVertices").Cells(index1, 2)) ' 2 index2 = Triangle.Cells(1, 2) x2 = Round(Range("ProjectedVertices").Cells(index2, 1)) y2 = Round(Range("ProjectedVertices").Cells(index2, 2)) ' 3 index3 = Triangle.Cells(1, 3) x3 = Round(Range("ProjectedVertices").Cells(index3, 1)) y3 = Round(Range("ProjectedVertices").Cells(index3, 2)) ' r = Range("Colors").Cells(TriangleID(i), 1) g = Range("Colors").Cells(TriangleID(i), 2) b = Range("Colors").Cells(TriangleID(i), 3) ' a = alpha(triangleid(i)) r, g, b ' DrawTriangleWithAlpha x1, y1, x2, y2, x3, y3, a, ' DrawLine x1, y1, x2, y2, 0, 0, 0 DrawLine x2, y2, x3, y3, 0, 0, 0 DrawLine x3, y3, x1, y1, 0, 0, 0 Next Excel,, (2011 ) 4

課題 CG 6 25 17 6 6 ExcelCG CG 3.1.xls CG 5