[問題] 利用C處理圖形

看板C_and_CPP (C/C++)作者 (綠茶咖啡)時間16年前 (2010/01/13 00:15), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/2 (看更多)
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 如何將圖形旋轉45度 希望得到的正確結果: 在dos下 pixel值超過128者印"*" (星號) 低於者印" " (空白) 如此可得一張黑白圖片 將此圖片旋轉45度 程式跑出來的錯誤結果: demo程式跑出來的圖片邊角被切掉了... 應該是陣列不夠大的原因 但是...現在原po連怎麼旋轉圖片都沒多少頭緒>"<~~ 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) Dev-c++ windows 有問題的code: (請善用置底文標色功能) 補充說明: 大致想法是 圖形存作二維陣列 將列數當成y座標 行數當作x座標 可得一象限 找出斜率1的所有直線方程式 然後把這條直線轉轉轉轉轉..... 比如要把一張正方形圖片的最左下角轉到最上面(即向右旋轉45度) 最左下角那個點可以決定一條斜率1的直線方程 然後new一張邊長為 原圖邊長*根號(2) 的二維陣列 把最左下角那個點print到新二維陣列的最上面一列的最中間 .......... 嗯...這只是個利用高中學過的解析幾何想出的方法.. 行不通的可能性很高 所以就到這請問各位大大了@@ 要怎麼把圖形旋轉45度呢...Orz[怨念] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.221.55

01/13 00:37, , 1F
請翻高中課本...圖形矩陣直接乘以某個"矩陣"就是你要的
01/13 00:37, 1F

01/13 00:45, , 2F
感覺不像45度..我誤會了?新矩陣應該邊長為原邊長*2-1吧
01/13 00:45, 2F

01/13 19:46, , 3F
原圖是512階的矩陣..512階的旋轉矩陣是..囧?
01/13 19:46, 3F

01/13 19:47, , 4F
旋轉45度 原圖對角線變成新矩陣的邊長..呃 不對嗎=_=!?
01/13 19:47, 4F

01/13 20:14, , 5F
咦 仔細想想 新矩陣跟原矩陣好像一樣大.."點"一樣多@@?
01/13 20:14, 5F
文章代碼(AID): #1BJA0Y5J (C_and_CPP)
文章代碼(AID): #1BJA0Y5J (C_and_CPP)